/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 logview.py

  • Committer: John Arbash Meinel
  • Date: 2007-11-02 22:29:12 UTC
  • mfrom: (330 trunk)
  • mto: (330.3.3 trunk)
  • mto: This revision was merged to the branch mainline in revision 368.
  • Revision ID: john@arbash-meinel.com-20071102222912-ei8ll3bla3w2h2gp
Merge in trunk, and update logview per-file commit messages.

Show diffs side-by-side

added added

removed removed

Lines of Context:
23
23
from bzrlib.osutils import format_date
24
24
from bzrlib.util import bencode
25
25
 
26
 
 
27
 
class LogView(gtk.ScrolledWindow):
 
26
class LogView(gtk.Notebook):
28
27
    """ Custom widget for commit log details.
29
28
 
30
29
    A variety of bzr tools may need to implement such a thing. This is a
32
31
    """
33
32
 
34
33
    def __init__(self, revision=None, scroll=True, tags=[],
35
 
                 show_children=False):
36
 
        super(LogView, self).__init__()
37
 
        if scroll:
38
 
            self.set_policy(gtk.POLICY_NEVER, gtk.POLICY_AUTOMATIC)
39
 
        else:
40
 
            self.set_policy(gtk.POLICY_NEVER, gtk.POLICY_NEVER)
41
 
        self.set_shadow_type(gtk.SHADOW_NONE)
 
34
                 show_children=False, branch=None):
 
35
        gtk.Notebook.__init__(self)
42
36
        self.show_children = show_children
43
 
        self._create()
 
37
 
 
38
        self._create_general()
 
39
        self._create_relations()
 
40
 
 
41
        self.set_current_page(0)
 
42
        
44
43
        self._show_callback = None
45
44
        self._go_callback = None
46
45
        self._clicked_callback = None
47
46
 
 
47
        self._branch = branch
 
48
 
48
49
        if revision is not None:
49
50
            self.set_revision(revision, tags=tags)
50
51
        self.set_file_id(None)
192
193
            hbox.pack_start(button, expand=False, fill=True)
193
194
            button.show()
194
195
 
195
 
    def _create(self):
 
196
    def _create_general(self):
196
197
        vbox = gtk.VBox(False, 6)
197
198
        vbox.set_border_width(6)
198
199
        vbox.pack_start(self._create_headers(), expand=False, fill=True)
 
200
        vbox.pack_start(self._create_message_view())
 
201
        vbox.pack_start(self._create_file_info_view(), expand=True, fill=True)
 
202
        self.append_page(vbox, tab_label=gtk.Label("General"))
 
203
        vbox.show()
 
204
 
 
205
    def _create_relations(self):
 
206
        vbox = gtk.VBox(False, 6)
 
207
        vbox.set_border_width(6)
199
208
        vbox.pack_start(self._create_parents(), expand=False, fill=True)
200
209
        if self.show_children:
201
210
            vbox.pack_start(self._create_children(), expand=False, fill=True)
202
 
        vbox.pack_start(self._create_message_view())
203
 
        vbox.pack_start(self._create_file_info_view(), expand=True, fill=True)
204
 
        self.add_with_viewport(vbox)
 
211
        self.append_page(vbox, tab_label=gtk.Label("Relations"))
205
212
        vbox.show()
206
213
 
207
214
    def _create_headers(self):
350
357
 
351
358
    def _create_message_view(self):
352
359
        self.message_buffer = gtk.TextBuffer()
 
360
        window = gtk.ScrolledWindow()
 
361
        window.set_policy(gtk.POLICY_NEVER, gtk.POLICY_AUTOMATIC)
 
362
        window.set_shadow_type(gtk.SHADOW_IN)
353
363
        tv = gtk.TextView(self.message_buffer)
354
364
        tv.set_editable(False)
355
365
        tv.set_wrap_mode(gtk.WRAP_WORD)
356
366
        tv.modify_font(pango.FontDescription("Monospace"))
357
367
        tv.show()
358
 
        return tv
 
368
        window.add(tv)
 
369
        window.show()
 
370
        return window
359
371
 
360
372
    def _create_file_info_view(self):
361
373
        self.file_info_box = gtk.VBox()
363
375
        self.file_info_label.set_markup("<b>File Messages:</b>")
364
376
        self.file_info_label.show()
365
377
        self.file_info_buffer = gtk.TextBuffer()
 
378
        window = gtk.ScrolledWindow()
 
379
        window.set_policy(gtk.POLICY_NEVER, gtk.POLICY_AUTOMATIC)
 
380
        window.set_shadow_type(gtk.SHADOW_IN)
366
381
        tv = gtk.TextView(self.file_info_buffer)
367
382
        tv.set_editable(False)
368
383
        tv.set_wrap_mode(gtk.WRAP_WORD)
369
384
        tv.modify_font(pango.FontDescription("Monospace"))
370
385
        tv.show()
371
386
        self.file_info_box.pack_start(self.file_info_label)
372
 
        self.file_info_box.pack_start(tv)
 
387
        window.add(tv)
 
388
        window.show()
 
389
        self.file_info_box.pack_start(window)
373
390
        self.file_info_box.hide() # Only shown when there are per-file messages
374
391
        return self.file_info_box
375
392