diff options
Diffstat (limited to 'release/scripts/ui/space_text.py')
-rw-r--r-- | release/scripts/ui/space_text.py | 425 |
1 files changed, 225 insertions, 200 deletions
diff --git a/release/scripts/ui/space_text.py b/release/scripts/ui/space_text.py index 479f2b60f51..bd1514dbf77 100644 --- a/release/scripts/ui/space_text.py +++ b/release/scripts/ui/space_text.py @@ -1,266 +1,291 @@ - +# ##### BEGIN GPL LICENSE BLOCK ##### +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License +# as published by the Free Software Foundation; either version 2 +# of the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software Foundation, +# Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +# +# ##### END GPL LICENSE BLOCK ##### + +# <pep8 compliant> import bpy + class TEXT_HT_header(bpy.types.Header): - __space_type__ = 'TEXT_EDITOR' - - def draw(self, context): - layout = self.layout - - st = context.space_data - text = st.text - - row = layout.row(align=True) - row.template_header() - - if context.area.show_menus: - sub = row.row(align=True) - sub.itemM("TEXT_MT_text") - if text: - sub.itemM("TEXT_MT_edit") - sub.itemM("TEXT_MT_format") - - if text and text.modified: - row = layout.row() - # row.color(redalert) - row.itemO("text.resolve_conflict", text="", icon='ICON_HELP') - - layout.template_ID(st, "text", new="text.new", unlink="text.unlink") - - row = layout.row(align=True) - row.itemR(st, "line_numbers", text="") - row.itemR(st, "word_wrap", text="") - row.itemR(st, "syntax_highlight", text="") - - if text: - row = layout.row() - if text.filename != "": - if text.dirty: - row.itemL(text="File: *%s (unsaved)" % text.filename) - else: - row.itemL(text="File: %s" % text.filename ) - else: - if text.library: - row.itemL(text="Text: External") - else: - row.itemL(text="Text: Internal") - - row = layout.row() - row.itemO("text.run_script") + bl_space_type = 'TEXT_EDITOR' + + def draw(self, context): + layout = self.layout + + st = context.space_data + text = st.text + + row = layout.row(align=True) + row.template_header() + + if context.area.show_menus: + sub = row.row(align=True) + sub.itemM("TEXT_MT_text") + if text: + sub.itemM("TEXT_MT_edit") + sub.itemM("TEXT_MT_format") + + if text and text.modified: + row = layout.row() + # row.color(redalert) + row.itemO("text.resolve_conflict", text="", icon='ICON_HELP') + + layout.template_ID(st, "text", new="text.new", unlink="text.unlink") + + row = layout.row(align=True) + row.itemR(st, "line_numbers", text="") + row.itemR(st, "word_wrap", text="") + row.itemR(st, "syntax_highlight", text="") + + if text: + row = layout.row() + if text.filename != "": + if text.dirty: + row.itemL(text="File: *%s (unsaved)" % text.filename) + else: + row.itemL(text="File: %s" % text.filename) + else: + if text.library: + row.itemL(text="Text: External") + else: + row.itemL(text="Text: Internal") + + row = layout.row() + row.itemO("text.run_script") + class TEXT_PT_properties(bpy.types.Panel): - __space_type__ = 'TEXT_EDITOR' - __region_type__ = 'UI' - __label__ = "Properties" + bl_space_type = 'TEXT_EDITOR' + bl_region_type = 'UI' + bl_label = "Properties" + + def draw(self, context): + layout = self.layout + + st = context.space_data - def draw(self, context): - layout = self.layout - - st = context.space_data + flow = layout.column_flow() + flow.itemR(st, "line_numbers") + flow.itemR(st, "word_wrap") + flow.itemR(st, "syntax_highlight") + flow.itemR(st, "live_edit") - flow = layout.column_flow() - flow.itemR(st, "line_numbers") - flow.itemR(st, "word_wrap") - flow.itemR(st, "syntax_highlight") - flow.itemR(st, "live_edit") + flow = layout.column_flow() + flow.itemR(st, "font_size") + flow.itemR(st, "tab_width") - flow = layout.column_flow() - flow.itemR(st, "font_size") - flow.itemR(st, "tab_width") class TEXT_PT_find(bpy.types.Panel): - __space_type__ = 'TEXT_EDITOR' - __region_type__ = 'UI' - __label__ = "Find" - - def draw(self, context): - layout = self.layout - - st = context.space_data - - # find - col = layout.column(align=True) - row = col.row() - row.itemR(st, "find_text", text="") - row.itemO("text.find_set_selected", text="", icon='ICON_TEXT') - col.itemO("text.find") - - # replace - col = layout.column(align=True) - row = col.row() - row.itemR(st, "replace_text", text="") - row.itemO("text.replace_set_selected", text="", icon='ICON_TEXT') - col.itemO("text.replace") - - # mark - layout.itemO("text.mark_all") - - # settings - row = layout.row() - row.itemR(st, "find_wrap", text="Wrap") - row.itemR(st, "find_all", text="All") + bl_space_type = 'TEXT_EDITOR' + bl_region_type = 'UI' + bl_label = "Find" + + def draw(self, context): + layout = self.layout + + st = context.space_data + + # find + col = layout.column(align=True) + row = col.row() + row.itemR(st, "find_text", text="") + row.itemO("text.find_set_selected", text="", icon='ICON_TEXT') + col.itemO("text.find") + + # replace + col = layout.column(align=True) + row = col.row() + row.itemR(st, "replace_text", text="") + row.itemO("text.replace_set_selected", text="", icon='ICON_TEXT') + col.itemO("text.replace") + + # mark + layout.itemO("text.mark_all") + + # settings + row = layout.row() + row.itemR(st, "find_wrap", text="Wrap") + row.itemR(st, "find_all", text="All") + class TEXT_MT_text(bpy.types.Menu): - __label__ = "Text" + bl_label = "Text" + + def draw(self, context): + layout = self.layout + + st = context.space_data + text = st.text - def draw(self, context): - layout = self.layout - - st = context.space_data - text = st.text + layout.column() + layout.itemO("text.new") + layout.itemO("text.open") - layout.column() - layout.itemO("text.new") - layout.itemO("text.open") + if text: + layout.itemO("text.reload") - if text: - layout.itemO("text.reload") + layout.column() + layout.itemO("text.save") + layout.itemO("text.save_as") - layout.column() - layout.itemO("text.save") - layout.itemO("text.save_as") + if text.filename != "": + layout.itemO("text.make_internal") - if text.filename != "": - layout.itemO("text.make_internal") + layout.column() + layout.itemO("text.run_script") - layout.column() - layout.itemO("text.run_script") + #ifndef DISABLE_PYTHON + # XXX if(BPY_is_pyconstraint(text)) + # XXX uiMenuItemO(head, 0, "text.refresh_pyconstraints"); + #endif - #ifndef DISABLE_PYTHON - # XXX if(BPY_is_pyconstraint(text)) - # XXX uiMenuItemO(head, 0, "text.refresh_pyconstraints"); - #endif + layout.itemS() - layout.itemS() + layout.itemO("text.properties", icon='ICON_MENU_PANEL') - layout.itemO("text.properties", icon='ICON_MENU_PANEL') - - - - #ifndef DISABLE_PYTHON - # XXX layout.column() - # XXX uiDefIconTextBlockBut(block, text_template_scriptsmenu, NULL, ICON_RIGHTARROW_THIN, "Script Templates", 0, yco-=20, 120, 19, ""); - # XXX uiDefIconTextBlockBut(block, text_plugin_scriptsmenu, NULL, ICON_RIGHTARROW_THIN, "Text Plugins", 0, yco-=20, 120, 19, ""); - #endif - - layout.itemM("TEXT_MT_templates") - + + + #ifndef DISABLE_PYTHON + # XXX layout.column() + # XXX uiDefIconTextBlockBut(block, text_template_scriptsmenu, NULL, ICON_RIGHTARROW_THIN, "Script Templates", 0, yco-=20, 120, 19, ""); + # XXX uiDefIconTextBlockBut(block, text_plugin_scriptsmenu, NULL, ICON_RIGHTARROW_THIN, "Text Plugins", 0, yco-=20, 120, 19, ""); + #endif + + layout.itemM("TEXT_MT_templates") class TEXT_MT_templates(bpy.types.Menu): - ''' - Creates the menu items by scanning scripts/templates - ''' - __label__ = "Script Templates" - - def draw(self, context): - import os - - def path_to_name(f): - f_base = os.path.splitext(f)[0] - f_base = f_base.replace("_", " ") - return ' '.join([w[0].upper() + w[1:] for w in f_base.split()]) - - layout = self.layout - template_dir = os.path.join(os.path.dirname(__file__), os.path.pardir, "templates") - - for f in sorted(os.listdir(template_dir)): - - if f.startswith("."): - continue - - path = os.path.join(template_dir, f) - layout.item_stringO("text.open", "path", path, text=path_to_name(f)) + ''' + Creates the menu items by scanning scripts/templates + ''' + bl_label = "Script Templates" + + def draw(self, context): + import os + def path_to_name(f): + f_base = os.path.splitext(f)[0] + f_base = f_base.replace("_", " ") + return ' '.join([w[0].upper() + w[1:] for w in f_base.split()]) + + layout = self.layout + template_dir = os.path.join(os.path.dirname(__file__), os.path.pardir, "templates") + + for f in sorted(os.listdir(template_dir)): + + if f.startswith("."): + continue + + path = os.path.join(template_dir, f) + layout.item_stringO("text.open", "path", path, text=path_to_name(f)) class TEXT_MT_edit_view(bpy.types.Menu): - __label__ = "View" + bl_label = "View" + + def draw(self, context): + layout = self.layout - def draw(self, context): - layout = self.layout + layout.item_enumO("text.move", "type", 'FILE_TOP', text="Top of File") + layout.item_enumO("text.move", "type", 'FILE_BOTTOM', text="Bottom of File") - layout.item_enumO("text.move", "type", 'FILE_TOP', text="Top of File") - layout.item_enumO("text.move", "type", 'FILE_BOTTOM', text="Bottom of File") class TEXT_MT_edit_select(bpy.types.Menu): - __label__ = "Select" + bl_label = "Select" - def draw(self, context): - layout = self.layout + def draw(self, context): + layout = self.layout + + layout.itemO("text.select_all") + layout.itemO("text.select_line") - layout.itemO("text.select_all") - layout.itemO("text.select_line") class TEXT_MT_edit_markers(bpy.types.Menu): - __label__ = "Markers" + bl_label = "Markers" + + def draw(self, context): + layout = self.layout - def draw(self, context): - layout = self.layout + layout.itemO("text.markers_clear") + layout.itemO("text.next_marker") + layout.itemO("text.previous_marker") - layout.itemO("text.markers_clear") - layout.itemO("text.next_marker") - layout.itemO("text.previous_marker") class TEXT_MT_format(bpy.types.Menu): - __label__ = "Format" + bl_label = "Format" - def draw(self, context): - layout = self.layout + def draw(self, context): + layout = self.layout - layout.itemO("text.indent") - layout.itemO("text.unindent") + layout.itemO("text.indent") + layout.itemO("text.unindent") - layout.itemS() + layout.itemS() - layout.itemO("text.comment") - layout.itemO("text.uncomment") + layout.itemO("text.comment") + layout.itemO("text.uncomment") - layout.itemS() + layout.itemS() + + layout.item_menu_enumO("text.convert_whitespace", "type") - layout.item_menu_enumO("text.convert_whitespace", "type") class TEXT_MT_edit_to3d(bpy.types.Menu): - __label__ = "Text To 3D Object" + bl_label = "Text To 3D Object" + + def draw(self, context): + layout = self.layout - def draw(self, context): - layout = self.layout + layout.item_booleanO("text.to_3d_object", "split_lines", False, text="One Object") + layout.item_booleanO("text.to_3d_object", "split_lines", True, text="One Object Per Line") - layout.item_booleanO("text.to_3d_object", "split_lines", False, text="One Object"); - layout.item_booleanO("text.to_3d_object", "split_lines", True, text="One Object Per Line"); class TEXT_MT_edit(bpy.types.Menu): - __label__ = "Edit" + bl_label = "Edit" - def poll(self, context): - return (context.space_data.text) + def poll(self, context): + return (context.space_data.text) - def draw(self, context): - layout = self.layout + def draw(self, context): + layout = self.layout - layout.itemO("ed.undo") - layout.itemO("ed.redo") + layout.itemO("ed.undo") + layout.itemO("ed.redo") - layout.itemS() + layout.itemS() - layout.itemO("text.cut") - layout.itemO("text.copy") - layout.itemO("text.paste") + layout.itemO("text.cut") + layout.itemO("text.copy") + layout.itemO("text.paste") - layout.itemS() + layout.itemS() - layout.itemM("TEXT_MT_edit_view") - layout.itemM("TEXT_MT_edit_select") - layout.itemM("TEXT_MT_edit_markers") + layout.itemM("TEXT_MT_edit_view") + layout.itemM("TEXT_MT_edit_select") + layout.itemM("TEXT_MT_edit_markers") - layout.itemS() + layout.itemS() - layout.itemO("text.jump") - layout.itemO("text.properties", text="Find...") + layout.itemO("text.jump") + layout.itemO("text.properties", text="Find...") - layout.itemS() + layout.itemS() - layout.itemM("TEXT_MT_edit_to3d") + layout.itemM("TEXT_MT_edit_to3d") bpy.types.register(TEXT_HT_header) bpy.types.register(TEXT_PT_properties) |