Beispiel #1
0
    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)
Beispiel #2
0
    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)
Beispiel #3
0
    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)
Beispiel #4
0
 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)
Beispiel #5
0
 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)
Beispiel #6
0
    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)
Beispiel #7
0
    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)
Beispiel #8
0
    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)
Beispiel #9
0
    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
Beispiel #10
0
    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)