示例#1
0
    def __init__(self, app, presenter):
        gtk.VBox.__init__(self, False, 0)
        self.mw = app.mw
        self.app = app
        self.presenter = presenter
        model_cid = self.presenter.doc_presenter.cid
        model_name = uc2const.FORMAT_EXTENSION[model_cid][0].upper()

        spacer = gtk.VBox()
        self.add(spacer)
        self.set_border_width(0)

        self.listmodel = ObjectTreeModel(self.presenter.doc_presenter.model)

        self.treeview = gtk.TreeView()

        self.column = gtk.TreeViewColumn()
        self.column.set_title(model_name + ' ' + _('File Format Model'))
        render_pixbuf = gtk.CellRendererPixbuf()
        self.column.pack_start(render_pixbuf, expand=False)
        self.column.add_attribute(render_pixbuf, 'pixbuf', 0)
        render_text = gtk.CellRendererText()
        self.column.pack_start(render_text, expand=True)
        self.column.add_attribute(render_text, 'text', 1)
        self.treeview.append_column(self.column)

        self.column1 = gtk.TreeViewColumn()
        render_text = gtk.CellRendererText()
        self.column1.pack_start(render_text, expand=False)
        self.column1.add_attribute(render_text, 'text', 2)
        self.column1.add_attribute(render_text, 'foreground', 3)
        self.treeview.append_column(self.column1)

        self.treeview.connect('cursor-changed', self.view_object)

        self.scrolledwindow = gtk.ScrolledWindow()
        self.scrolledwindow.add(self.treeview)
        self.scrolledwindow.set_shadow_type(gtk.SHADOW_ETCHED_IN)
        self.scrolledwindow.set_policy(gtk.POLICY_NEVER, gtk.POLICY_AUTOMATIC)
        spacer.pack_end(self.scrolledwindow, True)

        self.treeview.set_model(self.listmodel)
        self.treeview.set_rules_hint(True)
        self.treeview.set_enable_tree_lines(True)
        eventloop = self.presenter.eventloop
        eventloop.connect(eventloop.SELECTION_CHANGED, self.reflect_selection)
        self.update_view()
    def __init__(self, app, presenter):
        gtk.VBox.__init__(self, False, 0)
        self.mw = app.mw
        self.app = app
        self.presenter = presenter
        model_cid = self.presenter.doc_presenter.cid
        model_name = uc2const.FORMAT_EXTENSION[model_cid][0].upper()

        spacer = gtk.VBox()
        self.add(spacer)
        self.set_border_width(5)

        nav_panel = gtk.HBox()
        nav_panel.set_border_width(0)

        self.back_but = ActionButton(self.app.actions['BACKWARD'])
        nav_panel.pack_start(self.back_but, False)

        self.forward_but = ActionButton(self.app.actions['FORWARD'])
        nav_panel.pack_start(self.forward_but, False)

        self.home_but = ActionButton(self.app.actions['ROOT'])
        nav_panel.pack_start(self.home_but, False)

        separator = gtk.VSeparator()
        nav_panel.pack_start(separator, False, padding=2)

        self.refr_but = ActionButton(self.app.actions['REFRESH_MODEL'])
        nav_panel.pack_start(self.refr_but, False)

        self.expand_but = ImageButton('expand.png', _('Expand All'))
        nav_panel.pack_end(self.expand_but, False)
        self.expand_but.connect('clicked', self.expand_all)

        self.collapse_but = ImageButton('collapse.png', _('Collapse All'))
        nav_panel.pack_end(self.collapse_but, False)
        self.collapse_but.connect('clicked', self.collapse_all)

        spacer.pack_start(nav_panel, False)

        self.listmodel = ObjectTreeModel(self.presenter.doc_presenter.model)

        self.treeview = gtk.TreeView()

        self.column = gtk.TreeViewColumn()
        self.column.set_title(model_name + ' ' + _('File Format Model'))
        render_pixbuf = gtk.CellRendererPixbuf()
        self.column.pack_start(render_pixbuf, expand=False)
        self.column.add_attribute(render_pixbuf, 'pixbuf', 0)
        render_text = gtk.CellRendererText()
        self.column.pack_start(render_text, expand=True)
        self.column.add_attribute(render_text, 'text', 1)
        self.treeview.append_column(self.column)

        self.column1 = gtk.TreeViewColumn()
        render_text = gtk.CellRendererText()
        self.column1.pack_start(render_text, expand=False)
        self.column1.add_attribute(render_text, 'text', 2)
        self.column1.add_attribute(render_text, 'foreground', 3)
        self.treeview.append_column(self.column1)

        self.treeview.connect('cursor-changed', self.view_object)

        self.scrolledwindow = gtk.ScrolledWindow()
        self.scrolledwindow.add(self.treeview)
        self.scrolledwindow.set_shadow_type(gtk.SHADOW_ETCHED_IN)
        self.scrolledwindow.set_policy(gtk.POLICY_NEVER, gtk.POLICY_AUTOMATIC)
        spacer.pack_end(self.scrolledwindow, True)

        self.treeview.set_model(self.listmodel)
        self.treeview.set_rules_hint(True)
        self.treeview.set_enable_tree_lines(True)
        eventloop = self.presenter.eventloop
        eventloop.connect(eventloop.SELECTION_CHANGED, self.reflect_selection)
        self.update_view()
 def update_view(self):
     self.presenter.selection.clear_history()
     self.presenter.selection.selected = []
     self.listmodel = ObjectTreeModel(self.presenter.doc_presenter.model)
     self.treeview.set_model(self.listmodel)
     self.expand_all()