コード例 #1
0
ファイル: weekcal.py プロジェクト: ErfanBagheri/starcal
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()