diff options
Diffstat (limited to 'com/gmail/bernabe/laurent/sugar_olpc/learning_writing/TheWindow.py')
-rwxr-xr-x | com/gmail/bernabe/laurent/sugar_olpc/learning_writing/TheWindow.py | 78 |
1 files changed, 78 insertions, 0 deletions
diff --git a/com/gmail/bernabe/laurent/sugar_olpc/learning_writing/TheWindow.py b/com/gmail/bernabe/laurent/sugar_olpc/learning_writing/TheWindow.py new file mode 100755 index 0000000..aea35e0 --- /dev/null +++ b/com/gmail/bernabe/laurent/sugar_olpc/learning_writing/TheWindow.py @@ -0,0 +1,78 @@ +# TheWindow.py Manages the window in non-Sugar environments +# +#This file is part of LearningWriting. +# +#LearningWriting 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 3 of the License, or +#(at your option) any later version. +# +#LearningWriting 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 LearningWriting. If not, see <http://www.gnu.org/licenses/>. + +import pygtk + +from MenuActions import MenuActions + +pygtk.require('2.0') +import gtk + +from TheDrawingAreaEventBox import TheDrawingAreaEventBox + +class TheWindow(gtk.Window): + ''' + The Window of the application + ''' + + def __init__(self): + ''' + Simple constructor + ''' + gtk.Window.__init__(self) + self.__wrapped_drawing_area = TheDrawingAreaEventBox() + self.__menu_actions = MenuActions(self.__wrapped_drawing_area) + self.__vbox = gtk.VBox(False, 2) + self.add(self.__vbox) + self.__addMenuBar() + self.__vbox.pack_start(self.__wrapped_drawing_area) + self.set_size_request(300, 300) + self.connect("delete-event", lambda widget, event : gtk.main_quit()) + self.show_all() + + def __addMenuBar(self): + ''' + Adds a menu bar + ''' + menu_bar = gtk.MenuBar() + drawing_item = gtk.MenuItem("_Drawing") + menu_bar.append(drawing_item) + drawing_sub_menu = gtk.Menu() + drawing_write_item = gtk.RadioMenuItem(None, "_Write") + drawing_write_item.set_active(True) + drawing_write_item.connect("activate", self.__manageDrawingWrite) + drawing_read_item = gtk.RadioMenuItem(drawing_write_item, "_Read") + drawing_read_item.connect("activate", self.__manageDrawingRead) + drawing_sub_menu.append(drawing_write_item) + drawing_sub_menu.append(drawing_read_item) + drawing_item.set_submenu(drawing_sub_menu) + self.__vbox.pack_start(menu_bar, False, True) + menu_bar.show_all() + + def __manageDrawingWrite(self, menu_item): + ''' + Manages drawing->write menu + ''' + if menu_item.get_active() : + self.__menu_actions.manageDrawingWrite() + + def __manageDrawingRead(self, menu_item): + ''' + Manages drawing->read menu + ''' + if menu_item.get_active() : + self.__menu_actions.manageDrawingRead()
\ No newline at end of file |