diff options
Diffstat (limited to 'python/pyqt/examples2/menu.py')
-rwxr-xr-x | python/pyqt/examples2/menu.py | 301 |
1 files changed, 0 insertions, 301 deletions
diff --git a/python/pyqt/examples2/menu.py b/python/pyqt/examples2/menu.py deleted file mode 100755 index 36efffa8..00000000 --- a/python/pyqt/examples2/menu.py +++ /dev/null @@ -1,301 +0,0 @@ -#!/usr/bin/env python - -#**************************************************************************** -#** $Id$ -#** -#** Copyright (C) 1992-1998 Troll Tech AS. All rights reserved. -#** -#** This file is part of an example program for PyQt. This example -#** program may be used, distributed and modified without limitation. -#** -#*****************************************************************************/ - -import sys, string -from qt import * - -TRUE = 1 -FALSE = 0 - -# XPM -p1_xpm = [ -"16 16 3 1", -" c None", -". c #000000000000", -"X c #FFFFFFFF0000", -" ", -" ", -" .... ", -" .XXXX. ", -" .............. ", -" .XXXXXXXXXXXX. ", -" .XXXXXXXXXXXX. ", -" .XXXXXXXXXXXX. ", -" .XXXXXXXXXXXX. ", -" .XXXXXXXXXXXX. ", -" .XXXXXXXXXXXX. ", -" .XXXXXXXXXXXX. ", -" .XXXXXXXXXXXX. ", -" .XXXXXXXXXXXX. ", -" .............. ", -" " -] - -# XPM -p2_xpm = [ -"16 16 3 1", -" c None", -". c #000000000000", -"X c #FFFFFFFFFFFF", -" ", -" ...... ", -" .XXX.X. ", -" .XXX.XX. ", -" .XXX.XXX. ", -" .XXX..... ", -" .XXXXXXX. ", -" .XXXXXXX. ", -" .XXXXXXX. ", -" .XXXXXXX. ", -" .XXXXXXX. ", -" .XXXXXXX. ", -" .XXXXXXX. ", -" ......... ", -" ", -" " -] - -# XPM -p3_xpm = [ -"16 16 3 1", -" c None", -". c #000000000000", -"X c #FFFFFFFFFFFF", -" ", -" ", -" ......... ", -" ........... ", -" ........ .. ", -" ........... ", -" ........... ", -" ........... ", -" ........... ", -" ...XXXXX... ", -" ...XXXXX... ", -" ...XXXXX... ", -" ...XXXXX... ", -" ......... ", -" ", -" " -] - -p4_xpm = [ -' 16 14 5 1', -'. c #000000', -'# c #848284', -'a c #c6c3c6', -'b c #ffff00', -'c c #ffffff', -'aaaaa.........aa', -'aaaa.cccccccc.aa', -'aaaa.c.....c.aaa', -'aaa.cccccccc.aaa', -'aaa.c.....c....a', -'aa.cccccccc.a.a.', -'a..........a.a..', -'.aaaaaaaaaa.a.a.', -'.............aa.', -'.aaaaaa###aa.a.a', -'.aaaaaabbbaa...a', -'.............a.a', -'a.aaaaaaaaa.a.aa', -'aa...........aaa' -] - -# Auxiliary class to provide fancy menu items with different fonts. -# Used for the "bold" and "underline" menu items in the options menu. - -#class MyMenuItem( QCustomMenuItem ): -# def __init__( self, s=None, f=None ): -# apply( QCustomMenuItem.__init__,( self, s, f ) ) -# string = QString( s ) -# font = QFont( f ) - -# def paint( self, p, TRUE, FALSE, x, y, w, h ) : -# p.setFont ( font ) -# p.drawText( x, y, w, h, Qt.AlignLeft | Qt.AlignVCenter | Qt.ShowPrefix | Qt.DontClip, string ) -# def sizeHint( self ): -# return QFontMetrics( font ).size( Qt.AlignLeft | Qt.AlignVCenter | Qt.ShowPrefix | Qt.DontClip, string ) - - -# -### Implementation of MenuExample class -# - -class MenuExample( QWidget ): - def __init__( self, parent=None, name=None ): - apply( QWidget.__init__,(self, parent, name) ) - self.p1 = QIconSet( QPixmap ( p1_xpm ) ) - self.p2 = QIconSet( QPixmap ( p2_xpm ) ) - self.p3 = QIconSet( QPixmap ( p3_xpm ) ) - self.p4 = QIconSet( QPixmap ( p4_xpm ) ) - #openIcon = QPixmap() - #saveIcon = QPixmap() - #printIcon = QPixmap() - - self.printer = QPopupMenu( self ) - #CHECK_PTR( self.printer ) - self.printer.insertTearOffHandle() - self.printer.insertItem( "&Print to printer", self.printDoc ) - self.printer.insertItem( "Print to &file", self.file ) - self.printer.insertItem( "Print to fa&x", self.fax ) - self.printer.insertSeparator() - self.printer.insertItem( "Printer &Setup", self.printerSetup ) - - self.file = QPopupMenu( self ) - #CHECK_PTR( self.file ); - self.file.insertItem( self.p1, "&Open", self.open, Qt.CTRL+Qt.Key_O ) - self.file.insertItem( self.p2, "&New", self.news, Qt.CTRL+Qt.Key_N ) - self.file.insertItem( self.p3, "&Save", self.save, Qt.CTRL+Qt.Key_S ) - self.file.insertItem( "&Close", self.closeDoc, Qt.CTRL+Qt.Key_W ) - self.file.insertSeparator() - self.file.insertItem( self.p4, "&Print", self.printer, Qt.CTRL+Qt.Key_P ) - self.file.insertSeparator() - self.file.insertItem( "E&xit", qApp, SLOT( "quit()" ), Qt.CTRL+Qt.Key_Q ) - - self.edit = QPopupMenu( self ) - #CHECK_PTR( self.edit ) - undoID = self.edit.insertItem( "&Undo", self.undo ) - redoID = self.edit.insertItem( "&Redo", self.redo ) - self.edit.setItemEnabled( undoID, TRUE ) - self.edit.setItemEnabled( redoID, FALSE ) - - self.options = QPopupMenu( self ) - #CHECK_PTR( self.options ) - self.options.insertTearOffHandle() - self.options.setCaption( 'Options' ) - self.options.insertItem( "&Normal Font", self.normal ) - self.options.insertSeparator() - - self.options.polish() # adjust system settings - self.f = QFont( self.options.font() ) - self.f.setBold( TRUE ) - self.boldID = self.options.insertItem( "&Bold" ) - self.options.setAccel( Qt.CTRL+Qt.Key_B, self.boldID ) - self.options.connectItem( self.boldID, self.bold ) - - self.f = QFont( self.options.font() ) - self.f.setUnderline( TRUE ) - self.underlineID = self.options.insertItem( "&Underline" ) - self.options.setAccel( Qt.CTRL+Qt.Key_U, self.underlineID ) - self.options.connectItem( self.underlineID, self.underline ) - - self.isBold = FALSE - self.isUnderline = FALSE - self.options.setCheckable( TRUE ) - - self.options = QPopupMenu() - #CHECK_PTR( self.options ) - self.options.insertItem( "&Normal Font", self.normal ) - self.options.insertSeparator() - self.boldID = self.options.insertItem( "&Bold", self.bold ) - self.underlineID = self.options.insertItem( "&Underline", self.underline ) - - self.isBold = FALSE - self.isUnderline = FALSE - self.options.setCheckable( TRUE ) - - self.help = QPopupMenu( self ) - #CHECK_PTR( self.help ) - self.help.insertItem( "&About", self.about, Qt.CTRL+Qt.Key_H ) - self.help.insertItem( "About &Qt", self.aboutQt ) - - self.menu = QMenuBar( self ) - #CHECK_PTR( self.menu ); - self.menu.insertItem( "&File", self.file ) - self.menu.insertItem( "&Edit", self.edit ) - self.menu.insertItem( "&Options", self.options ) - self.menu.insertSeparator() - self.menu.insertItem( "&Help", self.help ) - self.menu.setSeparator( QMenuBar.InWindowsStyle ) - - self.label = QLabel( self ) - #CHECK_PTR( self.label ) - self.label.setGeometry( 20, self.rect().center().y()-20, self.width()-40, 40 ) - self.label.setFrameStyle( QFrame.Box | QFrame.Raised ) - self.label.setLineWidth( 1 ) - self.label.setAlignment( Qt.AlignCenter ) - - self.label.setFont( QFont( "times", 12, QFont.Bold ) ) - self.connect( self, PYSIGNAL( "explain" ), self.label.setText ) - #self.connect( self, PYSIGNAL( "explain(const char *)" ), - # self.label, SLOT( "setText(const char *)" ) ) - - self.setMinimumSize( 100, 80 ) - - def open( self ): - self.emit ( PYSIGNAL( "explain" ), ( "File/Open selected", ) ) - - def news( self ): - self.emit ( PYSIGNAL( "explain" ), ( "File/New selected", ) ) - - def save( self ): - self.emit ( PYSIGNAL( "explain" ), ( "File/Save selected", ) ) - - def closeDoc( self ): - self.emit ( PYSIGNAL( "explain" ), ( "File/Close selected", ) ) - - def undo( self ): - self.emit ( PYSIGNAL( "explain" ), ( "Edit/Undo selected", ) ) - - def redo( self ): - self.emit ( PYSIGNAL( "explain" ), ( "Edit/Redo selected", ) ) - - def normal( self ): - self.isBold = FALSE - self.isUnderline = FALSE - self.options.setItemChecked( self.boldID, self.isBold ) - self.options.setItemChecked( self.underlineID, self.isUnderline ) - self.emit(PYSIGNAL("explain"), ("Options/Normal selected",)) - - def bold( self ): - self.isBold = not self.isBold - self.options.setItemChecked( self.boldID, self.isBold ) - self.emit ( PYSIGNAL( "explain" ), ( "Options/Bold selected", ) ) - - def underline( self ): - self.isUnderline = not self.isUnderline - self.options.setItemChecked( self.underlineID, self.isUnderline ) - self.emit(PYSIGNAL("explain"), ("Options/Underline selected",)) - - def about( self ): - QMessageBox.about( self, "Qt Menu Example", - "This example demonstrates simple use of Qt menus.\n" - "You can cut and paste lines from it to your own\n" - "programs." ) - - def aboutQt( self ): - QMessageBox.aboutQt( self, "Qt Menu Example" ) - - def printDoc( self ): - self.emit ( PYSIGNAL( "explain" ), ( "File/Printer/Print selected", ) ) - - def file( self ): - self.emit ( PYSIGNAL( "explain" ), ( "File/Printer/Print To File selected", ) ) - - def fax( self ): - self.emit ( PYSIGNAL( "explain" ), ( "File/Printer/Print To Fax selected", ) ) - - def printerSetup( self ): - self.emit ( PYSIGNAL( "explain" ), ( "File/Printer/Printer Setup selected", ) ) - - def resizeEvent( self, ev ): - self.label.setGeometry( 20, self.rect().center().y()-20, self.width()-40, 40 ) - -a = QApplication( sys.argv ) -m = MenuExample() - -a.setMainWidget( m ) -m.setCaption( 'MenuExample' ) -m.show() -#a.connect( a, SIGNAL('lastWindowClosed()'), a, SLOT('quit()') ) -a.exec_loop() |