def create_treeview(self):
self.treeview = gtk.TreeView(self.treestore)
self.treeview.set_grid_lines(gtk.TREE_VIEW_GRID_LINES_VERTICAL)
self.builder.get_object("feat_scrolledwindow").add(self.treeview)
self.treeview.add_events(gdk.BUTTON_PRESS_MASK)
self.treeview.connect('button-press-event', self.pop_menu)
self.treeview.connect('row_activated', self.tv_row_activated)
self.treeview.connect('key_press_event', self.tv_key_pressed_event)
# icon and name
col = gtk.TreeViewColumn(_("Name"))
cell = gtk.CellRendererPixbuf()
cell.set_fixed_size(treeview_icon_size, treeview_icon_size)
self.tv1_icon_cell = cell
col.pack_start(cell, expand = False)
col.set_cell_data_func(cell, self.get_col_icon)
col.set_min_width(int(self.col_width_adj.get_value()))
self.name_cell = gtk.CellRendererText()
col.pack_start(self.name_cell, expand = True)
col.set_cell_data_func(self.name_cell, self.get_col_name)
col.set_resizable(True)
self.name_cell.set_property('ellipsize', self.pref.name_ellipsis)
self.name_cell.set_property('xpad', 2)
self.treeview.append_column(col)
# value
col = gtk.TreeViewColumn(_("Value"))
cell = CellRendererMx(self.treeview)
cell.edited = self.edited
cell.set_preediting(self.get_editinfo)
cell.set_refresh_fn(self.get_selected_feature)
col.pack_start(cell, expand = True)
col.set_cell_data_func(cell, self.get_col_value)
col.set_min_width(200)
col.set_resizable(True)
self.treeview.append_column(col)
self.treeview.set_tooltip_column(1)
self.treeview.connect("cursor-changed", self.get_selected_feature)
self.treeview.set_model(self.master_filter)
评论列表
文章目录