[Pkg-bazaar-commits] ./bzr-gtk/unstable r402: Merged dynamic treeview refreshing branch.

Daniel Schierbeck daniel.schierbeck at gmail.com
Fri Apr 10 07:45:00 UTC 2009


------------------------------------------------------------
revno: 402
committer: Daniel Schierbeck <daniel.schierbeck at gmail.com>
branch nick: menubar
timestamp: Thu 2007-11-22 01:25:35 +0100
message:
  Merged dynamic treeview refreshing branch.
modified:
  viz/branchwin.py
  viz/treeview.py
    ------------------------------------------------------------
    revno: 401.1.1
    committer: Daniel Schierbeck <daniel.schierbeck at gmail.com>
    branch nick: dynamic-branch
    timestamp: Thu 2007-11-22 01:00:19 +0100
    message:
      Added update() method to TreeView.
    modified:
      viz/treeview.py
    ------------------------------------------------------------
    revno: 401.1.2
    committer: Daniel Schierbeck <daniel.schierbeck at gmail.com>
    branch nick: dynamic-branch
    timestamp: Thu 2007-11-22 01:10:54 +0100
    message:
      Allowed the treeview to be refreshed.
    modified:
      viz/branchwin.py
      viz/treeview.py
    ------------------------------------------------------------
    revno: 401.1.3
    committer: Daniel Schierbeck <daniel.schierbeck at gmail.com>
    branch nick: dynamic-branch
    timestamp: Thu 2007-11-22 01:21:46 +0100
    message:
      Made the compact view toggling cleaner.
    modified:
      viz/branchwin.py
      viz/treeview.py
-------------- next part --------------
=== modified file 'viz/branchwin.py'
--- a/viz/branchwin.py	2007-11-21 17:12:04 +0000
+++ b/viz/branchwin.py	2007-11-22 00:21:46 +0000
@@ -254,12 +254,8 @@
     def construct_top(self):
         """Construct the top-half of the window."""
         # FIXME: Make broken_line_length configurable
-        if self.compact_view:
-            brokenlines = 32
-        else:
-            brokenlines = None
 
-        self.treeview = TreeView(self.branch, self.start, self.maxnum, brokenlines)
+        self.treeview = TreeView(self.branch, self.start, self.maxnum, self.compact_view)
 
         self.treeview.connect('revision-selected',
                 self._treeselection_changed_cb)
@@ -292,6 +288,12 @@
         self.next_button = self.next_rev_action.create_tool_item()
         self.toolbar.insert(self.next_button, -1)
 
+        self.toolbar.insert(gtk.SeparatorToolItem(), -1)
+
+        refresh_button = gtk.ToolButton(gtk.STOCK_REFRESH)
+        refresh_button.connect('clicked', lambda x: self.treeview.refresh())
+        self.toolbar.insert(refresh_button, -1)
+
         self.toolbar.show_all()
 
         return self.toolbar
@@ -393,13 +395,8 @@
             option = 'no'
 
         self.config.set_user_option('viz-compact-view', option)
-
-        revision = self.treeview.get_revision()
-
-        self.paned.get_child1().destroy()
-        self.paned.pack1(self.construct_top(), resize=True, shrink=False)
-
-        gobject.idle_add(self.set_revision, revision.revision_id)
+        self.treeview.set_property('compact', self.compact_view)
+        self.treeview.refresh()
 
     def _tag_revision_cb(self, w):
         try:

=== modified file 'viz/treeview.py'
--- a/viz/treeview.py	2007-11-12 18:11:12 +0000
+++ b/viz/treeview.py	2007-11-22 00:21:46 +0000
@@ -58,7 +58,13 @@
                                  'Date',
                                  'Show date column',
                                  False,
-                                 gobject.PARAM_READWRITE)
+                                 gobject.PARAM_READWRITE),
+
+        'compact': (gobject.TYPE_BOOLEAN,
+                    'Compact view',
+                    'Break ancestry lines to save space',
+                    True,
+                    gobject.PARAM_CONSTRUCT | gobject.PARAM_READWRITE)
 
     }
 
@@ -71,7 +77,7 @@
                               ())
     }
 
-    def __init__(self, branch, start, maxnum, broken_line_length=None):
+    def __init__(self, branch, start, maxnum, compact=True):
         """Create a new TreeView.
 
         :param branch: Branch object for branch to show.
@@ -91,8 +97,11 @@
         self.iter   = None
         self.branch = branch
 
-        gobject.idle_add(self.populate, start, maxnum, 
-                         broken_line_length)
+        self.start = start
+        self.maxnum = maxnum
+        self.compact = compact
+
+        gobject.idle_add(self.populate)
 
         self.connect("destroy", lambda x: self.branch.unlock())
 
@@ -101,6 +110,8 @@
             return self.revno_column.get_visible()
         elif property.name == 'date-column-visible':
             return self.date_column.get_visible()
+        elif property.name == 'compact':
+            return self.compact
         elif property.name == 'branch':
             return self.branch
         elif property.name == 'revision':
@@ -119,6 +130,8 @@
             self.revno_column.set_visible(value)
         elif property.name == 'date-column-visible':
             self.date_column.set_visible(value)
+        elif property.name == 'compact':
+            self.compact = value
         elif property.name == 'branch':
             self.branch = value
         elif property.name == 'revision':
@@ -155,6 +168,9 @@
         """
         return self.get_property('parents')
         
+    def refresh(self):
+        gobject.idle_add(self.populate, self.get_revision())
+
     def back(self):
         """Signal handler for the Back button."""
         parents = self.get_parents()
@@ -185,7 +201,7 @@
         else:
             self.set_revision_id(children[0])
 
-    def populate(self, start, maxnum, broken_line_length=None):
+    def populate(self, revision=None):
         """Fill the treeview with contents.
 
         :param start: Revision id of revision to start with.
@@ -194,10 +210,16 @@
         :param broken_line_length: After how much lines branches \
                        should be broken.
         """
+
+        if self.compact:
+            broken_line_length = 32
+        else:
+            broken_line_length = None
+
         self.branch.lock_read()
         (linegraphdata, index, columns_len) = linegraph(self.branch.repository,
-                                                        start,
-                                                        maxnum, 
+                                                        self.start,
+                                                        self.maxnum, 
                                                         broken_line_length)
 
         self.model = TreeModel(self.branch.repository, linegraphdata)
@@ -207,7 +229,12 @@
         self.graph_column.set_max_width(width)
         self.index = index
         self.treeview.set_model(self.model)
-        self.treeview.set_cursor(0)
+
+        if revision is None:
+            self.treeview.set_cursor(0)
+        else:
+            self.set_revision(revision)
+
         self.emit('revisions-loaded')
 
         return False



More information about the Pkg-bazaar-commits mailing list