bare minimum titlebar functionality
This commit is contained in:
parent
9f7834fb5b
commit
d007bc45c5
|
@ -6,18 +6,47 @@
|
||||||
import gtk
|
import gtk
|
||||||
import gobject
|
import gobject
|
||||||
|
|
||||||
|
from editablelabel import EditableLabel
|
||||||
|
|
||||||
# pylint: disable-msg=R0904
|
# pylint: disable-msg=R0904
|
||||||
class Titlebar(gtk.EventBox):
|
class Titlebar(gtk.EventBox):
|
||||||
"""Class implementing the Titlebar widget"""
|
"""Class implementing the Titlebar widget"""
|
||||||
|
|
||||||
oldtitle = None
|
oldtitle = None
|
||||||
|
termtext = None
|
||||||
|
sizetext = None
|
||||||
|
label = None
|
||||||
|
hbox = None
|
||||||
|
ebox = None
|
||||||
|
grouphbox = None
|
||||||
|
groupicon = None
|
||||||
|
grouplabel = None
|
||||||
|
|
||||||
def __init__(self):
|
def __init__(self):
|
||||||
"""Class initialiser"""
|
"""Class initialiser"""
|
||||||
gtk.EventBox.__init__(self)
|
gtk.EventBox.__init__(self)
|
||||||
self.__gobject_init__()
|
self.__gobject_init__()
|
||||||
|
|
||||||
self.show()
|
self.label = EditableLabel()
|
||||||
|
self.ebox = gtk.EventBox()
|
||||||
|
self.grouphbox = gtk.HBox()
|
||||||
|
self.grouplabel = gtk.Label()
|
||||||
|
self.groupicon = gtk.Image()
|
||||||
|
|
||||||
|
# FIXME: How do we decide which icon to use?
|
||||||
|
|
||||||
|
self.grouphbox.pack_start(self.groupicon, False, True, 2)
|
||||||
|
self.grouphbox.pack_start(self.grouplabel, False, True, 2)
|
||||||
|
self.ebox.add(self.grouphbox)
|
||||||
|
self.ebox.show_all()
|
||||||
|
|
||||||
|
self.hbox = gtk.HBox()
|
||||||
|
self.hbox.pack_start(self.ebox, False, True, 0)
|
||||||
|
self.hbox.pack_start(gtk.VSeparator(), False, True, 0)
|
||||||
|
self.hbox.pack_start(self.label, True, True)
|
||||||
|
|
||||||
|
self.add(self.hbox)
|
||||||
|
self.show_all()
|
||||||
|
|
||||||
def connect_icon(self, func):
|
def connect_icon(self, func):
|
||||||
"""Connect the supplied function to clicking on the group icon"""
|
"""Connect the supplied function to clicking on the group icon"""
|
||||||
|
@ -25,14 +54,28 @@ class Titlebar(gtk.EventBox):
|
||||||
|
|
||||||
def update(self):
|
def update(self):
|
||||||
"""Update our contents"""
|
"""Update our contents"""
|
||||||
pass
|
self.label.set_text("%s %s" % (self.termtext, self.sizetext))
|
||||||
|
|
||||||
def update_terminal_size(self, width, height):
|
def update_terminal_size(self, width, height):
|
||||||
"""Update the displayed terminal size"""
|
"""Update the displayed terminal size"""
|
||||||
pass
|
self.sizetext = "%sx%s" % (width, height)
|
||||||
|
self.update()
|
||||||
|
|
||||||
def set_terminal_title(self, widget, title):
|
def set_terminal_title(self, widget, title):
|
||||||
"""Update the terminal title"""
|
"""Update the terminal title"""
|
||||||
|
self.termtext = title
|
||||||
|
self.update()
|
||||||
|
|
||||||
|
def set_group_label(self, name):
|
||||||
|
"""Set the name of the group"""
|
||||||
|
if name:
|
||||||
|
self.grouplabel.set_text(name)
|
||||||
|
self.grouplabel.show()
|
||||||
|
else:
|
||||||
|
self.grouplabel.hide()
|
||||||
|
|
||||||
|
def on_clicked(self, widget, event):
|
||||||
|
"""Handle a click on the label"""
|
||||||
pass
|
pass
|
||||||
|
|
||||||
gobject.type_register(Titlebar)
|
gobject.type_register(Titlebar)
|
||||||
|
|
Loading…
Reference in New Issue