Initial version
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@485 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
144
utils/wxPython/tests/test3.py
Normal file
144
utils/wxPython/tests/test3.py
Normal file
@@ -0,0 +1,144 @@
|
||||
#!/bin/env python
|
||||
#----------------------------------------------------------------------------
|
||||
# Name: test3.py
|
||||
# Purpose: Testing menus and status lines
|
||||
#
|
||||
# Author: Robin Dunn
|
||||
#
|
||||
# Created:
|
||||
# RCS-ID: $Id$
|
||||
# Copyright: (c) 1998 by Total Control Software
|
||||
# Licence: wxWindows license
|
||||
#----------------------------------------------------------------------------
|
||||
|
||||
|
||||
from wxPython import *
|
||||
|
||||
|
||||
#---------------------------------------------------------------------------
|
||||
|
||||
class MyCanvas(wxWindow):
|
||||
def OnPaint(self, event):
|
||||
dc = wxPaintDC(self)
|
||||
dc.BeginDrawing()
|
||||
w, h = self.GetClientSize()
|
||||
font = wxFont(42, wxSWISS, wxNORMAL, wxNORMAL)
|
||||
dc.SetFont(font)
|
||||
st = "Python Rules!"
|
||||
tw,th, d,e = dc.GetTextExtent(st)
|
||||
dc.DrawText(st, (w-tw)/2, (h-th)/2)
|
||||
dc.EndDrawing()
|
||||
|
||||
#---------------------------------------------------------------------------
|
||||
|
||||
class MyMiniFrame(wxMiniFrame):
|
||||
def __init__(self, parent, ID, title, pos, size, style):
|
||||
wxMiniFrame.__init__(self, parent, ID, title, pos, size, style)
|
||||
panel = wxPanel(self, -1)
|
||||
ID = NewId()
|
||||
button = wxButton(panel, ID, "Close Me")
|
||||
button.SetPosition(wxPoint(15, 15))
|
||||
self.Connect(ID, -1, wxEVT_COMMAND_BUTTON_CLICKED, self.OnCloseMe)
|
||||
|
||||
def OnCloseMe(self, event):
|
||||
self.Close(true)
|
||||
|
||||
def OnCloseWindow(self, event):
|
||||
self.Destroy()
|
||||
|
||||
#---------------------------------------------------------------------------
|
||||
|
||||
class MyFrame(wxFrame):
|
||||
def __init__(self, parent, id, title):
|
||||
wxFrame.__init__(self, parent, id, title, wxPyDefaultPosition,
|
||||
wxSize(420, 200))
|
||||
self.canvas = MyCanvas(self, -1)
|
||||
self.CreateStatusBar(3)
|
||||
mainmenu = wxMenuBar()
|
||||
menu = wxMenu()
|
||||
menu.Append(100, 'A &Menu Item', 'the help text')
|
||||
menu.Append(101, '&Another', 'Grok!')
|
||||
menu.AppendSeparator()
|
||||
menu.Append(200, 'E&xit', 'Get the heck outta here!')
|
||||
mainmenu.Append(menu, "&It's a menu!")
|
||||
self.SetMenuBar(mainmenu)
|
||||
print menu.GetHelpString(100)
|
||||
print mainmenu.GetHelpString(101)
|
||||
print mainmenu.GetHelpString(200)
|
||||
self.DragAcceptFiles(true)
|
||||
|
||||
self.Connect(-1, -1, wxEVT_COMMAND_MENU_SELECTED, self.OnMenuCommand)
|
||||
self.Connect(-1, -1, wxEVT_DROP_FILES, self.OnDropFiles)
|
||||
|
||||
|
||||
|
||||
def OnCloseWindow(self, event):
|
||||
print 'OnCloseWindow'
|
||||
self.Destroy()
|
||||
|
||||
|
||||
def OnSize(self, event):
|
||||
w,h = self.GetClientSize()
|
||||
self.canvas.SetSize(wxSize(w, h))
|
||||
self.SetStatusText("hello, this is a test: (%d, %d)" % (w,h))
|
||||
|
||||
## def OnMenuHighlight(self, event):
|
||||
## mainmenu = self.GetMenuBar()
|
||||
## st = mainmenu.GetHelpString(event.GetMenuId())
|
||||
## self.SetStatusText('['+st+']', 0)
|
||||
|
||||
def OnMenuCommand(self, event):
|
||||
# why isn't this a wxMenuEvent???
|
||||
print event, event.GetInt()
|
||||
if event.GetInt() == 200:
|
||||
self.Close()
|
||||
elif event.GetInt() == 101:
|
||||
win = MyMiniFrame(self, -1, "This is a Mini...",
|
||||
wxPoint(-1, -1), #wxPyDefaultPosition,
|
||||
wxSize(150, 150),
|
||||
wxMINIMIZE_BOX | wxMAXIMIZE_BOX |
|
||||
wxTHICK_FRAME | wxSYSTEM_MENU |
|
||||
wxTINY_CAPTION_HORIZ)
|
||||
win.Show(true)
|
||||
|
||||
|
||||
|
||||
def OnDropFiles(self, event):
|
||||
fileList = event.GetFiles()
|
||||
for file in fileList:
|
||||
print file
|
||||
|
||||
|
||||
#---------------------------------------------------------------------------
|
||||
|
||||
|
||||
class MyApp(wxApp):
|
||||
def OnInit(self):
|
||||
frame = MyFrame(NULL, -1, "Test 3")
|
||||
frame.Show(true)
|
||||
self.SetTopWindow(frame)
|
||||
return true
|
||||
|
||||
#---------------------------------------------------------------------------
|
||||
|
||||
|
||||
def main():
|
||||
app = MyApp(0)
|
||||
app.MainLoop()
|
||||
|
||||
|
||||
def t():
|
||||
import pdb
|
||||
pdb.run('main()')
|
||||
|
||||
if __name__ == '__main__':
|
||||
main()
|
||||
|
||||
|
||||
#----------------------------------------------------------------------------
|
||||
#
|
||||
# $Log$
|
||||
# Revision 1.1 1998/08/09 08:28:05 RD
|
||||
# Initial version
|
||||
#
|
||||
#
|
Reference in New Issue
Block a user