# 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 . 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()