diff options
Diffstat (limited to 'TheWindow.py')
-rwxr-xr-x | TheWindow.py | 85 |
1 files changed, 85 insertions, 0 deletions
diff --git a/TheWindow.py b/TheWindow.py new file mode 100755 index 0000000..3ea365b --- /dev/null +++ b/TheWindow.py @@ -0,0 +1,85 @@ +# TheWindow.py Manages the window in non-Sugar environments +# +# Copyright (C) 2011 Laurent BERNABE +# +# 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 + +import pygtk + +from com.gmail.bernabe.laurent.sugar_olpc.learning_writing.gui.MenuActions \ +import MenuActions + +pygtk.require('2.0') +import gtk + +from \ +com.gmail.bernabe.laurent.sugar_olpc.learning_writing.gui.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 |