summaryrefslogtreecommitdiffstats
path: root/python/pyqt/examples2/menu.py
diff options
context:
space:
mode:
Diffstat (limited to 'python/pyqt/examples2/menu.py')
-rwxr-xr-xpython/pyqt/examples2/menu.py301
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()