/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

  • Committer: Jelmer Vernooij
  • Date: 2008-06-29 18:12:29 UTC
  • mto: This revision was merged to the branch mainline in revision 519.
  • Revision ID: jelmer@samba.org-20080629181229-1l2m4cf7vvbyh8qg
Simplify progress bar code, use embedded progress bar inside viz window.

Show diffs side-by-side

added added

removed removed

Lines of Context:
93
93
                              (gobject.TYPE_PYOBJECT, gobject.TYPE_PYOBJECT)),
94
94
        'tag-added': (gobject.SIGNAL_RUN_FIRST,
95
95
                              gobject.TYPE_NONE,
96
 
                              (gobject.TYPE_STRING, gobject.TYPE_STRING)),
97
 
        'refreshed': (gobject.SIGNAL_RUN_FIRST, gobject.TYPE_NONE,
98
 
                              ())
 
96
                              (gobject.TYPE_STRING, gobject.TYPE_STRING))
99
97
    }
100
98
 
101
99
    def __init__(self, branch, start, maxnum, compact=True):
111
109
        gtk.VBox.__init__(self, spacing=0)
112
110
 
113
111
        loading_msg_widget = ProgressPanel()
114
 
        if getattr(ui.ui_factory, "set_nested_progress_bar_widget", None) is not None:
115
 
            ui.ui_factory.set_nested_progress_bar_widget(loading_msg_widget.get_progress_bar)
 
112
        ui.ui_factory.set_nested_progress_bar_widget(loading_msg_widget.get_progress_bar)
116
113
        self.pack_start(loading_msg_widget, expand=False, fill=True)
117
114
 
118
115
        self.scrolled_window = gtk.ScrolledWindow()
127
124
        self.iter = None
128
125
        self.branch = branch
129
126
        self.revision = None
130
 
        self.index = {}
131
127
 
132
128
        self.start = start
133
129
        self.maxnum = maxnum
183
179
        """Return revision id of currently selected revision, or None."""
184
180
        return self.get_property('revision')
185
181
 
186
 
    def has_revision_id(self, revision_id):
187
 
        return (revision_id in self.index)
188
 
 
189
182
    def set_revision(self, revision):
190
183
        self.set_property('revision', revision)
191
184
 
283
276
        """
284
277
 
285
278
        self.progress_bar = ui.ui_factory.nested_progress_bar()
286
 
        self.progress_bar.update("Loading ancestry graph", 0, 5)
 
279
        self.progress_bar.update(msg="Loading ancestry graph", total_cnt=5)
287
280
 
288
281
        try:
289
282
            if self.compact:
317
310
            else:
318
311
                self.set_revision(revision)
319
312
 
320
 
            self.emit('refreshed')
321
313
            return False
322
314
        finally:
323
315
            self.progress_bar.finished()
333
325
        if set_tooltip is not None:
334
326
            set_tooltip(treemodel.MESSAGE)
335
327
 
336
 
        self._prev_cursor_path = None
337
328
        self.treeview.connect("cursor-changed",
338
329
                self._on_selection_changed)
339
330
 
409
400
    def _on_selection_changed(self, treeview):
410
401
        """callback for when the treeview changes."""
411
402
        (path, focus) = treeview.get_cursor()
412
 
        if (path is not None) and (path != self._prev_cursor_path):
413
 
            self._prev_cursor_path = path # avoid emitting twice per click
 
403
        if path is not None:
414
404
            self.iter = self.model.get_iter(path)
415
405
            self.emit('revision-selected')
416
406
 
417
407
    def _on_revision_selected(self, widget, event):
418
 
        from bzrlib.plugins.gtk.revisionmenu import RevisionMenu
 
408
        from bzrlib.plugins.gtk.revisionmenu import RevisionPopupMenu
419
409
        if event.button == 3:
420
 
            menu = RevisionMenu(self.branch.repository, 
 
410
            menu = RevisionPopupMenu(self.branch.repository, 
421
411
                [self.get_revision().revision_id],
422
412
                self.branch)
423
413
            menu.connect('tag-added', lambda w, t, r: self.add_tag(t, r))