From 0c3f127c86af818d260966d2292b199757087157 Mon Sep 17 00:00:00 2001 From: Simon Poirier Date: Sat, 11 Jul 2009 21:39:46 +0000 Subject: repackage --- (limited to 'tutorius/dialog.py') diff --git a/tutorius/dialog.py b/tutorius/dialog.py new file mode 100644 index 0000000..be51a0e --- /dev/null +++ b/tutorius/dialog.py @@ -0,0 +1,59 @@ +# Copyright (C) 2009, Tutorius.org +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +""" +The Dialog module provides means of interacting with the user +through the use of Dialogs. +""" +import gtk + +class TutoriusDialog(gtk.Dialog): + """ + TutoriusDialog is a simple wrapper around gtk.Dialog. + + It allows creating and showing a dialog and connecting the response and + button click events to callbacks. + """ + def __init__(self, label="Hint", button_clicked_cb=None, response_cb=None): + """ + Constructor. + + @param label text to be shown on the dialog + @param button_clicked_cb callback for the button click + @param response_cb callback for the dialog response + """ + gtk.Dialog.__init__(self) + + self._button = gtk.Button(label) + + self.add_action_widget(self._button, 1) + + if not button_clicked_cb == None: + self._button.connect("clicked", button_clicked_cb) + + self._button.show() + + if not response_cb == None: + self.connect("response", response_cb) + + self.set_decorated(False) + + def set_button_clicked_cb(self, funct): + """Setter for the button_clicked callback""" + self._button.connect("clicked", funct) + + def close_self(self, arg=None): + """Close the dialog""" + self.destroy() -- cgit v0.9.1