def __init__(self): super(StatusView, self).__init__() self.set_policy(gtk.POLICY_AUTOMATIC, gtk.POLICY_AUTOMATIC) self.set_shadow_type(gtk.SHADOW_ETCHED_IN) self.tag_table = gtk.TextTagTable() self.buffer = gtk.TextBuffer(self.tag_table) self.view = gtk.TextView(self.buffer) self.view.set_wrap_mode(gtk.WRAP_WORD_CHAR) self.view.set_indent(4) Prefs()['gui.statustab.font'].connect(self.__modify_font) self.view.set_border_window_size(gtk.TEXT_WINDOW_LEFT, 16) self.view.set_editable(False) # Create various tags self.view.connect('expose-event', self.__redraw_left_window) self.view.connect('style-set', self.__on_style) self.view.connect('realize', self.__on_realize) self.add(self.view) self.icons = ( get_pixbuf('info_small'), get_pixbuf('warning_small'), get_pixbuf('error_small') ) self.lines = []
def __init__(self): super(StatusView, self).__init__() self.set_policy(gtk.POLICY_AUTOMATIC, gtk.POLICY_AUTOMATIC) self.set_shadow_type(gtk.SHADOW_ETCHED_IN) self.tag_table = gtk.TextTagTable() self.buffer = gtk.TextBuffer(self.tag_table) self.view = gtk.TextView(self.buffer) self.view.set_wrap_mode(gtk.WRAP_WORD_CHAR) self.view.set_indent(4) Prefs()['gui.statustab.font'].connect(self.__modify_font) self.view.set_border_window_size(gtk.TEXT_WINDOW_LEFT, 16) self.view.set_editable(False) # Create various tags self.view.connect('expose-event', self.__redraw_left_window) self.view.connect('style-set', self.__on_style) self.view.connect('realize', self.__on_realize) self.add(self.view) self.icons = (get_pixbuf('info_small'), get_pixbuf('warning_small'), get_pixbuf('error_small')) self.lines = []
def __create_columns(self): col = gtk.TreeViewColumn(_("Audits")) col.set_expand(True) col.set_resizable(True) col.set_resizable(True) col.set_sizing(gtk.TREE_VIEW_COLUMN_GROW_ONLY) rend = gtk.CellRendererPixbuf() col.pack_start(rend, False) col.set_cell_data_func(rend, self.__pix_data_func) rend = gtk.CellRendererText() col.pack_start(rend) col.set_cell_data_func(rend, self.__text_data_func) self.tree.append_column(col) rend = gtk.CellRendererProgress() col = gtk.TreeViewColumn(_("Status"), rend) col.set_expand(False) col.set_resizable(True) col.set_fixed_width(150) col.set_sizing(gtk.TREE_VIEW_COLUMN_FIXED) col.set_cell_data_func(rend, self.__progress_data_func) self.tree.append_column(col) self.tree.set_rules_hint(True) self.icon_operation = get_pixbuf("operation_small")
def __create_columns(self): col = gtk.TreeViewColumn(_('Audits')) col.set_expand(True) col.set_resizable(True) col.set_resizable(True) col.set_sizing(gtk.TREE_VIEW_COLUMN_GROW_ONLY) rend = gtk.CellRendererPixbuf() col.pack_start(rend, False) col.set_cell_data_func(rend, self.__pix_data_func) rend = gtk.CellRendererText() col.pack_start(rend) col.set_cell_data_func(rend, self.__text_data_func) self.tree.append_column(col) rend = gtk.CellRendererProgress() col = gtk.TreeViewColumn(_('Status'), rend) col.set_expand(False) col.set_resizable(True) col.set_fixed_width(150) col.set_sizing(gtk.TREE_VIEW_COLUMN_FIXED) col.set_cell_data_func(rend, self.__progress_data_func) self.tree.append_column(col) self.tree.set_rules_hint(True) self.icon_operation = get_pixbuf('operation_small')
def __init__(self): gtk.ScrolledWindow.__init__(self) self.packet = None self.store = gtk.TreeStore(object) self.tree = gtk.TreeView(self.store) self.set_policy(gtk.POLICY_AUTOMATIC, gtk.POLICY_AUTOMATIC) self.set_shadow_type(gtk.SHADOW_ETCHED_IN) col = gtk.TreeViewColumn('Property') crt = CellRendererGroup(self) crt.set_property('xpad', 0) crt.set_property('cell-background-gdk', self.style.mid[gtk.STATE_NORMAL]) pix = CellRendererIcon() pix.set_property('xpad', 0) pix.set_property('ypad', 0) col.pack_start(pix, False) col.pack_start(crt, True) col.set_resizable(True) col.set_expand(False) col.set_sizing(gtk.TREE_VIEW_COLUMN_FIXED) col.set_fixed_width(120) col.set_cell_data_func(crt, self.__group_cell_func) col.set_cell_data_func(pix, self.__pixbuf_cell_func) self.tree.append_column(col) col = gtk.TreeViewColumn('Value') crt = CellRendererProperty(self) col.pack_start(crt, True) #col.set_sizing(gtk.TREE_VIEW_COLUMN_FIXED) col.set_resizable(False) col.set_expand(True) col.set_attributes(crt) col.set_cell_data_func(crt, self.__property_cell_func) self.tree.append_column(col) #self.tree.set_headers_visible(False) self.tree.set_search_column(0) self.tree.set_search_equal_func(self.__search_func) self.tree.set_enable_tree_lines(True) # This don't work with cell back self.add(self.tree) self.icon_locked = get_pixbuf("locked_small") self.finish_callback = self.__on_finish_edit self.tree.get_selection().connect('changed', self.__on_selection_changed) self.tree.connect('button-release-event', self.__on_button_release)
def __init__(self, parent): gtk.ScrolledWindow.__init__(self) self.__create_widgets() self.__pack_widgets() self.__connect_signals() self.session = parent self.proto_icon = get_pixbuf('protocol_small') self.reload()
def __init__(self): self.icon = get_pixbuf('layer_small') self.store = gtk.ListStore(gtk.gdk.Pixbuf, str) super(FilterLayer, self).__init__(self.store) pix = gtk.CellRendererPixbuf() txt = gtk.CellRendererText() self.pack_start(pix, False) self.pack_start(txt, True) self.add_attribute(pix, 'pixbuf', 0) self.add_attribute(txt, 'text', 1)
class ClosableLabel(gtk.HBox): __gtype_name__ = "ClosableLabel" __gsignals__ = { 'close-clicked': (gobject.SIGNAL_RUN_LAST, gobject.TYPE_NONE, ()), 'context-menu': (gobject.SIGNAL_RUN_LAST, gobject.TYPE_NONE, (gobject.TYPE_PYOBJECT, )), } __close_icon = get_pixbuf('stock-close_small') def __init__(self, txt): super(ClosableLabel, self).__init__(False, 2) self.arrow = gtk.Arrow(gtk.ARROW_RIGHT, gtk.SHADOW_NONE) self.arrow_box = gtk.EventBox() self.arrow_box.add(self.arrow) self.arrow_box.set_visible_window(False) self.arrow_box.connect('button-press-event', self.__on_arrow_btn) self.label = gtk.Label(txt) self.label.set_use_markup(True) self.label.set_alignment(0, 0.5) self.label.set_ellipsize(pango.ELLIPSIZE_START) self.label.set_size_request(150, -1) self.button = gtk.Button() self.button.add(gtk.image_new_from_pixbuf(self.__close_icon)) self.button.set_relief(gtk.RELIEF_NONE) self.button.connect('clicked', self.__on_clicked) self.pack_start(self.arrow_box, False, False) self.pack_start(self.label) self.pack_start(self.button, False, False) self.label.show_all() self.button.show_all() def __on_clicked(self, button): self.emit('close-clicked') def set_menu_active(self, value): if value: self.arrow_box.show_all() else: self.arrow_box.hide() def __on_arrow_btn(self, ebox, event): #if event.button == 3: self.emit('context-menu', event)
def __create_widgets(self): pix_cell = gtk.CellRendererPixbuf() txt_cell = gtk.CellRendererText() self.path_store = gtk.ListStore(gtk.gdk.Pixbuf, str) self.path_view = gtk.TreeView(self.path_store) col = gtk.TreeViewColumn('') col.pack_start(pix_cell, False) col.pack_start(txt_cell) col.add_attribute(pix_cell, 'pixbuf', 0) col.add_attribute(txt_cell, 'text', 1) self.path_view.append_column(col) self.path_view.set_headers_visible(False) # Enable drag moving entries = [('PathView', gtk.TARGET_SAME_WIDGET, 0)] self.path_view.enable_model_drag_source( gtk.gdk.BUTTON1_MASK, entries, gtk.gdk.ACTION_MOVE ) self.path_view.enable_model_drag_dest( entries, gtk.gdk.ACTION_MOVE ) self.path_view.connect( 'drag-data-received', PathPage.__on_drag_data_received ) self.path_add = gtk.Button(stock=gtk.STOCK_ADD) self.path_remove = gtk.Button(stock=gtk.STOCK_REMOVE) self.path_save = gtk.Button(stock=gtk.STOCK_SAVE) self.path_icon = get_pixbuf('paths_small') # Connect callbacks self.path_add.connect('clicked', self.__on_add_path) self.path_remove.connect('clicked', self.__on_remove_path) self.path_save.connect('clicked', self.__on_save_path)
def __init__(self): self.store = gtk.ListStore(object) super(OperationTree, self).__init__(self.store) # We have only one column with a progress bar # showing a text col = gtk.TreeViewColumn(_('Operation')) col.set_expand(True) col.set_resizable(True) col.set_resizable(True) col.set_sizing(gtk.TREE_VIEW_COLUMN_GROW_ONLY) rend = gtk.CellRendererPixbuf() col.pack_start(rend, False) col.set_cell_data_func(rend, self.__pix_data_func) rend = gtk.CellRendererText() col.pack_start(rend) col.set_cell_data_func(rend, self.__text_data_func) self.append_column(col) rend = gtk.CellRendererProgress() col = gtk.TreeViewColumn(_('Status'), rend) col.set_expand(False) col.set_resizable(True) col.set_fixed_width(150) col.set_sizing(gtk.TREE_VIEW_COLUMN_FIXED) col.set_cell_data_func(rend, self.__progress_data_func) self.append_column(col) self.set_rules_hint(True) self.icon_operation = get_pixbuf('operation_small') self.connect('button-release-event', self.__on_button_release) self.timeout_id = None self.timeout_update()
def __init__(self): super(ProtocolTree, self).__init__(False, 2) toolbar = gtk.Toolbar() toolbar.set_style(gtk.TOOLBAR_ICONS) stocks = (gtk.STOCK_SORT_ASCENDING, gtk.STOCK_SORT_DESCENDING, gtk.STOCK_CONVERT) callbacks = (self.__on_sort_ascending, self.__on_sort_descending, self.__on_sort_layer) tooltips = (_('Sort ascending'), _('Sort descending'), _('Sort by layer')) for tooltip, stock, cb in zip(tooltips, stocks, callbacks): action = gtk.Action(None, None, tooltip, stock) item = action.create_tool_item() item.connect('clicked', cb) toolbar.insert(item, -1) self.store = gtk.TreeStore(gtk.gdk.Pixbuf, str, object) self.tree = gtk.TreeView() self.tree.set_headers_visible(False) txt = gtk.CellRendererText() pix = gtk.CellRendererPixbuf() col = gtk.TreeViewColumn(_('Protocols')) col.pack_start(pix, False) col.pack_start(txt) col.set_attributes(pix, pixbuf=ProtocolTree.COL_PIX) col.set_attributes(txt, text=ProtocolTree.COL_STR) col.set_cell_data_func(pix, self.__pix_cell_data_func) col.set_cell_data_func(txt, self.__txt_cell_data_func) txt.set_property('xpad', 6) pix.set_property('xpad', 0) self.tree.append_column(col) self.tree.set_enable_tree_lines(True) self.tree.enable_model_drag_source( gtk.gdk.BUTTON1_MASK, [('text/plain', 0, 0)], gtk.gdk.ACTION_COPY ) self.tree.connect_after('drag-begin', self.__on_drag_begin) self.tree.connect('drag-data-get', self.__on_drag_data_get) self.tree.connect('button-press-event', self.__on_button_press) sw = gtk.ScrolledWindow() sw.set_policy(gtk.POLICY_AUTOMATIC, gtk.POLICY_AUTOMATIC) sw.set_shadow_type(gtk.SHADOW_ETCHED_IN) sw.add(self.tree) self.pack_start(toolbar, False, False) self.pack_start(sw) self.proto_icon = get_pixbuf('protocol_small') self.layer_icon = get_pixbuf('layer_small') # Now create the context menu self.context_menu = gtk.Menu() self.accel_group = gtk.AccelGroup() self.action_group = gtk.ActionGroup('ProtocolSelectorAction') labels = (_('Add to a new sequence'), None, _('Append to the sequence'), _('Append to the sequence selection'), None, _('Append to the hierarchy'), _('Append to the hierarchy selection')) accels = ('<Shift>N', None, '<Shift>S', '<Shift><Alt>S', None, '<Ctrl>H', '<Ctrl><Alt>H') stocks = (gtk.STOCK_NEW, None, gtk.STOCK_GOTO_BOTTOM, gtk.STOCK_GO_DOWN, None, gtk.STOCK_GOTO_BOTTOM, gtk.STOCK_GO_DOWN) cbs = (self.__add_to_new_sequence, None, self.__append_cur_sequence, self.__append_cur_sequence_sel, None, self.__append_cur_hier, self.__append_cur_hier_sel) for lbl, stock, accel, cb in zip(labels, stocks, accels, cbs): if not lbl: self.context_menu.append(gtk.SeparatorMenuItem()) continue action = gtk.Action(lbl, lbl, None, stock) action.connect('activate', cb) self.action_group.add_action_with_accel(action, accel) action.set_accel_group(self.accel_group) self.context_menu.append(action.create_menu_item()) self.context_menu.show_all() self.__on_sort_ascending(None)