def generate_console(self): scrolled_window1 = Gtk.ScrolledWindow() scrolled_window1.set_border_width(2) self.grid.attach(scrolled_window1, 0, 2, 3, 1) # we scroll only if needed scrolled_window1.set_policy(Gtk.PolicyType.AUTOMATIC, Gtk.PolicyType.AUTOMATIC) # a text buffer (stores text) self.bufferConsola = Gtk.TextBuffer() # a textview (displays the buffer) self.txtConsola = Gtk.TextView(buffer=self.bufferConsola) # textview is scrolled scrolled_window1.add(self.txtConsola) # wrap the text, if needed, breaking lines in between words self.txtConsola.set_wrap_mode(Gtk.WrapMode.WORD) self.bufferConsola.set_text('>') self.txtConsola.modify_bg(Gtk.StateType.NORMAL, Gdk.color_parse("#014276")) tag = self.bufferConsola.create_tag() tag.set_property("foreground", 'yellow') start = self.bufferConsola.get_start_iter() end = self.bufferConsola.get_end_iter() self.bufferConsola.apply_tag(tag, start, end) self.fontConsola = FontDescription.from_string('Monospace') self.fontConsola.set_size(8 * 1000) self.txtConsola.override_font(self.fontConsola)
def generate_console(self): scrolled_window1 = Gtk.ScrolledWindow() scrolled_window1.set_border_width(2) self.grid.attach(scrolled_window1, 0, 2, 3, 1) # we scroll only if needed scrolled_window1.set_policy( Gtk.PolicyType.AUTOMATIC, Gtk.PolicyType.AUTOMATIC) # a text buffer (stores text) self.bufferConsola = Gtk.TextBuffer() # a textview (displays the buffer) self.txtConsola = Gtk.TextView(buffer=self.bufferConsola) # textview is scrolled scrolled_window1.add(self.txtConsola) # wrap the text, if needed, breaking lines in between words self.txtConsola.set_wrap_mode(Gtk.WrapMode.WORD) self.bufferConsola.set_text('>') self.txtConsola.modify_bg(Gtk.StateType.NORMAL, Gdk.color_parse( "#014276" )); tag = self.bufferConsola.create_tag() tag.set_property("foreground",'yellow') start = self.bufferConsola.get_start_iter() end = self.bufferConsola.get_end_iter() self.bufferConsola.apply_tag(tag, start, end) self.fontConsola = FontDescription.from_string('Monospace') self.fontConsola.set_size(8 * 1000) self.txtConsola.override_font(self.fontConsola)
def __init__(self, preferences, action_name=None): super(SourceView, self).__init__() if action_name: self.action_name = action_name self.set_hexpand(True) self.set_vexpand(True) self.text_buffer = Buffer.new_with_language( LANGS['.%s' % preferences.parser]) self.text_buffer.connect("changed", self.inc_changes) self.source_view = View.new_with_buffer(self.text_buffer) self.spellchecker = Checker() self.spellchecker.connect("language-changed", self.language_changed) self.source_view.override_font( FontDescription.from_string('Monospace')) # self.source_view.set_monospace(True) since 3.16 self.add(self.source_view) editor_pref = preferences.editor self.set_period_save(editor_pref.period_save) self.set_check_spelling(editor_pref.check_spelling, editor_pref.spell_lang) self.set_spaces_instead_of_tabs(editor_pref.spaces_instead_of_tabs) self.source_view.set_tab_width(editor_pref.tab_width) self.source_view.set_auto_indent(editor_pref.auto_indent) self.source_view.set_show_line_numbers(editor_pref.line_numbers) self.source_view.set_show_right_margin(editor_pref.right_margin) self.source_view.set_highlight_current_line(editor_pref.current_line) self.set_text_wrapping(editor_pref.text_wrapping) self.set_white_chars(editor_pref.white_chars)
def __init__(self, parent, traceback): super(TraceBackDialog, self).__init__( "Traceback error", parent, Gtk.DialogFlags.MODAL | Gtk.DialogFlags.DESTROY_WITH_PARENT, use_header_bar=True) box = self.get_content_area() label = Gtk.Label(traceback) label.override_font(FontDescription.from_string('Monospace')) label.show_all() box.add(label)
def __init__(self, win, preferences, action_name=None): super(SourceView, self).__init__() if action_name: self.action_name = action_name self.set_hexpand(True) self.set_vexpand(True) self.text_buffer = Buffer.new_with_language(LANGS['.%s' % preferences.parser]) self.text_buffer.connect("changed", self.inc_changes) # TODO: will work when FileSaver and FileLoader will be used # self.text_buffer.set_implicit_trailing_newline(False) self.source_view = View.new_with_buffer(self.text_buffer) adj = self.get_vadjustment() adj.connect("value-changed", self.on_scroll_changed) self.spellchecker = Checker() self.spellchecker.connect("language-changed", self.on_language_changed) self.source_view.override_font( FontDescription.from_string('Monospace')) # self.source_view.set_monospace(True) since 3.16 self.add(self.source_view) editor_pref = preferences.editor self.set_period_save(editor_pref.period_save) self.set_check_spelling(editor_pref.check_spelling, editor_pref.spell_lang) self.set_spaces_instead_of_tabs(editor_pref.spaces_instead_of_tabs) self.source_view.set_tab_width(editor_pref.tab_width) self.source_view.set_auto_indent(editor_pref.auto_indent) self.source_view.set_show_line_numbers(editor_pref.line_numbers) self.source_view.set_show_right_margin(editor_pref.right_margin) self.source_view.set_highlight_current_line(editor_pref.current_line) self.set_text_wrapping(editor_pref.text_wrapping) self.set_white_chars(editor_pref.white_chars) self.search_settings = SearchSettings(wrap_around=True) self.search_context = SearchContext.new(self.text_buffer, self.search_settings) self.search_mark = None self.__win = win timeout_add(200, self.check_in_thread)
def generate_textview(self): scrolledwindow = Gtk.ScrolledWindow() scrolledwindow.set_hexpand(True) scrolledwindow.set_vexpand(True) self.grid.attach(scrolledwindow, 0, 1, 3, 1) self.textview = GtkSource.View() self.font = FontDescription.from_string('Monospace') self.font.set_size(12 * 1000) self.textview.override_font(self.font) self.textview.set_show_line_numbers(True) self.textview.set_auto_indent(True) self.textview.set_tab_width(4) #self.textview.set_show_right_margin(True) #muy python self.textview.set_highlight_current_line(True) self.set_text_wrapping(False) #self.set_white_chars(True) #pone los puntos en los espacios self.textbuffer = self.textview.get_buffer() self.textbuffer.new_with_language(self.LANGS['.%s' % 'py']) self.textbuffer.set_text('') self.workingFile = None self.do_file_type('.py') #/usr/share/gtksourceview-3.0/styles/ #mas temas en https://wiki.gnome.org/Projects/GtkSourceView/StyleSchemes style_scheme = GtkSource.StyleSchemeManager.get_default().get_scheme( 'oblivion') #style_scheme = GtkSource.StyleSchemeManager.get_default().get_scheme('tango') self.textbuffer.set_style_scheme(style_scheme) scrolledwindow.add(self.textview) self.tag_bold = self.textbuffer.create_tag("bold", weight=Pango.Weight.BOLD) self.tag_italic = self.textbuffer.create_tag("italic", style=Pango.Style.ITALIC) self.tag_underline = self.textbuffer.create_tag( "underline", underline=Pango.Underline.SINGLE) self.tag_found = self.textbuffer.create_tag("found", background="yellow") #scroll zoom raton self.textview.connect('scroll-event', self.on_scroll) self.connect("key-press-event", self.key_press_event)
def generate_textview(self): scrolledwindow = Gtk.ScrolledWindow() scrolledwindow.set_hexpand(True) scrolledwindow.set_vexpand(True) self.grid.attach(scrolledwindow, 0, 1, 3, 1) self.textview = GtkSource.View() self.font = FontDescription.from_string('Monospace') self.font.set_size(12*1000) self.textview.override_font(self.font) self.textview.set_show_line_numbers(True) self.textview.set_auto_indent(True) self.textview.set_tab_width(4) #self.textview.set_show_right_margin(True) #muy python self.textview.set_highlight_current_line(True) self.set_text_wrapping(False) #self.set_white_chars(True) #pone los puntos en los espacios self.textbuffer = self.textview.get_buffer() self.textbuffer.new_with_language(self.LANGS['.%s' % 'py']) self.textbuffer.set_text('') self.workingFile = None self.do_file_type('.py') #/usr/share/gtksourceview-3.0/styles/ #mas temas en https://wiki.gnome.org/Projects/GtkSourceView/StyleSchemes style_scheme = GtkSource.StyleSchemeManager.get_default().get_scheme('oblivion') #style_scheme = GtkSource.StyleSchemeManager.get_default().get_scheme('tango') self.textbuffer.set_style_scheme(style_scheme) scrolledwindow.add(self.textview) self.tag_bold = self.textbuffer.create_tag("bold", weight=Pango.Weight.BOLD) self.tag_italic = self.textbuffer.create_tag("italic", style=Pango.Style.ITALIC) self.tag_underline = self.textbuffer.create_tag("underline", underline=Pango.Underline.SINGLE) self.tag_found = self.textbuffer.create_tag("found", background="yellow") #scroll zoom raton self.textview.connect('scroll-event', self.on_scroll) self.connect("key-press-event", self.key_press_event)
def parse(self, value): """ Override of :meth:`ConfigOpt.parse` that converts a font description string using notation ``Times New Roman 12`` to a ``Pango.FontDescription`` object. For parsing to be successful, given font must exists on system. For that see :attr:`ConfigFont.fonts` (lazy loaded, create any instance of ConfigFont first). """ from gi.repository.Pango import FontDescription font = FontDescription.from_string(value) name = font.get_family() if name not in ConfigFont.fonts: raise ValueError('Unknown font <{}>.'.format(name)) if font.get_size == 0: font.set_size(12 * 1024) return font
def _format_preview_text(self): buf = self._ui.preview_textview.get_buffer() start_iter = buf.get_start_iter() start_mark = buf.create_mark(None, start_iter, True) buf.remove_all_tags(start_iter, buf.get_end_iter()) formatter = GTKFormatter(style=self.config.get_style_name(), start_mark=start_mark) code = start_iter.get_text(buf.get_end_iter()) lexer = self.config.get_default_lexer() if not self.config.is_internal_none_lexer(lexer): tokens = pygments.lex(code, lexer) pygments.format(tokens, formatter, buf) buf.delete_mark(start_mark) self._ui.preview_textview.override_font( FontDescription.from_string(self.config.get_font())) color = Gdk.RGBA() if color.parse(self.config.get_bgcolor()): self._ui.preview_textview.override_background_color( Gtk.StateFlags.NORMAL, color)