/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 branchview/treeview.py

Move viz loading msg from branchwin to treeview.

Show diffs side-by-side

added added

removed removed

Lines of Context:
19
19
from treemodel import TreeModel
20
20
from bzrlib.revision import NULL_REVISION
21
21
 
22
 
class TreeView(gtk.ScrolledWindow):
 
22
class TreeView(gtk.VBox):
23
23
 
24
24
    __gproperties__ = {
25
25
        'branch': (gobject.TYPE_PYOBJECT,
90
90
        :param broken_line_length: After how much lines to break 
91
91
                                   branches.
92
92
        """
93
 
        gtk.ScrolledWindow.__init__(self)
94
 
 
95
 
        self.set_policy(gtk.POLICY_NEVER, gtk.POLICY_AUTOMATIC)
96
 
        self.set_shadow_type(gtk.SHADOW_IN)
97
 
 
98
 
        self.construct_treeview()
 
93
        gtk.VBox.__init__(self, spacing=0)
 
94
 
 
95
        self.pack_start(self.construct_loading_msg(), expand=False, fill=True)
 
96
        self.connect('revisions-loaded', 
 
97
                lambda x: self.loading_msg_box.hide())
 
98
 
 
99
        self.scrolled_window = gtk.ScrolledWindow()
 
100
        self.scrolled_window.set_policy(gtk.POLICY_NEVER, gtk.POLICY_AUTOMATIC)
 
101
        self.scrolled_window.set_shadow_type(gtk.SHADOW_IN)
 
102
        self.scrolled_window.show()
 
103
        self.pack_start(self.scrolled_window, expand=True, fill=True)
 
104
 
 
105
        self.scrolled_window.add(self.construct_treeview())
 
106
        
99
107
 
100
108
        self.iter = None
101
109
        self.branch = branch
190
198
        self.emit('tag-added', tag, revid)
191
199
        
192
200
    def refresh(self):
 
201
        self.loading_msg_box.show()
193
202
        gobject.idle_add(self.populate, self.get_revision())
194
203
 
195
204
    def update(self):
318
327
 
319
328
        self.treeview.set_property('fixed-height-mode', True)
320
329
 
321
 
        self.add(self.treeview)
322
330
        self.treeview.show()
323
331
 
324
332
        cell = gtk.CellRendererText()
376
384
        self.date_column.pack_start(cell, expand=True)
377
385
        self.date_column.add_attribute(cell, "text", treemodel.TIMESTAMP)
378
386
        self.treeview.append_column(self.date_column)
 
387
        
 
388
        return self.treeview
 
389
    
 
390
    def construct_loading_msg(self):
 
391
        image_loading = gtk.image_new_from_stock(gtk.STOCK_REFRESH,
 
392
                                                 gtk.ICON_SIZE_BUTTON)
 
393
        image_loading.show()
 
394
        
 
395
        label_loading = gtk.Label(_("Please wait, loading ancestral graph..."))
 
396
        label_loading.set_alignment(0.0, 0.5)
 
397
        label_loading.show()
 
398
        
 
399
        self.loading_msg_box = gtk.HBox()
 
400
        self.loading_msg_box.set_spacing(5)
 
401
        self.loading_msg_box.set_border_width(5)        
 
402
        self.loading_msg_box.pack_start(image_loading, False, False)
 
403
        self.loading_msg_box.pack_start(label_loading, True, True)
 
404
        self.loading_msg_box.show()
 
405
        
 
406
        return self.loading_msg_box
379
407
 
380
408
    def _on_selection_changed(self, treeview):
381
409
        """callback for when the treeview changes."""