def __init__(self, journalactivity): Gtk.TreeView.__init__(self) self._journalactivity = journalactivity self.icon_activity_column = None self.buddies_columns = [] self._invoker = TreeViewInvoker() self._invoker.attach_treeview(self) self.set_headers_visible(False) self.set_enable_search(False) self.add_events(Gdk.EventMask.BUTTON_PRESS_MASK | Gdk.EventMask.TOUCH_MASK | Gdk.EventMask.BUTTON_RELEASE_MASK)
def __init__(self): Gtk.TreeView.__init__(self) self._query = '' self.set_headers_visible(False) self.add_events(Gdk.EventMask.BUTTON_PRESS_MASK | Gdk.EventMask.TOUCH_MASK | Gdk.EventMask.BUTTON_RELEASE_MASK) selection = self.get_selection() selection.set_mode(Gtk.SelectionMode.NONE) self._model = ListModel() self._model.set_visible_func(self.__model_visible_cb) self.set_model(self._model) column = Gtk.TreeViewColumn() cell_favorites = [] for i in range(desktop.get_number_of_views()): cell_favorites.append(CellRendererFavorite(i)) cell_favorites[i].connect('clicked', self.__favorite_clicked_cb) column.pack_start(cell_favorites[i], True) column.set_cell_data_func(cell_favorites[i], self.__favorite_set_data_cb) self.append_column(column) cell_icon = CellRendererActivityIcon() cell_icon.connect('clicked', self.__icon_clicked_cb) column = Gtk.TreeViewColumn() column.pack_start(cell_icon, True) column.add_attribute(cell_icon, 'file-name', self._model.column_icon) self.append_column(column) self._icon_column = column cell_text = Gtk.CellRendererText() cell_text.props.ellipsize = style.ELLIPSIZE_MODE_DEFAULT cell_text.props.ellipsize_set = True column = Gtk.TreeViewColumn() column.props.sizing = Gtk.TreeViewColumnSizing.GROW_ONLY column.props.expand = True column.set_sort_column_id(self._model.column_title) column.pack_start(cell_text, True) column.add_attribute(cell_text, 'markup', self._model.column_title) self.append_column(column) cell_text = Gtk.CellRendererText() cell_text.props.xalign = 1 column = Gtk.TreeViewColumn() column.set_alignment(1) column.props.sizing = Gtk.TreeViewColumnSizing.GROW_ONLY column.props.resizable = True column.props.reorderable = True column.props.expand = True column.set_sort_column_id(self._model.column_version) column.pack_start(cell_text, True) column.add_attribute(cell_text, 'text', self._model.column_version_text) self.append_column(column) cell_text = Gtk.CellRendererText() cell_text.props.xalign = 1 column = Gtk.TreeViewColumn() column.set_alignment(1) column.props.sizing = Gtk.TreeViewColumnSizing.GROW_ONLY column.props.resizable = True column.props.reorderable = True column.props.expand = True column.set_sort_column_id(self._model.column_date) column.pack_start(cell_text, True) column.add_attribute(cell_text, 'text', self._model.column_date_text) self.append_column(column) self.set_search_column(self._model.column_title) self.set_enable_search(False) self._activity_selected = None self._invoker = TreeViewInvoker() self._invoker.attach_treeview(self)
def __init__(self): Gtk.TreeView.__init__(self) self.set_can_focus(False) self._query = '' self.set_headers_visible(False) self.add_events(Gdk.EventMask.BUTTON_PRESS_MASK | Gdk.EventMask.TOUCH_MASK | Gdk.EventMask.BUTTON_RELEASE_MASK) selection = self.get_selection() selection.set_mode(Gtk.SelectionMode.NONE) self._model = ListModel() self._model.set_visible_func(self.__model_visible_cb) self.set_model(self._model) self._favorite_columns = [] for i in range(desktop.get_number_of_views()): self.fav_column = Gtk.TreeViewColumn() self.cell_favorite = CellRendererFavorite(i) self.cell_favorite.connect('clicked', self.__favorite_clicked_cb) self.fav_column.pack_start(self.cell_favorite, True) self.fav_column.set_cell_data_func(self.cell_favorite, self.__favorite_set_data_cb) self.append_column(self.fav_column) self._favorite_columns.append(self.fav_column) self.cell_icon = CellRendererActivityIcon() column = Gtk.TreeViewColumn() column.pack_start(self.cell_icon, True) column.add_attribute(self.cell_icon, 'file-name', self._model.column_icon) self.append_column(column) self._icon_column = column cell_text = Gtk.CellRendererText() cell_text.props.ellipsize = style.ELLIPSIZE_MODE_DEFAULT cell_text.props.ellipsize_set = True column = Gtk.TreeViewColumn() column.props.sizing = Gtk.TreeViewColumnSizing.GROW_ONLY column.props.expand = True column.set_sort_column_id(self._model.column_title) column.pack_start(cell_text, True) column.add_attribute(cell_text, 'markup', self._model.column_title) self.append_column(column) cell_text = Gtk.CellRendererText() cell_text.props.xalign = 1 self.version_column = Gtk.TreeViewColumn() self.version_column.set_alignment(1) self.version_column.props.sizing = Gtk.TreeViewColumnSizing.GROW_ONLY self.version_column.props.resizable = True self.version_column.props.reorderable = True self.version_column.props.expand = True self.version_column.set_sort_column_id(self._model.column_version) self.version_column.pack_start(cell_text, True) self.version_column.add_attribute(cell_text, 'text', self._model.column_version_text) self.append_column(self.version_column) cell_text = Gtk.CellRendererText() cell_text.props.xalign = 1 self.date_column = Gtk.TreeViewColumn() self.date_column.set_alignment(1) self.date_column.props.sizing = Gtk.TreeViewColumnSizing.GROW_ONLY self.date_column.props.resizable = True self.date_column.props.reorderable = True self.date_column.props.expand = True self.date_column.set_sort_column_id(self._model.column_date) self.date_column.pack_start(cell_text, True) self.date_column.add_attribute(cell_text, 'text', self._model.column_date_text) self.append_column(self.date_column) self.set_search_column(self._model.column_title) self.set_enable_search(False) self._activity_selected = None self._invoker = TreeViewInvoker() self._invoker.attach_treeview(self) self.button_press_handler = None self.button_reslease_handler = None self.icon_clicked_handler = None self.row_activated_handler = None if hasattr(self.props, 'activate_on_single_click'): # Gtk+ 3.8 and later self.props.activate_on_single_click = True self.row_activated_handler = self.connect('row-activated', self.__row_activated_cb) else: self.icon_clicked_handler = self.cell_icon.connect( 'clicked', self.__icon_clicked_cb) self.button_press_handler = self.connect('button-press-event', self.__button_press_cb) self.button_reslease_handler = self.connect( 'button-release-event', self.__button_release_cb) self._row_activated_armed_path = None
scrolled.add(treeview) test.pack_start(scrolled, True, True, 0) test.show_all() col = Gtk.TreeViewColumn() treeview.append_column(col) xo_color = XoColor('#FF0000,#00FF00') cell_icon = CellRendererIcon() cell_icon.props.width = style.GRID_CELL_SIZE cell_icon.props.height = style.GRID_CELL_SIZE cell_icon.props.size = style.STANDARD_ICON_SIZE cell_icon.props.xo_color = xo_color col.pack_start(cell_icon, expand=False) col.add_attribute(cell_icon, 'icon-name', 0) cell_text = Gtk.CellRendererText() col.pack_start(cell_text, expand=True) col.add_attribute(cell_text, 'text', 0) invoker = TreeViewInvoker() invoker.attach_treeview(treeview) detector = ScrollingDetector(scrolled) detector.connect('scroll-start', _scroll_start_cb, treeview, invoker) detector.connect('scroll-end', _scroll_end_cb, treeview, invoker) if __name__ == '__main__': time_ini = time.time() common.main(test)