Demo updates for new wx namespace, from Jeff Grimmett

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@24723 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Robin Dunn
2003-12-09 01:23:28 +00:00
parent a61d40115f
commit 8fa876ca9e
147 changed files with 7313 additions and 5154 deletions

View File

@@ -1,35 +1,44 @@
# 11/21/2003 - Jeff Grimmett (grimmtooth@softhome.net)
#
# o Updated for wx namespace
#
from wxPython.wx import *
import time
import time
import wx
#---------------------------------------------------------------------------
class CustomStatusBar(wxStatusBar):
class CustomStatusBar(wx.StatusBar):
def __init__(self, parent, log):
wxStatusBar.__init__(self, parent, -1)
wx.StatusBar.__init__(self, parent, -1)
# This status bar has three fields
self.SetFieldsCount(3)
self.log = log
self.sizeChanged = False
EVT_SIZE(self, self.OnSize)
EVT_IDLE(self, self.OnIdle)
self.Bind(wx.EVT_SIZE, self.OnSize)
self.Bind(wx.EVT_IDLE, self.OnIdle)
# Field 0 ... just text
self.SetStatusText("A Custom StatusBar...", 0)
self.cb = wxCheckBox(self, 1001, "toggle clock")
EVT_CHECKBOX(self, 1001, self.OnToggleClock)
# This will fall into field 1 (the second field)
self.cb = wx.CheckBox(self, 1001, "toggle clock")
self.Bind(wx.EVT_CHECKBOX, self.OnToggleClock, self.cb)
self.cb.SetValue(True)
# set the initial position of the checkbox
self.Reposition()
# start our timer
self.timer = wxPyTimer(self.Notify)
# We're going to use a timer to drive a 'clock' in the last
# field.
self.timer = wx.PyTimer(self.Notify)
self.timer.Start(1000)
self.Notify()
# Time-out handler
# Handles events from the timer we started in __init__().
# We're using it to drive a 'clock' in field 2 (the third field).
def Notify(self):
t = time.localtime(time.time())
st = time.strftime("%d-%b-%Y %I:%M:%S", t)
@@ -63,23 +72,22 @@ class CustomStatusBar(wxStatusBar):
# reposition the checkbox
def Reposition(self):
rect = self.GetFieldRect(1)
self.cb.SetPosition(wxPoint(rect.x+2, rect.y+2))
self.cb.SetSize(wxSize(rect.width-4, rect.height-4))
self.cb.SetPosition((rect.x+2, rect.y+2))
self.cb.SetSize((rect.width-4, rect.height-4))
self.sizeChanged = False
class TestCustomStatusBar(wxFrame):
class TestCustomStatusBar(wx.Frame):
def __init__(self, parent, log):
wxFrame.__init__(self, parent, -1, 'Test Custom StatusBar')
#wxWindow(self, -1).SetBackgroundColour(wxNamedColour("WHITE"))
wx.Frame.__init__(self, parent, -1, 'Test Custom StatusBar')
self.sb = CustomStatusBar(self, log)
self.SetStatusBar(self.sb)
tc = wxTextCtrl(self, -1, "", style=wxTE_READONLY|wxTE_MULTILINE)
tc = wx.TextCtrl(self, -1, "", style=wx.TE_READONLY|wx.TE_MULTILINE)
self.SetSize((500, 300))
EVT_CLOSE(self, self.OnCloseWindow)
self.Bind(wx.EVT_CLOSE, self.OnCloseWindow)
def OnCloseWindow(self, event):
self.sb.timer.Stop()
@@ -96,21 +104,18 @@ def runTest(frame, nb, log):
#---------------------------------------------------------------------------
overview = """\
A status bar is a narrow window that can be placed along the bottom of
a frame to give small amounts of status information. It can contain
one or more fields, one or more of which can be variable length
according to the size of the window. """
according to the size of the window.
This example demonstrates how to create a custom status bar with actual
gadgets embedded in it. In this case, the first field is just plain text,
The second one has a checkbox that enables the timer, and the third
field has a clock that shows the current time when it is enabled.
"""
if __name__ == '__main__':