diff options
Diffstat (limited to 'python/pykde/templates/basic/menuapp2.py')
-rw-r--r-- | python/pykde/templates/basic/menuapp2.py | 200 |
1 files changed, 0 insertions, 200 deletions
diff --git a/python/pykde/templates/basic/menuapp2.py b/python/pykde/templates/basic/menuapp2.py deleted file mode 100644 index 394eca80..00000000 --- a/python/pykde/templates/basic/menuapp2.py +++ /dev/null @@ -1,200 +0,0 @@ -""" -This template constructs an application with menus, toolbar and statusbar. -It uses KDE classes and methods that simplify the task of building and -operating a GUI. It is recommended that this approach be used, rather -than the primitive approach in menuapp1.py -""" - -""" -Copyright 2003 Jim Bublitz - -Terms and Conditions - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to -deal in the Software without restriction, including without limitation the -rights to use, copy, modify, merge, publish, distribute, sublicense, and/or -sell copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, -WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR -IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - -Except as contained in this notice, the name of the copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in this Software without prior written authorization from the -copyright holder. -""" - - -False = 0 -True = not False - - -import sys - -from qt import QPopupMenu, SIGNAL - -from kdecore import KApplication, KCmdLineArgs, KAboutData, i18n, KShortcut -from kdeui import KMainWindow, KMessageBox, KStdAction, KAction - -STATUSBAR_LEFT = 1 -STATUSBAR_MIDDLE = 2 -STATUSBAR_RIGHT = 3 - -class MainWin (KMainWindow): - def __init__ (self, *args): - apply (KMainWindow.__init__, (self,) + args) - - self.initActions () - self.initMenus () - self.initToolBar () - self.initStatusBar () - - self.saveAction.setEnabled (False) - self.saveAsAction.setEnabled (False) - - def initActions (self): - # "File" menu items - self.newAction = KStdAction.openNew (self.slotNew, self.actionCollection ()) - self.openAction = KStdAction.open (self.slotOpen, self.actionCollection ()) - self.saveAction = KStdAction.save (self.slotSave, self.actionCollection ()) - self.saveAsAction = KStdAction.saveAs (self.slotSaveAs, self.actionCollection ()) - self.printAction = KStdAction.print_ (self.slotPrint, self.actionCollection ()) - self.quitAction = KStdAction.quit (self.slotQuit, self.actionCollection ()) - - # "Edit" menu items - self.undoAction = KStdAction.undo (self.slotUndo, self.actionCollection ()) - self.redoAction = KStdAction.redo (self.slotRedo, self.actionCollection ()) - self.cutAction = KStdAction.cut (self.slotCut, self.actionCollection ()) - self.copyAction = KStdAction.copy (self.slotCopy, self.actionCollection ()) - self.pasteAction = KStdAction.paste (self.slotPaste, self.actionCollection ()) - self.findAction = KStdAction.find (self.slotFind, self.actionCollection ()) - self.findNextAction = KStdAction.findNext (self.slotFindNext, self.actionCollection ()) - self.replaceAction = KStdAction.replace (self.slotReplace, self.actionCollection ()) - self.specialAction = KAction (i18n ("Special"), KShortcut.null (), self.slotSpecial, self.actionCollection (), None) - - def initMenus (self): - fileMenu = QPopupMenu (self) - self.newAction.plug (fileMenu) - self.openAction.plug (fileMenu) - fileMenu.insertSeparator () - self.saveAction.plug (fileMenu) - self.saveAsAction.plug (fileMenu) - fileMenu.insertSeparator () - self.printAction.plug (fileMenu) - fileMenu.insertSeparator () - self.quitAction.plug (fileMenu) - self.menuBar ().insertItem (i18n ("&File"), fileMenu) - - editMenu = QPopupMenu (self) - self.undoAction.plug (editMenu) - self.redoAction.plug (editMenu) - editMenu.insertSeparator () - self.cutAction.plug (editMenu) - self.copyAction.plug (editMenu) - self.pasteAction.plug (editMenu) - editMenu.insertSeparator () - self.findAction.plug (editMenu) - self.findNextAction.plug (editMenu) - self.replaceAction.plug (editMenu) - editMenu.insertSeparator () - self.specialAction.plug (editMenu) - self.menuBar ().insertItem (i18n ("&Edit"), editMenu) - - helpMenu = self.helpMenu ("") - self.menuBar ().insertItem (i18n ("&Help"), helpMenu) - - def initToolBar (self): - self.newAction.plug (self.toolBar ()) - self.openAction.plug (self.toolBar ()) - self.saveAction.plug (self.toolBar ()) - self.cutAction.plug (self.toolBar ()) - self.copyAction.plug (self.toolBar ()) - self.pasteAction.plug (self.toolBar ()) - - def initStatusBar (self): - self.statusBar ().insertItem ("", STATUSBAR_LEFT, 1000, True) - self.statusBar ().insertItem ("", STATUSBAR_MIDDLE, 1000, True) - self.statusBar ().insertItem ("", STATUSBAR_RIGHT, 1000, True) - -#-------------------- slots ----------------------------------------------- - - def slotNew (self, id = -1): - self.notImpl ("New") - - def slotOpen(self, id = -1): - self.notImpl ("Open") - - def slotSave (self, id = -1): - self.notImpl ("Save") - - def slotSaveAs (self): - self.notImpl ("Save As") - - def slotPrint (self): - self.notImpl ("Print") - - def slotQuit (self): - self.notImpl ("Quit") - - def slotUndo (self): - self.notImpl ("Undo") - - def slotRedo (self): - self.notImpl ("Redo") - - def slotCut (self, id = -1): - self.notImpl ("Cut") - - def slotCopy (self, id = -1): - self.notImpl ("Copy") - - def slotPaste (self, id = -1): - self.notImpl ("Paste") - - def slotFind (self): - self.notImpl ("Find") - - def slotFindNext (self): - self.notImpl ("Find Next") - - def slotReplace (self): - self.notImpl ("Replace") - - def slotSpecial (self): - self.notImpl ("Special") - - def notImpl (self, item = "Feature"): - self.statusBar ().changeItem ("%s not implemented" % item, STATUSBAR_LEFT) - KMessageBox.error (self, "%s not implemented" % item, "Not Implemented") - self.statusBar ().changeItem ("", STATUSBAR_LEFT) - - -#-------------------- main ------------------------------------------------ - -description = "A basic application template" -version = "1.0" -aboutData = KAboutData ("", "",\ - version, description, KAboutData.License_GPL,\ - "(C) 2003 whoever the author is") - -aboutData.addAuthor ("author1", "whatever they did", "email@somedomain") -aboutData.addAuthor ("author2", "they did something else", "another@email.address") - -KCmdLineArgs.init (sys.argv, aboutData) - -KCmdLineArgs.addCmdLineOptions ([("+files", "File to open")]) - -app = KApplication () -mainWindow = MainWin (None, "main window") -mainWindow.show() -app.exec_loop() |