def __init__(self):
super(ShowLastPackets.PacketList, self).__init__()
self.set_properties(hscrollbar_policy=gtk.POLICY_AUTOMATIC,
vscrollbar_policy=gtk.POLICY_AUTOMATIC)
self.table_model = gtk.ListStore(*([str]*4))
treeview = gtk.TreeView(self.table_model)
treeview.show()
self.add(treeview)
def add_column(descr, colid):
column = gtk.TreeViewColumn(descr, gtk.CellRendererText(), text=colid)
treeview.append_column(column)
add_column("Time", self.COLUMN_TIME)
add_column("Interface", self.COLUMN_INTERFACE)
add_column("Size", self.COLUMN_SIZE)
add_column("Contents", self.COLUMN_CONTENTS)
python类ListStore()的实例源码
def create_list_view(col_label,):
# create list widget
list_ = gtk.ListStore(str)
list_view = gtk.TreeView(model=list_)
list_view.set_rules_hint(True)
list_view.get_selection().set_mode(gtk.SELECTION_SINGLE)
# Add Colums
renderer = gtk.CellRendererText()
renderer.set_data("column", COLUMN_SUGGESTION)
column = gtk.TreeViewColumn(col_label, renderer,text=COLUMN_SUGGESTION)
list_view.append_column(column)
return list_view
def __init__(self, index, ui):
self.index = index
self.ui = ui
self.current_tag = None
self.model = gtk.ListStore(str, int, str) # PAGE_COL, TAGS_COL
SingleClickTreeView.__init__(self, self.model)
cells = (('Page', self.PAGE_COL, True),
('N', self.TAGS_N_COL, False),
('Tags', self.TAGS_COL, True))
for name, col_id, expand in (cells):
cell = gtk.CellRendererText()
cell.set_property('ellipsize', pango.ELLIPSIZE_END)
cell.set_property('cell-background', 'white')
col = gtk.TreeViewColumn(name, cell)
col.set_attributes(cell, text = col_id)
col.set_resizable(expand)
col.set_expand(expand)
col.set_sort_column_id(col_id)
self.append_column(col)
self.connect('row-activated', lambda treeview, path, column:
self.row_activated(path, column))
self.refill_model()
def __init__(self, index, ui):
self.tagview = TagsView.new_from_index(index)
self.ui = ui
self.current_tag = None
self.model = gtk.ListStore(str, int, str) # PAGE_COL, TAGS_COL
SingleClickTreeView.__init__(self, self.model)
cells = (('Page', self.PAGE_COL, True),
('N', self.TAGS_N_COL, False),
('Tags', self.TAGS_COL, True))
for name, col_id, expand in cells:
cell = gtk.CellRendererText()
cell.set_property('ellipsize', pango.ELLIPSIZE_END)
cell.set_property('cell-background', 'white')
col = gtk.TreeViewColumn(name, cell)
col.set_attributes(cell, text = col_id)
col.set_resizable(expand)
col.set_expand(expand)
col.set_sort_column_id(col_id)
self.append_column(col)
self.connect('row-activated', lambda treeview, path, column:
self.row_activated(path, column))
self.refill_model()
def setup_gui_url_chooser(self):
self.media_model = gtk.ListStore(str)
self.media_type = gtk.ComboBox(self.media_model)
cell = gtk.CellRendererText()
self.media_type.pack_start(cell, True)
self.media_type.add_attribute(cell, "text", 0)
for t in ("file", "dvd", "tv", "dvb", "vcd", "radio", "cdda", "tivo"):
self.media_model.append((t,))
self.media_location = gtk.Entry()
self.media_server = gtk.Label()
self.media_server.set_alignment(0, 0.5)
d = catota.ui.Dialog("Choose Location", self.parent_win,
extra_buttons=(gtk.STOCK_PREFERENCES, 1))
t = catota.ui.new_table((("Server:", self.media_server),
("Type:", self.media_type),
("Location:", self.media_location)))
d.vbox.pack_start(t, True, True)
self.gui_url_chooser = d
# setup_gui_url_chooser()
def load_page(self):
self.frontend.builder.connect_signals({"on_btn_unmount_clicked" : self.on_btn_unmount_clicked})
self.trv_mounted = self.frontend.builder.get_object("trv_mounted")
self.trv_mounted_model = gtk.ListStore(str, str)
self.trv_mounted.set_model(self.trv_mounted_model)
column_0 = gtk.TreeViewColumn('Device')
cell_renderer_0 = gtk.CellRendererText()
column_0.pack_start(cell_renderer_0, True)
column_0.add_attribute(cell_renderer_0, 'text', 0)
self.trv_mounted.append_column(column_0)
column_1 = gtk.TreeViewColumn('Mountpoint')
cell_renderer_1 = gtk.CellRendererText()
column_1.pack_start(cell_renderer_1, True)
column_1.add_attribute(cell_renderer_1, 'text', 1)
self.trv_mounted.append_column(column_1)
self.trv_mounted_tree_selection = self.trv_mounted.get_selection()
def load_page(self):
self.trv_drives = self.frontend.builder.get_object("trv_drives")
self.frontend.builder.connect_signals({"on_trv_drives_cursor_changed" : self.on_trv_drives_cursor_changed})
self.trv_drives_model = gtk.ListStore(str, str)
self.trv_drives.set_model(self.trv_drives_model)
column_0 = gtk.TreeViewColumn('Device')
cell_renderer_0 = gtk.CellRendererText()
column_0.pack_start(cell_renderer_0, True)
column_0.add_attribute(cell_renderer_0, 'text', 0)
self.trv_drives.append_column(column_0)
column_1 = gtk.TreeViewColumn('Size (GB)')
cell_renderer_1 = gtk.CellRendererText()
column_1.pack_start(cell_renderer_1, True)
column_1.add_attribute(cell_renderer_1, 'text', 1)
self.trv_drives.append_column(column_1)
self.trv_drives_tree_selection = self.trv_drives.get_selection()
def update_view(self):
global con
iv = self.builder.get_object("iconview1")
model = gtk.ListStore(str, gtk.gdk.Pixbuf)
with con:
cur = con.cursor()
cur.execute("select * from dump")
rows = cur.fetchall()
for (cookie, angent, photo, info, url) in rows:
try:
pixbuf = gtk.gdk.pixbuf_new_from_file(photo)
model.append([info, pixbuf])
except:
pass
iv.set_model(model)
iv.set_text_column(0)
iv.set_pixbuf_column(1)
iv.set_orientation(gtk.ORIENTATION_VERTICAL)
iv.set_selection_mode(gtk.SELECTION_SINGLE)
iv.set_columns(1)
iv.set_item_width(-1)
iv.set_size_request(72, -1)
self.builder.get_object("window1").show_all()
return True
gnome_connection_manager.py 文件源码
项目:gnome-connection-manager
作者: mjun
项目源码
文件源码
阅读 20
收藏 0
点赞 0
评论 0
def __init__(self, path="gnome-connection-manager.glade",
root="wHost",
domain=domain_name, **kwargs):
path = os.path.join(glade_dir, path)
SimpleGladeApp.__init__(self, path, root, domain, **kwargs)
self.treeModel = gtk.ListStore(gobject.TYPE_STRING, gobject.TYPE_STRING, gobject.TYPE_STRING, gobject.TYPE_STRING)
self.treeTunel.set_model(self.treeModel)
column = gtk.TreeViewColumn(_("Local"), gtk.CellRendererText(), text=0)
self.treeTunel.append_column( column )
column = gtk.TreeViewColumn(_("Host"), gtk.CellRendererText(), text=1)
self.treeTunel.append_column( column )
column = gtk.TreeViewColumn(_("Remoto"), gtk.CellRendererText(), text=2)
self.treeTunel.append_column( column )
#-- Whost.new {
def setup_combo_box(self, cbo, items, initial_item=None):
"""initialise a given ComboBox"""
#create items list
cbo.clear()
ls = gtk.ListStore(gobject.TYPE_STRING)
cbo.set_model(ls)
cell = gtk.CellRendererText()
cbo.pack_start(cell, True)
cbo.add_attribute(cell, 'text', 0)
#populate items
if items:
for item in items:
cbo.append_text(item)
#set initial item?
if initial_item:
cbo.set_active(initial_item)
def __init__(self, columns):
gtk.HBox.__init__(self, True, 0)
self.columns = columns
types = tuple([x for x, y in columns])
self.__store = gtk.ListStore(*types)
self.__view = gtk.TreeView(self.__store)
self.pack_start(self.__view, 1, 1, 1)
self.__toggle_connected = False
self._make_view()
self.__view.show()
def make_pixbuf_choice(options, default=None):
store = gtk.ListStore(gtk.gdk.Pixbuf, gobject.TYPE_STRING)
box = gtk.ComboBox(store)
cell = gtk.CellRendererPixbuf()
box.pack_start(cell, True)
box.add_attribute(cell, "pixbuf", 0)
cell = gtk.CellRendererText()
box.pack_start(cell, True)
box.add_attribute(cell, "text", 1)
_default = None
for pic, value in options:
iter = store.append()
store.set(iter, 0, pic, 1, value)
if default == value:
_default = options.index((pic, value))
if _default:
box.set_active(_default)
return box
def __init__(self, p):
self.p = p
vals = [time.time()]
if p.inLog:
vals.append(p.inLog[0][0])
if p.outLog:
vals.append(p.outLog[0][0])
self.startTime = min(vals)
p.logViewer = self
self.xml = x = gtk.glade.XML(sibpath(__file__, "logview.glade"))
self.xml.signal_autoconnect(self)
self.loglist = self.xml.get_widget("loglist")
# setup model, connect it to my treeview
self.model = gtk.ListStore(str, str, str)
self.loglist.set_model(self.model)
self.loglist.set_reorderable(1)
self.loglist.set_headers_clickable(1)
# self.servers.set_headers_draggable(1)
# add a column
for col in [
gtk.TreeViewColumn('Time',
gtk.CellRendererText(),
text=0),
gtk.TreeViewColumn('D',
gtk.CellRendererText(),
text=1),
gtk.TreeViewColumn('Data',
gtk.CellRendererText(),
text=2)]:
self.loglist.append_column(col)
col.set_resizable(1)
r = []
for t, data in p.inLog:
r.append(((str(t - self.startTime), "R", repr(data)[1:-1])))
for t, data in p.outLog:
r.append(((str(t - self.startTime), "S", repr(data)[1:-1])))
r.sort()
for i in r:
self.model.append(i)
def __init__(self):
self.xml = gtk.glade.XML(util.sibpath(__file__,"gladereactor.glade"))
d = {}
for m in reflect.prefixedMethods(self, "on_"):
d[m.im_func.__name__] = m
self.xml.signal_autoconnect(d)
self.xml.get_widget('window1').connect('destroy',
lambda w: self.stop())
self.servers = self.xml.get_widget("servertree")
sel = self.servers.get_selection()
sel.set_mode(gtk.SELECTION_SINGLE)
sel.connect("changed",
self.servers_selection_changed)
## argh coredump: self.servers_selection_changed(sel)
self.xml.get_widget('suspend').set_sensitive(0)
self.xml.get_widget('disconnect').set_sensitive(0)
# setup model, connect it to my treeview
self.model = gtk.ListStore(str, object, gobject.TYPE_BOOLEAN,
gobject.TYPE_BOOLEAN)
self.servers.set_model(self.model)
self.servers.set_reorderable(1)
self.servers.set_headers_clickable(1)
# self.servers.set_headers_draggable(1)
# add a column
for col in [
gtk.TreeViewColumn('Server',
gtk.CellRendererText(),
text=0),
gtk.TreeViewColumn('Reading',
gtk.CellRendererToggle(),
active=2),
gtk.TreeViewColumn('Writing',
gtk.CellRendererToggle(),
active=3)]:
self.servers.append_column(col)
col.set_resizable(1)
sup.__init__(self)
def __init__(self, visualizer, node_index, statistics_collector):
InformationWindow.__init__(self)
self.win = gtk.Dialog(parent=visualizer.window,
flags=gtk.DIALOG_DESTROY_WITH_PARENT|gtk.DIALOG_NO_SEPARATOR,
buttons=(gtk.STOCK_CLOSE, gtk.RESPONSE_CLOSE))
self.win.connect("response", self._response_cb)
self.win.set_title("Statistics for node %i" % node_index)
self.visualizer = visualizer
self.statistics_collector = statistics_collector
self.node_index = node_index
self.viz_node = visualizer.get_node(node_index)
self.table_model = gtk.ListStore(*([str]*13))
treeview = gtk.TreeView(self.table_model)
treeview.show()
self.win.vbox.add(treeview)
def add_column(descr, colid):
column = gtk.TreeViewColumn(descr, gtk.CellRendererText(), text=colid)
treeview.append_column(column)
add_column("Interface", self.COLUMN_INTERFACE)
add_column("Tx Packets", self.COLUMN_TX_PACKETS)
add_column("Tx Bytes", self.COLUMN_TX_BYTES)
add_column("Tx pkt/1s", self.COLUMN_TX_PACKET_RATE)
add_column("Tx bit/1s", self.COLUMN_TX_BIT_RATE)
add_column("Rx Packets", self.COLUMN_RX_PACKETS)
add_column("Rx Bytes", self.COLUMN_RX_BYTES)
add_column("Rx pkt/1s", self.COLUMN_RX_PACKET_RATE)
add_column("Rx bit/1s", self.COLUMN_RX_BIT_RATE)
self.visualizer.add_information_window(self)
self.win.show()
def __init__(self, index, preferences):
self.index = index
# Icons corresponding to tags, prevent unnecessary changing.
self.icons_for_tags = preferences.copy()
self.model = gtk.ListStore(str, gtk.gdk.Pixbuf, str, int) # TAG_COL, ICON_COL, ICON_NAME, N_PAGES_COL
SingleClickTreeView.__init__(self, self.model)
cells = (('Tags', self.TAG_COL, True),
('Pages', self.N_PAGES_COL, False))
for name, col_id, expand in (cells):
cell = gtk.CellRendererText()
cell.set_property('ellipsize', pango.ELLIPSIZE_END)
cell.set_property('cell-background', 'white')
col = gtk.TreeViewColumn(name, cell)
col.set_attributes(cell, text = col_id)
col.set_resizable(expand)
col.set_expand(expand)
col.set_sort_column_id(col_id)
self.append_column(col)
cell = gtk.CellRendererPixbuf()
cell.set_property('cell-background', 'white')
col = gtk.TreeViewColumn('Icon', cell)
col.set_attributes(cell, pixbuf = self.ICON_COL)
col.set_resizable(False)
col.set_expand(False)
col.set_sort_column_id(self.ICON_NAME)
self.append_column(col)
self.refill_model()
def __init__(self, index, preferences):
self.index = index
# Icons corresponding to tags, prevent unnecessary changing.
self.icons_for_tags = preferences.copy()
self.model = gtk.ListStore(str, gtk.gdk.Pixbuf, str, int) # TAG_COL, ICON_COL, ICON_NAME, N_PAGES_COL
SingleClickTreeView.__init__(self, self.model)
cells = (('Tags', self.TAG_COL, True),
('Pages', self.N_PAGES_COL, False))
for name, col_id, expand in cells:
cell = gtk.CellRendererText()
cell.set_property('ellipsize', pango.ELLIPSIZE_END)
cell.set_property('cell-background', 'white')
col = gtk.TreeViewColumn(name, cell)
col.set_attributes(cell, text = col_id)
col.set_resizable(expand)
col.set_expand(expand)
col.set_sort_column_id(col_id)
self.append_column(col)
cell = gtk.CellRendererPixbuf()
cell.set_property('cell-background', 'white')
col = gtk.TreeViewColumn('Icon', cell)
col.set_attributes(cell, pixbuf = self.ICON_COL)
col.set_resizable(False)
col.set_expand(False)
col.set_sort_column_id(self.ICON_NAME)
self.append_column(col)
self.refill_model()
def __init__(self, p):
self.p = p
vals = [time.time()]
if p.inLog:
vals.append(p.inLog[0][0])
if p.outLog:
vals.append(p.outLog[0][0])
self.startTime = min(vals)
p.logViewer = self
self.xml = x = gtk.glade.XML(sibpath(__file__, "logview.glade"))
self.xml.signal_autoconnect(self)
self.loglist = self.xml.get_widget("loglist")
# setup model, connect it to my treeview
self.model = gtk.ListStore(str, str, str)
self.loglist.set_model(self.model)
self.loglist.set_reorderable(1)
self.loglist.set_headers_clickable(1)
# self.servers.set_headers_draggable(1)
# add a column
for col in [
gtk.TreeViewColumn('Time',
gtk.CellRendererText(),
text=0),
gtk.TreeViewColumn('D',
gtk.CellRendererText(),
text=1),
gtk.TreeViewColumn('Data',
gtk.CellRendererText(),
text=2)]:
self.loglist.append_column(col)
col.set_resizable(1)
r = []
for t, data in p.inLog:
r.append(((str(t - self.startTime), "R", repr(data)[1:-1])))
for t, data in p.outLog:
r.append(((str(t - self.startTime), "S", repr(data)[1:-1])))
r.sort()
for i in r:
self.model.append(i)
def __init__(self):
self.xml = gtk.glade.XML(util.sibpath(__file__,"gladereactor.glade"))
d = {}
for m in reflect.prefixedMethods(self, "on_"):
d[m.im_func.__name__] = m
self.xml.signal_autoconnect(d)
self.xml.get_widget('window1').connect('destroy',
lambda w: self.stop())
self.servers = self.xml.get_widget("servertree")
sel = self.servers.get_selection()
sel.set_mode(gtk.SELECTION_SINGLE)
sel.connect("changed",
self.servers_selection_changed)
## argh coredump: self.servers_selection_changed(sel)
self.xml.get_widget('suspend').set_sensitive(0)
self.xml.get_widget('disconnect').set_sensitive(0)
# setup model, connect it to my treeview
self.model = gtk.ListStore(str, object, gobject.TYPE_BOOLEAN,
gobject.TYPE_BOOLEAN)
self.servers.set_model(self.model)
self.servers.set_reorderable(1)
self.servers.set_headers_clickable(1)
# self.servers.set_headers_draggable(1)
# add a column
for col in [
gtk.TreeViewColumn('Server',
gtk.CellRendererText(),
text=0),
gtk.TreeViewColumn('Reading',
gtk.CellRendererToggle(),
active=2),
gtk.TreeViewColumn('Writing',
gtk.CellRendererToggle(),
active=3)]:
self.servers.append_column(col)
col.set_resizable(1)
sup.__init__(self)
def createListStore(self, data):
lstore = gtk.ListStore(gobject.TYPE_STRING)
for item in data:
iter = lstore.append()
lstore.set(iter, 0, item)
return lstore
def load_page(self):
self.frontend.builder.connect_signals({"on_txt_password_changed" : self.on_txt_password_changed, \
"on_txt_password_confirm_changed" : self.on_txt_password_confirm_changed, \
"on_chk_disable_password_toggled" : self.on_chk_disable_password_toggled,
"on_cal_key_expiry_month_changed" : self.on_cal_key_expiry_month_changed,
"on_cal_key_expiry_day_selected" : self.on_cal_key_expiry_day_selected})
self.cmb_key_type = self.frontend.builder.get_object("cmb_key_type")
self.spn_key_length = self.frontend.builder.get_object("spn_key_length")
self.txt_password = self.frontend.builder.get_object("txt_password")
self.txt_password_confirm = self.frontend.builder.get_object("txt_password_confirm")
self.txt_email = self.frontend.builder.get_object("txt_email")
self.txt_name = self.frontend.builder.get_object("txt_name")
self.txt_comment = self.frontend.builder.get_object("txt_comment")
self.chk_use_entropy_generator = self.frontend.builder.get_object("chk_use_entropy_generator")
self.chk_disable_password = self.frontend.builder.get_object("chk_disable_password")
self.cal_key_expiry = self.frontend.builder.get_object("cal_key_expiry")
self.spn_key_length.set_value(1024)
self.cmb_key_type_model = gtk.ListStore(str)
self.cmb_key_type.set_model(self.cmb_key_type_model)
cell = gtk.CellRendererText()
self.cmb_key_type.pack_start(cell, True)
self.cmb_key_type.add_attribute(cell, 'text', 0)
# add in the filesystems
self.cmb_key_type_model.append(["RSA and RSA"])
self.cmb_key_type_model.append(["DSA and Elgamal"])
self.cmb_key_type.set_active(0)
self.txt_email.set_text(self.frontend.choices.email)
self.txt_name.set_text(self.frontend.choices.gpg_name)
# set calendar to expiry date
key_expiry = self.frontend.choices.gpg_key_expiry_date
self.cal_key_expiry.select_month(key_expiry.month, key_expiry.year)
self.cal_key_expiry.select_day(key_expiry.day)
def load_page(self):
self.cmb_filesystems = self.frontend.builder.get_object("cmb_filesystems")
self.prg_format = self.frontend.builder.get_object("prg_format")
self.cmb_filesystems_model = gtk.ListStore(str)
self.cmb_filesystems.set_model(self.cmb_filesystems_model)
cell = gtk.CellRendererText()
self.cmb_filesystems.pack_start(cell, True)
self.cmb_filesystems.add_attribute(cell, 'text', 0)
# add in the filesystems
self.cmb_filesystems_model.append(["ext3"])
self.cmb_filesystems_model.append(["ext4"])
self.cmb_filesystems.set_active(1)
def create_add_dialog(self):
self.icon_store = gtk.ListStore(gdk.Pixbuf, str, str, str, int, str)
self.add_iconview.set_model(self.icon_store)
self.add_iconview.set_pixbuf_column(0)
self.add_iconview.set_text_column(2)
if self.catalog.tag == 'xml' :
self.catalog_src = self.catalog
else :
for _ptr in range(len(self.catalog)) :
_p = self.catalog[_ptr]
if _p.tag.lower() in ["menu", "group"] :
self.catalog_src = _p
break
self.update_catalog()
def loan_movie(self):
people = self.db.session.query(db.Person.name).order_by(db.Person.name.asc()).all()
model = gtk.ListStore(str)
if len(people)>0:
for person in people:
model.append([person.name])
self.widgets['movie']['loan_to'].set_model(model)
self.widgets['movie']['loan_to'].set_text_column(0)
self.widgets['movie']['loan_to'].set_active(0)
self.widgets['w_loan_to'].show()
else:
gutils.info(_("No person is defined yet."), self.widgets['window'])
def set_model_from_list(cb, items):
"""Setup a ComboBox or ComboBoxEntry based on a list of strings."""
model = gtk.ListStore(str)
for i in items:
model.append([i])
cb.set_model(model)
if type(cb) == gtk.ComboBoxEntry:
cb.set_text_column(0)
elif type(cb) == gtk.ComboBox:
cell = gtk.CellRendererText()
cb.pack_start(cell, True)
cb.add_attribute(cell, 'text', 0)
def create_treelist(self):
"""create_treelist
Create list of options
"""
# Add some messages to the window
self.liststore = gtk.ListStore(str,str,'gboolean')
# we'll add some data now
self.liststore.append(['Kernel', gtk.STOCK_OPEN, True])
self.liststore.append(['CPU', gtk.STOCK_OPEN, True])
self.liststore.append(['RAM', gtk.STOCK_OPEN, True])
self.liststore.append(['Sound Modules', gtk.STOCK_OPEN, True])
self.liststore.append(['Sound Devices', gtk.STOCK_OPEN, True])
self.liststore.append(['Asound', gtk.STOCK_OPEN, True])
# create the TreeViewColumn to display the data
self.tvcolumn = gtk.TreeViewColumn('Categories')
# Append liststore model to treeview
self.treeview1.set_model(model=self.liststore)
# add tvcolumn to treeview
self.treeview1.append_column(self.tvcolumn)
# create a CellRendererText to render the data
self.cell = gtk.CellRendererText()
self.cell0 = gtk.CellRendererPixbuf()
# add the cell to the tvcolumn and allow it to expand
self.tvcolumn.pack_start(self.cell0, True)
self.tvcolumn.pack_start(self.cell, True)
# set the cell "text" attribute to column 0 - retrieve text
# from that column in treestore
self.tvcolumn.set_cell_data_func(self.cell0, self.make_pixbuf)
self.tvcolumn.add_attribute(self.cell, 'text', 0)
return
def setup_combo_box_entry(self, cboe, initial_text=None):
"""initialise a given ComboBoxEntry"""
#create items list
ls = gtk.ListStore(gobject.TYPE_STRING)
cboe.set_model(ls)
cboe.set_text_column(0)
#populate with text?
if initial_text:
ls.append((initial_text, ))
cboe.child.set_text(initial_text)
def __init__(self, parent, notebook):
Dialog.__init__(self, parent,
_('Pages By Number Of Links'), # T: dialog title
buttons=gtk.BUTTONS_CLOSE
)
self.notebook = notebook
self.direction_input = gtk.combo_box_new_text()
for dir in sorted(self.LABELS):
self.direction_input.append_text(self.LABELS[dir])
self.uistate.setdefault('link_direction', LINK_DIR_BACKWARD, self.LABELS.keys())
gtk_combobox_set_active_text(
self.direction_input,
self.LABELS[self.uistate['link_direction']]
)
self.direction_input.connect('changed', self.on_direction_input_changed)
hbox = gtk.HBox()
hbox.pack_start(gtk.Label(_('Trace Links')+':'), False)
hbox.add(self.direction_input)
self.vbox.pack_start(hbox, False)
self.listview = SingleClickTreeView(gtk.ListStore(int, str))
self.listview.set_reorderable(True)
for i, label in enumerate((_('#'), _('Page'))):
column = gtk.TreeViewColumn(label, gtk.CellRendererText(), text=i)
column.set_sort_column_id(i)
self.listview.append_column(column)
# TODO: self.listview.connect('row-activated', self.on_row_activated())
self.vbox.add(ScrolledWindow(self.listview))
self.populate_listview()
def create_store(self):
store = gtk.ListStore(str, gtk.gdk.Pixbuf, bool)
store.set_sort_column_id(COL_PATH, gtk.SORT_ASCENDING)
return store
def __init__(self):
self.model = gtk.ListStore(gobject.TYPE_STRING)
self.nameEntry = gtk.Entry()
self.buttons = []