def open_file(self, widget, archivo): """ Setea el archivo cuyo codigo debe mostrarse. """ if archivo: if os.path.isfile(archivo): self.archivo = archivo texto_file = open(self.archivo, 'r') texto = texto_file.read() texto_file.close() self.set_buffer(gtksourceview2.Buffer()) self.get_buffer().begin_not_undoable_action() #self.__set_lenguaje(self.archivo) self.get_buffer().set_text(texto) nombre = os.path.basename(self.archivo) self.control = os.path.getmtime(self.archivo) else: self.set_buffer(gtksourceview2.Buffer()) self.get_buffer().begin_not_undoable_action() self.get_buffer().end_not_undoable_action() self.get_buffer().set_modified(False) pos = self.get_iter_at_location(1, 1) self.get_buffer().place_cursor(pos) self.scroll_to_iter(pos, False) self.grab_focus() self.init_syntax()
def create_tbtv(lang="python"): # rely on gtksourceview2 if usegtksv2: tb = gtksourceview2.Buffer() tv = gtksourceview2.View(tb) if lang == "python": lm = gtksourceview2.LanguageManager() lp = lm.get_language(lang) tb.set_language(lp) tb.set_highlight_syntax(True) tb.set_max_undo_levels(16) tb.set_highlight_matching_brackets(False) tv.set_show_line_marks(True) tv.set_show_line_numbers(True) tv.set_draw_spaces(True) tv.set_tab_width(4) tv.set_smart_home_end(True) tv.set_auto_indent(True) tv.set_property("draw-spaces",51) # space, tab, leading, text else: tv = gtk.TextView() tb = tv.get_buffer() fontdesc = pango.FontDescription("Monospace") tv.modify_font(fontdesc) return tb,tv
def setup_bugview(self): self.bugbuf = gtksourceview2.Buffer() lm = gtksourceview2.LanguageManager() lang = lm.guess_language(None, "text/x-lua") self.bugbuf.set_highlight_syntax(True) self.bugbuf.set_language(lang) def set_bt_markers(blubb): begin, end = self.bugbuf.get_bounds() self.bugbuf.remove_source_marks(begin, end) for creature, line in self.conn.bt: if line: self.bugbuf.create_source_mark(None, "bt", line) self.conn.connect("new_bt", set_bt_markers) self.bugview = gtksourceview2.View(self.bugbuf) self.bugview.props.show_line_numbers = True self.bugview.props.show_line_marks = True self.bugview.props.auto_indent = True #self.bugview.props.insert_spaces_instead_of_tabs = True icon = gtk.gdk.pixbuf_new_from_file(PREFIX + 'marker.png') self.bugview.set_mark_category_pixbuf("bt", icon)
def _create_buffer(self, key, sections, head_paragraph): manager = gtksourceview.LanguageManager() lan = manager.get_language(key) buffer = gtksourceview.Buffer() buffer.create_tag("fixed", editable=False, background="lightgray") buffer.create_tag("normal") buffer.begin_not_undoable_action() if head_paragraph: buffer.create_tag("fixed-paragraph", editable=False, paragraph_background="lightgray") buffer.insert_with_tags_by_name(buffer.get_end_iter(), head_paragraph, "fixed-paragraph") for name, start_string, middle_string, end_string in sections: self._create_section(buffer, name, start_string, middle_string, end_string) buffer.end_not_undoable_action() buffer.set_language(lan) buffer.set_highlight_syntax(True) buffer.set_highlight_matching_brackets(True) buffer.connect("changed", lambda w: self.buffer_changed()) self.buffer = buffer return buffer
def update_task_info(self): task = self.current_task # update widgets value self.w("entry_task_id").set_text( task.id ) self.w("entry_task_title").set_text( task.title ) buf = gtksourceview2.Buffer() buf.connect("changed", self.on_textview_task_description_changed ) self.w("textview_task_description").set_buffer( buf ) if task.description_format == "rest": buf.set_language(None) self.w("combobox_description_format").set_active(1) elif task.description_format == "docbook": buf.set_language( XMLLANG ) self.w("combobox_description_format").set_active(0) else: self.w("combobox_description_format").set_active(2) #securité acces load si taches filles has_child = task.children if has_child: task.duration = None self.w("spinbutton_duration").set_sensitive(not has_child) self.w("combobox_scheduling_type").set_sensitive(not has_child) if task.TYPE == "milestone": self.w("combobox_scheduling_type").set_sensitive(False) self.w("spinbutton_duration").set_sensitive(False) buf.set_text( task.description_raw ) # XXX handle correctly cases where task duration and load_type are None self.w("spinbutton_duration").get_adjustment().set_value( task.duration or 0) self.w("combobox_scheduling_type").set_active( task.load_type or 0) self._update_role_combobox( task ) self._update_constraints( task )
def __init__(self, *a, **kw): gtksourceview.View.__init__(self, *a, **kw) self.filename = None self.mark = None self.offset = 0 self.program_length = 0 self.buf = gtksourceview.Buffer() self.buf.set_max_undo_levels(20) self.buf.connect('changed', self.update_iter) self.set_buffer(self.buf) self.lm = gtksourceview.LanguageManager() if 'EMC2_HOME' in os.environ: path = os.path.join(os.environ['EMC2_HOME'], 'share/gtksourceview-2.0/language-specs/') self.lm.set_search_path(self.lm.get_search_path() + [path]) self.buf.set_language(self.lm.get_language('.ngc')) self.set_show_line_numbers(True) self.set_show_line_marks(True) self.set_highlight_current_line(True) self.set_mark_category_icon_from_icon_name('motion', 'gtk-forward') self.set_mark_category_background('motion', gtk.gdk.Color('#ff0')) self.found_text_tag = self.buf.create_tag(background="yellow") self.update_iter() self.connect('button-release-event', self.button_pressed)
def __init__(self): gtk.VBox.__init__(self) self._b = gtksourceview.Buffer() style_scheme = gtksourceview.style_scheme_manager_get_default( ).get_scheme('classic') if style_scheme: self._b.set_style_scheme(style_scheme) self._b.set_language( gtksourceview.language_manager_get_default().get_language("cpp")) self._b.set_highlight_syntax(True) #self._b.connect('mark-set', move_cursor_cb, view) #self._b.connect('changed', update_cursor_position, view) self._v = gtksourceview.View(self._b) self._v.set_show_line_numbers(True) #self._v.set_show_line_marks(action.get_active()) #self._v.set_show_right_margin(action.get_active()) #self._v.set_auto_indent(action.get_active()) #self._v.set_insert_spaces_instead_of_tabs(action.get_active()) #self._v.set_tab_width(action.get_current_value()) #self._v.connect('button-press-event', button_press_cb) sw = gtk.ScrolledWindow() sw.set_shadow_type(gtk.SHADOW_IN) self.pack_start(sw, True, True, 0) sw.add(self._v) # setup view font_desc = pango.FontDescription('monospace') if font_desc: self._v.modify_font(font_desc)
def __init__ (self, get_file_fn, languages = []): self.get_fn = get_file_fn man = gtksourceview2.LanguageManager() language = None old_lang = None for lang in languages: if old_lang: warning(_("No %(old)s language file installed. Falling back to %(new)s."), {"old" : old_lang, "new" : lang}) language = man.get_language(lang) if language: break else: old_lang = lang if not language and old_lang: warning(_("No %(old)s language file installed. Disabling highlighting."), {"old" : old_lang}) buf = gtksourceview2.Buffer() buf.set_language(language) gtksourceview2.View.__init__(self, buf) LazyView.__init__(self) self.set_editable(False) self.set_cursor_visible(False)
def _init_source_view(self): # Creating the buffer. self._source_buffer = gtksourceview.Buffer() self._source_buffer.connect('changed', self.on_source_buffer_changed) self._source_buffer.connect('modified-changed', self.on_source_buffer_modified_changed) self._source_buffer.set_highlight_matching_brackets(True) manager = gtksourceview.LanguageManager() manager.set_search_path( [os.path.join(self._data_dir, 'gtksourceview')]) language = manager.get_language('tiger') self._source_buffer.set_language(language) self._source_buffer.set_highlight_syntax(True) self._update_undo_redo() # Creating the viewer. self._source_view = gtksourceview.View(self._source_buffer) self._source_view.modify_font(pango.FontDescription('monospace')) self._source_view.set_show_line_numbers(True) self._source_view.set_show_line_marks(False) self._source_view.set_show_right_margin(False) self._source_view.set_insert_spaces_instead_of_tabs(False) self._source_view.set_highlight_current_line(True) self._source_view.set_auto_indent(True) # Add the source view to the window. scrolledwindow = self._builder.get_object('source_scrolledwindow') scrolledwindow.add(self._source_view)
def add_text_view(self): scrolledWindow = self.add_scrolled_window() self.set_child_packing(self.frame, True, True, 0, gtk.PACK_START) try: import gtksourceview2 buf = gtksourceview2.Buffer() lang_manager = gtksourceview2.LanguageManager() buf.set_highlight_matching_brackets(True) if self.node is not None and self.node.is_python_code(): python = lang_manager.get_language("python") buf.set_language(python) buf.set_highlight_syntax(True) textview = gtksourceview2.View(buffer=buf) textview.set_auto_indent(True) textview.set_insert_spaces_instead_of_tabs(True) textview.set_tab_width(2) if self.node is not None and self.node.is_python_code(): textview.set_show_line_numbers(True) font_desc = pango.FontDescription("monospace") if font_desc: textview.modify_font(font_desc) except ImportError: textview = gtk.TextView() textview.set_pixels_above_lines(2) textview.set_pixels_below_lines(2) textview.set_wrap_mode(gtk.WRAP_WORD) textview.connect("focus-in-event", self.entry_focus_in) scrolledWindow.add(textview) textview.show() return textview
def createsrcview(status, f=None): sbuffer = gtksourceview2.Buffer() if f: content = file(f).read() sbuffer.set_language(get_lang_for_content(content)) text = unicode(content, 'utf-8', 'ignore') sbuffer.set_text(text) else: manager = gtksourceview2.language_manager_get_default() sbuffer.set_language(manager.get_language("c")) sv = gtksourceview2.View(sbuffer) p = prefs.preferences() misc.set_widget_font(sv, config.cur_editor_font) manager = gtksourceview2.StyleSchemeManager() manager.append_search_path(misc.getArduinoUiPath()) manager.force_rescan() scheme = manager.get_scheme("arduino") sbuffer.set_style_scheme(scheme); sv.set_size_request(300, 100) sv.set_editable(True) sv.set_auto_indent(True) if config.show_numbers == 'true': sv.set_show_line_numbers(True) sv.set_cursor_visible(True) sv.set_wrap_mode(gtk.WRAP_CHAR) sv.set_right_margin_position(80) updatePos(sbuffer, status) sbuffer.connect("mark_set", markCb, status) sbuffer.connect("insert_text", instextCallback) sv.set_highlight_current_line(True) resetCursor(sbuffer) return sbuffer, sv
def __init__(self, ventana, notebook, firmware_ruta, nombre_arch, etiqueta): # create buffer lm = gtksourceview2.LanguageManager() self.buffer = gtksourceview2.Buffer() self.buffer.set_data('languages-manager', lm) self.firmware_ruta = firmware_ruta self.nombre_arch = nombre_arch view = gtksourceview2.View(self.buffer) view.set_show_line_numbers(True) self.ventana = ventana vbox = gtk.VBox(0, True) notebook.append_page(vbox, gtk.Label(etiqueta)) tool1 = gtk.Toolbar() tool1.show() iconw = gtk.Image() iconw.set_from_stock(gtk.STOCK_EXECUTE, 15) vbox.pack_start(tool1, fill=False, expand=False) sw = gtk.ScrolledWindow() sw.set_shadow_type(gtk.SHADOW_IN) sw.add(view) vbox.pack_start(sw, fill=True, expand=True) vbox.show_all() # main loop self.dir_conf = os.path.expanduser( '~') + "/" + self.firmware_ruta + "/firmware/" self.cadena_user_c = self.dir_conf + self.nombre_arch self.buf = self.open_file(self.buffer, self.cadena_user_c) iconw = gtk.Image() iconw.set_from_stock(gtk.STOCK_NEW, 15) tool_button = tool1.append_item("recargar", "", "Private", iconw, self.recargar)
def __init__(self, filename, mimetype=None): self.filename = filename if SV2: self.buffer = gtksourceview2.Buffer() self.buffer.set_highlight_syntax(True) else: self.buffer = gtksourceview.SourceBuffer() self.buffer.set_highlight(True) self.buffer.set_max_undo_levels(1000) if SV2: self.view = gtksourceview2.View(self.buffer) else: self.view = gtksourceview.SourceView(self.buffer) self.view.set_auto_indent(True) self.view.modify_font(pango.FontDescription('Ubuntu Mono 12')) self.view.connect('key_press_event', self.on_key_press_event) self.touch() language = self.get_language(mimetype) if language: self.buffer.set_language(language) self.file_signature = None self.file_text = '' self.sync_from_disk()
def __init__(self, *a, **kw): gtksourceview.View.__init__(self, *a, **kw) self.filename = None self.mark = None self.offset = 0 self.program_length = 0 self.idle_line_reset = True self.buf = gtksourceview.Buffer() self.buf.set_max_undo_levels(20) self.buf.connect('changed', self.update_iter) self.set_buffer(self.buf) self.lm = gtksourceview.LanguageManager() self.sm = gtksourceview.StyleSchemeManager() if 'EMC2_HOME' in os.environ: path = os.path.join(os.environ['EMC2_HOME'], 'share/gtksourceview-2.0/language-specs/') self.lm.set_search_path(self.lm.get_search_path() + [path]) self.buf.set_language(self.lm.get_language('.ngc')) self.set_show_line_numbers(True) self.set_show_line_marks(True) self.set_highlight_current_line(True) # This gets the 'selected text' color # This is before the widget is realized so gives the system theme color style = self.get_style() selected_color = style.base[gtk.STATE_SELECTED].to_string() self.set_mark_category_icon_from_icon_name('motion', 'gtk-forward') self.set_mark_category_background('motion', gtk.gdk.Color(selected_color)) self.found_text_tag = self.buf.create_tag(background=selected_color) self.update_iter() self.connect('button-release-event', self.button_pressed)
def __init__(self, win, editor=None): gtksourceview2.View.__init__(self) gtk.widget_push_composite_child() self.editor = editor self.buffer = gtksourceview2.Buffer() self.set_buffer(self.buffer) self.set_show_line_marks(True) width, height = gtk.icon_size_lookup(gtk.ICON_SIZE_MENU) pixbuf = gtk.gdk.Pixbuf(gtk.gdk.COLORSPACE_RGB, True, 8, width, height) pixbuf.fill(0) self.set_mark_category_pixbuf('sql-start', pixbuf) self.set_mark_category_pixbuf('sql-end', pixbuf) lang_manager = gtksourceview2.language_manager_get_default() self.buffer.set_language(lang_manager.get_language('sql')) self.app = win.app self._sig_app_config_changed = self.app.config.connect( 'changed', self.on_config_changed) self.update_textview_options() self._buffer_changed_cb = None self.buffer.connect('end-user-action', self.on_buffer_changed) self.buffer.connect('mark-set', self.on_mark_set) if self.editor is not None: self.editor.connect( 'connection-changed', lambda e, c: self.on_buffer_changed(self.buffer)) self.connect('expose-event', self.on_expose) self._sql_marks = set() self.connect('destroy', self.on_destroy)
def __init__(self, filename): self.filename = filename if SV2: self.buffer = gtksourceview2.Buffer() self.buffer.set_highlight_syntax(True) else: self.buffer = gtksourceview.SourceBuffer() self.buffer.set_highlight(True) self.buffer.set_max_undo_levels(1000) if SV2: self.view = gtksourceview2.View(self.buffer) else: self.view = gtksourceview.SourceView(self.buffer) self.view.set_auto_indent(True) self.view.modify_font(pango.FontDescription('monospace')) mimetype = mimetypes.guess_type(filename)[0] if mimetype: self.buffer.set_language(get_language_from_mime_type(mimetype)) if not os.path.exists(filename): open(filename, 'wb').close() self.file_signature = None self.file_text = '' self.sync_from_disk()
def __init__(self, core, textviews): super(ReprTextView, self).__init__(False, 1) ################################################################# # Right Textview ################################################################# self.uicore = core self.textviews = textviews # Use GtkSourceView to add eye candy :P # create buffer lm = gtksourceview2.LanguageManager() # Add ui dir to language paths paths = lm.get_search_path() paths.append(os.path.dirname(__file__) + os.sep + 'data' + os.sep) lm.set_search_path(paths) self.buffer = gtksourceview2.Buffer() self.buffer.create_tag("green-background", background="green", foreground="black") self.buffer.set_data('languages-manager', lm) self.view = gtksourceview2.View(self.buffer) # FIXME options must be user selectable (statusbar) self.view.set_editable(False) self.view.set_highlight_current_line(True) # posible values: gtk.WRAP_NONE, gtk.WRAP_CHAR, gtk.WRAP_WORD... self.view.set_wrap_mode(gtk.WRAP_WORD) # setup view font_desc = pango.FontDescription('monospace 9') if font_desc: self.view.modify_font(font_desc) self.buffer.set_highlight_syntax(False) manager = self.buffer.get_data('languages-manager') language = manager.get_language('asm') self.buffer.set_language(language) self.mgr = gtksourceview2.style_scheme_manager_get_default() # Scrolled Window self.repr_scrolled_window = gtk.ScrolledWindow() self.repr_scrolled_window.set_shadow_type(gtk.SHADOW_ETCHED_IN) self.repr_scrolled_window.set_policy(gtk.POLICY_AUTOMATIC, gtk.POLICY_AUTOMATIC) self.repr_scrolled_window.show() # Add Textview to Scrolled Window self.repr_scrolled_window.add(self.view) self.pack_start(self.repr_scrolled_window, expand=True, fill=True) # Create the search widget Searchable.__init__(self, self.view, small=True) # Used for code navidation on _search function self.match_start = None self.match_end = None self.search_string = ''
def __init__(self, fullPath, activity): """ Do any initialization here. """ global mark_seq mark_seq = 0 self.fullPath = fullPath self._activity = activity self.breakpoints = {} self.embeds = {} gtk.ScrolledWindow.__init__(self) self.text_buffer = gtksourceview2.Buffer() self.text_buffer.create_tag(BREAKPOINT_CAT, background=BREAKPOINT_COLOR) self.text_buffer.create_tag(SHELL_CAT, background=EMBEDED_SHELL_COLOR) self.text_buffer.create_tag(TRACE_CAT, background=EMBEDED_BREAKPOINT_COLOR) self.text_view = gtksourceview2.View(self.text_buffer) self.text_view.connect('button_press_event', self._pd_button_press_cb) self.text_view.set_size_request(900, 350) self.text_view.set_editable(True) self.text_view.set_cursor_visible(True) self.text_view.set_highlight_current_line(True) self.text_view.set_show_line_numbers(True) self.text_view.set_insert_spaces_instead_of_tabs(True) if hasattr(self.text_view, 'set_tabs_width'): self.text_view.set_tabs_width(4) else: self.text_view.set_tab_width(4) self.text_view.set_auto_indent(True) self.text_view.set_wrap_mode(gtk.WRAP_CHAR) #self.text_view.modify_font(pango.FontDescription("Monospace 6.5")) self.set_font_size(self._activity.font_size) # We could change the color theme here, if we want to. """ folowing does not work on build 650 mgr = gtksourceview2.StyleSchemeManager() mgr.prepend_search_path(self._activity.pydebug_path) _logger.debug('search path for gtksourceview is %r'%mgr.get_search_path()) """ #build 650 doesn't seem to have the same means of specifying the search directory if self._activity.sugar_minor > 80: mgr = gtksourceview2.StyleSchemeManager() else: mgr = gtksourceview2.StyleManager() mgr.prepend_search_path(self._activity.pydebug_path) style_scheme = mgr.get_scheme('vibrant') if style_scheme: self.text_buffer.set_style_scheme(style_scheme) self.set_policy(gtk.POLICY_AUTOMATIC, gtk.POLICY_AUTOMATIC) self.add(self.text_view) self.text_view.show() self.load_text() self.show()
def set_archivo(self, archivo): """ Setea el archivo cuyo codigo debe mostrarse. """ if archivo and archivo != None: archivo = os.path.join(archivo.replace("//", "/")) if os.path.exists(archivo): self.archivo = archivo texto_file = open(self.archivo, 'r') texto = texto_file.read() texto_file.close() self.set_buffer(gtksourceview2.Buffer()) self.get_buffer().begin_not_undoable_action() self.__set_lenguaje(self.archivo) self.get_buffer().set_text(texto) nombre = os.path.basename(self.archivo) gobject.idle_add(self.__set_label, nombre) self.control = os.path.getmtime(self.archivo) else: self.set_buffer(gtksourceview2.Buffer()) self.get_buffer().begin_not_undoable_action() self.get_buffer().end_not_undoable_action() self.get_buffer().set_modified(False) completion = self.get_completion() prov_words = gtksourceview2.CompletionWords() prov_words.register(self.get_buffer()) autocompletado = AutoCompletado(self.get_buffer(), self.archivo, self) completion.add_provider(autocompletado) completion.set_property("remember-info-visibility", True) completion.set_property("select-on-show", True) completion.set_property("show-headers", True) completion.set_property("show-icons", True) self.new_handle(True)
def __init__(self): gtksourceview2.View.__init__(self) self.set_buffer(gtksourceview2.Buffer()) self.modify_font(pango.FontDescription('Monospace 10')) self.show_all()
def __init__(self, preview=False): gobject.GObject.__init__(self) self.is_preview = preview # Module init self.prefs = Preferences self.keyboard = Keyboard # create buffer self.buf = gtksourceview.Buffer() self.gtksourceview = gtksourceview.View(self.buf) # setup style and lang managers self.lm = gtksourceview.LanguageManager() self.sm = gtksourceview.StyleSchemeManager() self.lm.set_search_path([LANGDIR]) self.sm.set_search_path([STYLEDIR]) self.buf.set_style_scheme(self.sm.get_scheme('gcode')) self.buf.set_language(self.lm.get_language('gcode')) self.buf.set_max_undo_levels(20) self.gtksourceview.set_show_line_numbers(True) self.gtksourceview.set_show_line_marks(False) self.gtksourceview.set_highlight_current_line(False) # Only allow edit if gcode preview self.gtksourceview.set_editable(self.is_preview) self.holder_text = "\t\t\t****No file to preview****" # Only highlight motion line if not preview if not self.is_preview: self.gtksourceview.set_can_focus(False) self.holder_text = "" self.gtksourceview.connect('button-press-event', self.on_button_press) self.gtksourceview.connect('key-press-event', self.on_key_press) # Set line highlight styles self.gtksourceview.set_mark_category_background( 'none', gtk.gdk.Color('#ffffff')) self.gtksourceview.set_mark_category_background( 'motion', gtk.gdk.Color('#c5c5c5')) self.gtksourceview.set_mark_category_background( 'selected', gtk.gdk.Color('#96fef6')) self.gtksourceview.set_mark_category_background( 'error', gtk.gdk.Color('#ff7373')) self.mark = None self.current_file = None self.error_line = None self.gtksourceview.show()
def __init__(self,ventana): # create buffer lm = gtksourceview2.LanguageManager() buffer = gtksourceview2.Buffer() buffer.set_data('languages-manager', lm) view = gtksourceview2.View(buffer) self.ventana=ventana self.window = gtk.Window(gtk.WINDOW_TOPLEVEL) self.window.set_border_width(0) self.window.set_title('codigo fuente generado por el sistema') #windows.append(window) # this list contains all view windows self.window.set_default_size(500, 500) self.window.show() vbox = gtk.VBox(0, True) self.window.add(vbox) tool1=gtk.Toolbar() tool1.show() iconw = gtk.Image() iconw.set_from_stock(gtk.STOCK_EXECUTE,15) tool_button = tool1.append_item( _("Compile"), "compila la version modificada en el editor.", "Private", iconw, self.compilar) iconw = gtk.Image() iconw.set_from_stock(gtk.STOCK_NEW,15) tool_button = tool1.append_item( _("Exit"), self.ventana.tooltip["salir"], "Private", iconw, self.close) vbox.pack_start(tool1, fill=False, expand=False) sw = gtk.ScrolledWindow() sw.set_shadow_type(gtk.SHADOW_IN) sw.add(view) vbox.pack_start(sw, fill=True, expand=True) #~ #~ toolbar = gtk.HBox(spacing=0) #~ vbox.pack_start(toolbar,False,False) #~ button = gtk.Button('salir') #~ button.connect('clicked',self.close) #~ toolbar.pack_start(button,False,False,0) vbox.show_all() # main loop dir_conf=os.path.expanduser('~') + "/.icaro/np05/" cadena_user_c=dir_conf+"source/user.c" self.buf=self.open_file(buffer,cadena_user_c)
def __init_gui(self, glade): scrolledwindow6 = glade.get_widget("scrolledwindow6") self.__gtksourceview = gtksourceview2.View() self.__sourcebuffer = gtksourceview2.Buffer() view = self.__gtksourceview buff = self.__sourcebuffer view.set_buffer(buff) scrolledwindow6.add(view) view.set_auto_indent(True) view.set_highlight_current_line(True) view.set_show_line_numbers(True) view.set_show_line_marks(True) view.set_show_right_margin(True) view.set_insert_spaces_instead_of_tabs(True) view.set_tab_width(4) view.set_indent_width(-1) view.set_right_margin_position(80) view.set_smart_home_end(True) view.set_indent_on_tab(True) view.set_left_margin(2) view.set_right_margin(2) view.modify_font(pango.FontDescription("mono 10")) view.set_wrap_mode(gtk.WRAP_NONE) # playhead text attributes tag = buff.create_tag("playhead") tag.props.background = "black" tag.props.background_set = True tag.props.foreground = "white" tag.props.foreground_set = True # error text attributes tag = buff.create_tag("error") tag.props.background = "red" tag.props.background_set = True # playhead marker self.LINE_MARKER = 'lineMarker' pixbuf = gtk.gdk.pixbuf_new_from_file(Glob.LINE_MARKER) view.set_mark_category_pixbuf(self.LINE_MARKER, pixbuf) # error marker self.ERROR_MARKER = 'errorMarker' pixbuf = gtk.gdk.pixbuf_new_from_file(Glob.ERROR_MARKER) view.set_mark_category_pixbuf(self.ERROR_MARKER, pixbuf) # buff parameters buff.set_highlight_syntax(True) buff.set_highlight_matching_brackets(True) buff.set_max_undo_levels(50) # when buff modified save needed buff.connect("modified-changed", self.__modified_changed) # and show it self.__gtksourceview.show()
def __init__(self, handle): '''We want to set up the buffer et al. early on sure there's early_setup, but that's not early enough ''' self.buffer = gtksourceview.Buffer() self.refresh_buffer = False self.text_view = gtksourceview.View(self.buffer) self.scrollwindow = gtk.ScrolledWindow() self.scrollwindow.add(self.text_view) sugar_tools.GroupActivity.__init__(self, handle)
def __init__(self, token, uuid, **args): gtk.Window.__init__(self, **args) self.token = token self.uuid = uuid self.timer = -1 self.set_title('Kobita') self.connect('show', self.on_show) self.set_default_size(800, 600) self.set_border_width(5) hbox = gtk.HBox(True, 5) vbox = gtk.VBox(False, 5) sw = gtk.ScrolledWindow() sw.set_shadow_type(gtk.SHADOW_ETCHED_OUT) sw.set_policy(gtk.POLICY_AUTOMATIC, gtk.POLICY_AUTOMATIC) self.buffer = gtksourceview2.Buffer() self.buffer.set_max_undo_levels(1000) self.buffer.connect('changed', self.on_changed) self.edit = gtksourceview2.View(self.buffer) sw.add(self.edit) vbox.pack_start(sw, True, True, 0) hhbox = gtk.HBox(False, 5) self.tags = [] for n in range(5): tag = gtk.Entry() tag.set_usize(20, -1) hhbox.add(tag) self.tags.append(tag) vbox.pack_start(hhbox, False, False, 0) hhbox = gtk.HBox(True, 5) self.check = gtk.CheckButton('Private') hhbox.add(self.check) button = gtk.Button("Publish") button.connect('clicked', self.on_publish) hhbox.add(button) vbox.pack_end(hhbox, False, False, 0) hbox.pack_start(vbox, False, True, 0) sw = gtk.ScrolledWindow() sw.set_shadow_type(gtk.SHADOW_ETCHED_OUT) sw.set_policy(gtk.POLICY_AUTOMATIC, gtk.POLICY_AUTOMATIC) self.view = webkit.WebView() self.view.set_settings(settings) sw.add(self.view) hbox.pack_start(sw, False, True, 0) self.add(hbox)
def new_apache_sourceview(): bufferS = gtksourceview2.Buffer() manager = gtksourceview2.LanguageManager() #language = manager.get_language_from_mime_type("text/xml") manager.set_search_path([Configuration.GLADEPATH] + manager.get_search_path()) language = manager.get_language('apache') bufferS.set_language(language) bufferS.set_highlight_syntax(True) sourceview = gtksourceview2.View(bufferS) sourceview.set_show_line_numbers(True) #TODO sniff gnome default monospace font sourceview.modify_font(pango.FontDescription("monospace 10")) return sourceview
def __init__(self, halcomp, builder, useropts, compname): self.halcomp = halcomp self.builder = builder self.line = 1 self.sourceview = builder.get_object('gtksourceview1') self.textbuffer = gtksourceview.Buffer() self.sourceview.set_buffer(self.textbuffer) self.sourceview.set_show_line_numbers(True) self.sourceview.set_show_line_marks(True) self.sourceview.set_highlight_current_line(True) self.sourceview.set_mark_category_icon_from_icon_name( 'highlight', 'gtk-forward') self.sourceview.set_mark_category_background('highlight', gtk.gdk.Color('yellow')) self.mark = None
def main(args): # create buffer lm = gtksourceview2.LanguageManager() buffer = gtksourceview2.Buffer() buffer.set_data('languages-manager', lm) # parse arguments if len(args) >= 2: open_file(buffer, args[1]) # create first window window = create_main_window(buffer) window.set_default_size(1000, 1000) window.show() # main loop gtk.main()
def main(exploit=''): # create buffer buffer = gtksourceview.Buffer() mgr = gtksourceview.style_scheme_manager_get_default() # Set theme ftom config theme style_scheme = mgr.get_scheme(theme) if style_scheme: buffer.set_style_scheme(style_scheme) if exploit != '': open_file(buffer, exploit) # create first window window = create_main_window(buffer) window.set_default_size(800, 600) window.set_position(gtk.WIN_POS_CENTER) window.set_title('Inguma module editor - ' + exploit) window.show()
def __init__(self, *a, **kw): gtksourceview.View.__init__(self, *a, **kw) self.filename = None self.mark = None self.buf = gtksourceview.Buffer() self.set_buffer(self.buf) lm = gtksourceview.LanguageManager() if 'EMC2_HOME' in os.environ: path = os.path.join(os.environ['EMC2_HOME'], 'share/gtksourceview-2.0/language-specs/') lm.set_search_path(lm.get_search_path() + [path]) self.buf.set_language(lm.get_language('.ngc')) self.set_show_line_numbers(True) self.set_show_line_marks(True) self.set_highlight_current_line(True) self.set_mark_category_icon_from_icon_name('motion', 'gtk-forward') self.set_mark_category_background('motion', gtk.gdk.Color('#f44'))