X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/ca298c88524c5c44c38d71af0c1f8ab81543e6a9..cf694132f1c28509a9f84377ce8d374bae4177ad:/utils/wxPython/demo/DialogUnits.py diff --git a/utils/wxPython/demo/DialogUnits.py b/utils/wxPython/demo/DialogUnits.py new file mode 100644 index 0000000000..403488c2c1 --- /dev/null +++ b/utils/wxPython/demo/DialogUnits.py @@ -0,0 +1,123 @@ +#!/bin/env python +#---------------------------------------------------------------------------- +# Name: DialogUnits.py +# Purpose: A minimal wxPython program that is a bit smarter than test1. +# +# Author: Robin Dunn +# +# Created: A long time ago, in a galaxy far, far away... +# RCS-ID: $Id$ +# Copyright: (c) 1998 by Total Control Software +# Licence: wxWindows license +#---------------------------------------------------------------------------- + + +## import all of the wxPython GUI package +from wxPython.wx import * + + +#--------------------------------------------------------------------------- + +## Create a new frame class, derived from the wxPython Frame. +class MyFrame(wxFrame): + + def __init__(self, parent, id, title): + # First, call the base class' __init__ method to create the frame + wxFrame.__init__(self, parent, id, title, + wxPoint(100, 100), wxSize(160, 100)) + + # Associate some events with methods of this class + EVT_SIZE(self, self.OnSize) + EVT_MOVE(self, self.OnMove) + + # Add a panel and some controls to display the size and position + panel = wxPanel(self, -1) + wxStaticText(panel, -1, "Size:", + wxDLG_PNT(panel, wxPoint(4, 4)), wxDefaultSize) + wxStaticText(panel, -1, "Pos:", + wxDLG_PNT(panel, wxPoint(4, 14)), wxDefaultSize) + self.sizeCtrl = wxTextCtrl(panel, -1, "", + wxDLG_PNT(panel, wxPoint(24, 4)), + wxDLG_SZE(panel, wxSize(36, -1)), + wxTE_READONLY) + + self.posCtrl = wxTextCtrl(panel, -1, "", + wxDLG_PNT(panel, wxPoint(24, 14)), + wxDLG_SZE(panel, wxSize(36, -1)), + wxTE_READONLY) + + + # This method is called automatically when the CLOSE event is + # sent to this window + def OnCloseWindow(self, event): + # tell the window to kill itself + self.Destroy() + + + # This method is called by the System when the window is resized, + # because of the association above. + def OnSize(self, event): + size = event.GetSize() + self.sizeCtrl.SetValue("%s, %s" % (size.width, size.height)) + + # tell the event system to continue looking for an event handler, + # so the default handler will get called. + event.Skip() + + # This method is called by the System when the window is moved, + # because of the association above. + def OnMove(self, event): + pos = event.GetPosition() + self.posCtrl.SetValue("%s, %s" % (pos.x, pos.y)) + + + +#--------------------------------------------------------------------------- +# if running standalone + +if __name__ == "__main__": + # Every wxWindows application must have a class derived from wxApp + class MyApp(wxApp): + + # wxWindows calls this method to initialize the application + def OnInit(self): + + # Create an instance of our customized Frame class + frame = MyFrame(NULL, -1, "This is a test") + frame.Show(true) + + # Tell wxWindows that this is our main window + self.SetTopWindow(frame) + + # Return a success flag + return true + + + app = MyApp(0) # Create an instance of the application class + app.MainLoop() # Tell it to start processing events + + +#--------------------------------------------------------------------------- +# if running as part of the Demo Framework... + +def runTest(frame, nb, log): + win = MyFrame(frame, -1, "This is a test") + frame.otherWin = win + win.Show(true) + + +overview = """\ +A simple example that shows how to use Dialog Units. +""" + +#---------------------------------------------------------------------------- +# + + + + + + + + +