class WcalTypeParamBox(gtk.HBox): def __init__(self, wcal, index, mode, params, sgroupLabel, sgroupFont): gtk.HBox.__init__(self) self.wcal = wcal self.index = index self.mode = mode ###### label = gtk.Label(_(calTypes[mode].desc)+' ') label.set_alignment(0, 0.5) self.pack_start(label, 0, 0) sgroupLabel.add_widget(label) ### self.fontCheck = gtk.CheckButton(_('Font')) self.pack_start(gtk.Label(''), 1, 1) self.pack_start(self.fontCheck, 0, 0) ### self.fontb = MyFontButton(wcal) self.pack_start(self.fontb, 0, 0) sgroupFont.add_widget(self.fontb) #### self.set(params) #### self.fontCheck.connect('clicked', self.onChange) self.fontb.connect('font-set', self.onChange) def get(self): return { 'font': self.fontb.get_font_name() if self.fontCheck.get_active() else None, } def set(self, data): font = data['font'] self.fontCheck.set_active(bool(font)) if not font: font = ui.getFont() self.fontb.set_font_name(font) def onChange(self, obj=None, event=None): ui.wcalTypeParams[self.index] = self.get() self.wcal.queue_draw()