def addWidget(self, widget, states = None, toolTipId=None): """ Add a given Gtk.Widget to the BorderBox. @param widget the widget to add @param states an array of statenames, the button is sensitive in or None if button is always sensitive """ toolTip = config.getTooltipString(toolTipId) self.pack_start(widget, False, False, 0) if toolTip: widget.set_tooltip_text(toolTip) self.__addToStates(widget, states)
def addButton(self, buttonId, handler, states=None): """ Add a button to the BorderBox. @param buttonId id of the button string and tooltip @param handler Gtk-handler to call when button is clicked @param states an array of statenames, the button is sensitive in or None if button is always sensitive """ caption = config.getDisplayString(buttonId) toolTip = config.getTooltipString(buttonId) button = Gtk.Button(caption, use_underline=True) self.pack_start(button, False, False, 0) button.connect('clicked', handler) if toolTip: button.set_tooltip_text(toolTip) self.__addToStates(button, states)
def __init__(self, db): strTitle = config.getDisplayString('DiaStTitle') Gtk.Dialog.__init__(self, strTitle, buttons = (Gtk.STOCK_OK, Gtk.ResponseType.OK)) statistics = db.getStatistics() currentAmount = db.getAmountOfCurrentVocab() table = Gtk.Table(3, len(statistics) + 6, False) labelLeft = Gtk.Label(config.getDisplayString('DiaStHeadLevel')) labelRight = Gtk.Label(config.getDisplayString('DiaStHeadAmount')) labelXOpt = Gtk.AttachOptions.FILL table.attach(labelLeft, 0, 1, 0, 1, labelXOpt, xpadding=4, ypadding=4) table.attach(labelRight, 2, 3, 0, 1, xpadding=4, ypadding=4) separator = Gtk.Separator(orientation = Gtk.Orientation.HORIZONTAL) table.attach(separator, 0, 3, 1, 2) separator = Gtk.Separator(orientation = Gtk.Orientation.VERTICAL) table.attach(separator, 1, 2, 0, len(statistics) + 6, labelXOpt) vocsum = 0 for i_val in statistics.values(): vocsum += i_val i = 2 for i_key in statistics.keys(): labelLeft = Gtk.Label(i_key) progressbar = Gtk.ProgressBar() progressbar.set_text(str(statistics[i_key])) progressbar.set_show_text(True) progressbar.set_fraction(statistics[i_key]/vocsum) table.attach(labelLeft, 0, 1, i, i+1, labelXOpt, xpadding=4, ypadding=4) table.attach(progressbar, 2, 3, i, i+1, xpadding=4, ypadding=2) i += 1 separator = Gtk.Separator(orientation = Gtk.Orientation.HORIZONTAL) table.attach(separator, 0, 3, i, i+1) i += 1 labelLeft = Gtk.Label(config.getDisplayString('DiaStSum')) labelRight = Gtk.Label(vocsum) table.attach(labelLeft, 0, 1, i, i+1, labelXOpt, xpadding=4, ypadding=4) table.attach(labelRight, 2, 3, i, i+1, xpadding=4, ypadding=4) i += 1 separator = Gtk.Separator(orientation = Gtk.Orientation.HORIZONTAL) table.attach(separator, 0, 3, i, i+1) i += 1 toolTip = config.getTooltipString('DiaStCurAmount') labelLeft = Gtk.Label(config.getDisplayString('DiaStCurAmount')) progressbar = Gtk.ProgressBar() progressbar.set_text(str(currentAmount)) progressbar.set_show_text(True) progressbar.set_fraction(currentAmount/vocsum) if toolTip: progressbar.set_tooltip_text(toolTip) labelLeft.set_tooltip_text(toolTip) table.attach(labelLeft, 0, 1, i, i+1, labelXOpt, xpadding=4, ypadding=4) table.attach(progressbar, 2, 3, i, i+1, xpadding=4, ypadding=2) table.show_all() self.get_content_area().add(table)