Ejemplo n.º 1
0
    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()
Ejemplo n.º 2
0
Archivo: cli.py Proyecto: renyxa/re-lab
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
Ejemplo n.º 3
0
    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)
Ejemplo n.º 4
0
    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
Ejemplo n.º 5
0
    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 )
Ejemplo n.º 6
0
    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)
Ejemplo n.º 7
0
    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)
Ejemplo n.º 8
0
    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)
Ejemplo n.º 9
0
 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)
Ejemplo n.º 10
0
    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
Ejemplo n.º 11
0
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
Ejemplo n.º 12
0
    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)
Ejemplo n.º 13
0
    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()
Ejemplo n.º 14
0
    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)
Ejemplo n.º 15
0
 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)
Ejemplo n.º 16
0
    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()
Ejemplo n.º 17
0
    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 = ''
Ejemplo n.º 18
0
    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()
Ejemplo n.º 19
0
    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)
Ejemplo n.º 20
0
    def __init__(self):

        gtksourceview2.View.__init__(self)

        self.set_buffer(gtksourceview2.Buffer())

        self.modify_font(pango.FontDescription('Monospace 10'))

        self.show_all()
Ejemplo n.º 21
0
    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()
Ejemplo n.º 22
0
    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)
Ejemplo n.º 23
0
    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()
Ejemplo n.º 24
0
    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)
Ejemplo n.º 25
0
    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)
Ejemplo n.º 26
0
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
Ejemplo n.º 27
0
    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
Ejemplo n.º 28
0
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()
Ejemplo n.º 29
0
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()
Ejemplo n.º 30
0
    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'))