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()
评论列表
文章目录