Beispiel #1
0
class TableIndexes(gtk.ScrolledWindow):

    def __init__(self, table):
        super(TableIndexes, self).__init__()

        self.table = table

        self.set_policy(gtk.POLICY_AUTOMATIC, gtk.POLICY_AUTOMATIC)
        self.tv_indexes_model = gtk.ListStore(
            gobject.TYPE_STRING,
            gobject.TYPE_STRING,
            gobject.TYPE_STRING,
        )
        self.tv_indexes = gtk.TreeView()
        self.tv_indexes.set_rules_hint(True)
        self.tv_indexes.set_model(self.tv_indexes_model)

        self.tv_indexes.connect("button-release-event", self.on_button_release)
        self.pop_up = TableIndexesPopUp()
        self.pop_up.add.connect('activate', self.on_add_activate)
        self.pop_up.edit.connect('activate', self.on_edit_activate)
        self.pop_up.drop.connect('activate', self.on_drop_activate)

        self.add(self.tv_indexes)

    def on_add_activate(self, item):
        if not item:
            return

    def on_edit_activate(self, item):
        if not item:
            return

    def on_drop_activate(self, item):
        if not item:
            return

    def refresh(self):
        for col in self.tv_indexes.get_columns():
            self.tv_indexes.remove_column(col)
        if self.tv_indexes_model:
            self.tv_indexes_model.clear()

        self.tv_indexes.append_column(gtk.TreeViewColumn("Name", gtk.CellRendererText(), text=0))
        self.tv_indexes.append_column(gtk.TreeViewColumn("Column", gtk.CellRendererText(), text=1))
        self.tv_indexes.append_column(gtk.TreeViewColumn("Unique", gtk.CellRendererText(), text=2))
        for ix in self.table.indexes:
            self.tv_indexes_model.append(
                (
                    ix.name,
                    ix.column,
                    ix.is_unique,
                )
            )

    def on_button_release(self, tv, event):
        if not tv or not event or not event.button == 3:
            return False
        self.pop_up.popup(None, None, None, event.button, event.time, tv)
Beispiel #2
0
    def __init__(self, table):
        super(TableIndexes, self).__init__()

        self.table = table

        self.set_policy(gtk.POLICY_AUTOMATIC, gtk.POLICY_AUTOMATIC)
        self.tv_indexes_model = gtk.ListStore(
            gobject.TYPE_STRING,
            gobject.TYPE_STRING,
            gobject.TYPE_STRING,
        )
        self.tv_indexes = gtk.TreeView()
        self.tv_indexes.set_rules_hint(True)
        self.tv_indexes.set_model(self.tv_indexes_model)

        self.tv_indexes.connect("button-release-event", self.on_button_release)
        self.pop_up = TableIndexesPopUp()
        self.pop_up.add.connect('activate', self.on_add_activate)
        self.pop_up.edit.connect('activate', self.on_edit_activate)
        self.pop_up.drop.connect('activate', self.on_drop_activate)

        self.add(self.tv_indexes)