Exemple #1
0
class _GenDialog(gtkDialog):
    def __init__(self, name='GenDialog'):
        gtkDialog.__init__(self)
        self.set_name(name)
        self.ok_button = Button('ok', 'gtk-ok')
        self.ok_button.set_name(name)
        self.cancel_button = Button('cancel', 'gtk-cancel')
        self.cancel_button.set_name(name)
        self.action_area.pack_start(self.ok_button, TRUE, TRUE, 0)
        self.action_area.pack_end(self.cancel_button, TRUE, TRUE, 0)
        self.ok_button.show()
        self.cancel_button.show()
        self.cancel_button.connect('clicked', lambda *x: self.destroy())
        self._buttons_ = {}
        self.show()

    def set_ok(self, ok_fun):
        self.ok_button.connect('clicked', ok_fun)

    def set_cancel(self, cancel_fun):
        self.cancel_button.connect('clicked', cancel_fun)
        self.connect('destroy', cancel_fun)

    def add_button(self, name, func, label='foo'):
        if name not in self._buttons_.keys():
            self._buttons_[name] = Button(label)
            self._buttons_[name].show()
            self._buttons_[name].connect('clicked', func)
            self.action_area.add(self._buttons_[name])
class _GenDialog(gtkDialog):
    def __init__(self, name='GenDialog'):
        gtkDialog.__init__(self)
        self.set_name(name)
        self.ok_button = Button('ok', 'gtk-ok')
        self.ok_button.set_name(name)
        self.cancel_button = Button('cancel', 'gtk-cancel')
        self.cancel_button.set_name(name)
        self.action_area.pack_start(self.ok_button, TRUE, TRUE, 0)
        self.action_area.pack_end(self.cancel_button, TRUE, TRUE, 0)
        self.ok_button.show()
        self.cancel_button.show()
        self.cancel_button.connect('clicked', lambda *x : self.destroy())
        self._buttons_ = {}
        self.show()

    def set_ok(self, ok_fun):
        self.ok_button.connect('clicked', ok_fun)

    def set_cancel(self, cancel_fun):
        self.cancel_button.connect('clicked', cancel_fun)
        self.connect('destroy', cancel_fun)

    def add_button(self, name, func, label='foo'):
        if name not in self._buttons_.keys():
            self._buttons_[name] = Button(label)
            self._buttons_[name].show()
            self._buttons_[name].connect('clicked', func)
            self.action_area.add(self._buttons_[name])