/b-gtk/fix-viz

To get this branch, use:
bzr branch http://gegoxaren.bato24.eu/bzr/b-gtk/fix-viz

« back to all changes in this revision

Viewing changes to viz/treeview.py

  • Committer: Daniel Schierbeck
  • Date: 2007-10-20 21:38:23 UTC
  • Revision ID: daniel.schierbeck@gmail.com-20071020213823-au4f2j3fk4h6rjra
Made basic signaling work.

Show diffs side-by-side

added added

removed removed

Lines of Context:
10
10
import gobject
11
11
import pango
12
12
import re
 
13
import treemodel
13
14
 
14
15
from linegraph import linegraph, same_branch
15
16
from graphcell import CellRendererGraph
16
17
from treemodel import TreeModel
17
18
 
18
 
class RevisionHistoryView(gtk.ScrolledWindow):
 
19
class TreeView(gtk.ScrolledWindow):
19
20
 
20
21
    def __init__(self):
21
22
        gtk.ScrolledWindow.__init__(self)
22
23
 
23
 
        self.set_olicy(gtk.POLICY_NEVER, gtk.POLICY_AUTOMATIC)
 
24
        self.set_policy(gtk.POLICY_NEVER, gtk.POLICY_AUTOMATIC)
24
25
        self.set_shadow_type(gtk.SHADOW_IN)
25
26
 
26
 
        self.contruct_treeview()
 
27
        self.construct_treeview()
 
28
 
 
29
        self.revision = None
 
30
        self.children = None
 
31
        self.parents  = None
 
32
 
 
33
    def get_revision(self):
 
34
        return self.revision
 
35
 
 
36
    def get_children(self):
 
37
        return self.children
 
38
 
 
39
    def get_parents(self):
 
40
        return self.parents
27
41
 
28
42
    def construct_treeview(self):
29
43
        self.treeview = gtk.TreeView()
31
45
        self.treeview.set_rules_hint(True)
32
46
        self.treeview.set_search_column(4)
33
47
 
34
 
        self.treeview.get_selection().connect("changed", 
 
48
        self.treeview.get_selection().connect("changed",
35
49
                self._on_selection_changed)
36
50
 
37
51
        self.treeview.connect("row-activated", 
112
126
        return False
113
127
    
114
128
    def _on_selection_changed(self, selection, *args):
115
 
        """Callback for when the treeview changes."""
 
129
        """callback for when the treeview changes."""
116
130
        (model, selected_rows) = selection.get_selected_rows()
117
131
        if len(selected_rows) > 0:
118
132
            iter = self.model.get_iter(selected_rows[0])
119
 
            revision = self.model.get_value(iter, treemodel.REVISION)
120
 
            parents = self.model.get_value(iter, treemodel.PARENTS)
121
 
            children = self.model.get_value(iter, treemodel.CHILDREN)
122
 
            
123
 
            self.back_button.set_sensitive(len(parents) > 0)
124
 
            self.fwd_button.set_sensitive(len(children) > 0)
125
 
            tags = []
126
 
            if self.branch.supports_tags():
127
 
                tagdict = self.branch.tags.get_reverse_tag_dict()
128
 
                if tagdict.has_key(revision.revision_id):
129
 
                    tags = tagdict[revision.revision_id]
130
 
            self.logview.set_revision(revision, tags, children)
 
133
            self.revision = self.model.get_value(iter, treemodel.REVISION)
 
134
            self.parents = self.model.get_value(iter, treemodel.PARENTS)
 
135
            self.children = self.model.get_value(iter, treemodel.CHILDREN)
131
136
 
132
137
    def _on_revision_selected(self, widget, event):
133
138
        from bzrlib.plugins.gtk.revisionmenu import RevisionPopupMenu