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,68 +1,83 @@
# 11/17/2003 - Jeff Grimmett (grimmtooth@softhome.net)
#
# o Updated for wx namespace
#
from wxPython.wx import *
import os
import os
import wx
#----------------------------------------------------------------------
text = """\
Right-click on the panel to get a menu. This menu will be managed by
a wxFileHistory object and so the files you select will automatically
be added to the end of the menu and will be selectable the next time
the menu is viewed. The filename selected, either via the Open menu
item, or from the history, will be displayed in the log window below.
Right-click on the panel above the line to get a menu. This menu will
be managed by a FileHistory object and so the files you select will
automatically be added to the end of the menu and will be selectable
the next time the menu is viewed. The filename selected, either via the
Open menu item, or from the history, will be displayed in the log
window below.
"""
#----------------------------------------------------------------------
class TestPanel(wxPanel):
class TestPanel(wx.Panel):
def __init__(self, parent, log):
self.log = log
wxPanel.__init__(self, parent, -1)
box = wxBoxSizer(wxVERTICAL)
wx.Panel.__init__(self, parent, -1)
box = wx.BoxSizer(wx.VERTICAL)
# Make and layout the controls
fs = self.GetFont().GetPointSize()
bf = wxFont(fs+4, wxSWISS, wxNORMAL, wxBOLD)
nf = wxFont(fs+2, wxSWISS, wxNORMAL, wxNORMAL)
bf = wx.Font(fs+4, wx.SWISS, wx.NORMAL, wx.BOLD)
nf = wx.Font(fs+2, wx.SWISS, wx.NORMAL, wx.NORMAL)
t = wxStaticText(self, -1, "wxFileHistory")
t = wx.StaticText(self, -1, "FileHistory")
t.SetFont(bf)
box.Add(t, 0, wxCENTER|wxALL, 5)
box.Add(t, 0, wx.CENTER|wx.ALL, 5)
box.Add(wxStaticLine(self, -1), 0, wxEXPAND)
box.Add(wx.StaticLine(self, -1), 0, wx.EXPAND)
box.Add((10,20))
t = wxStaticText(self, -1, text)
t = wx.StaticText(self, -1, text)
t.SetFont(nf)
box.Add(t, 0, wxCENTER|wxALL, 5)
box.Add(t, 0, wx.CENTER|wx.ALL, 5)
self.SetSizer(box)
self.SetAutoLayout(True)
# Make a menu
self.menu = m = wxMenu()
m.Append(wxID_NEW, "&New")
m.Append(wxID_OPEN, "&Open...")
m.Append(wxID_CLOSE, "&Close")
m.Append(wxID_SAVE, "&Save")
m.Append(wxID_SAVEAS, "Save &as...")
m.Enable(wxID_NEW, False)
m.Enable(wxID_CLOSE, False)
m.Enable(wxID_SAVE, False)
m.Enable(wxID_SAVEAS, False)
self.menu = m = wx.Menu()
# Little know wx Fact #42: there are a number of pre-set IDs
# in the wx package, to be used for common controls such as those
# illustrated below. Neat, huh?
m.Append(wx.ID_NEW, "&New")
m.Append(wx.ID_OPEN, "&Open...")
m.Append(wx.ID_CLOSE, "&Close")
m.Append(wx.ID_SAVE, "&Save")
m.Append(wx.ID_SAVEAS, "Save &as...")
m.Enable(wx.ID_NEW, False)
m.Enable(wx.ID_CLOSE, False)
m.Enable(wx.ID_SAVE, False)
m.Enable(wx.ID_SAVEAS, False)
# and a file history
self.filehistory = wxFileHistory()
self.filehistory = wx.FileHistory()
self.filehistory.UseMenu(self.menu)
# and finally the event handler bindings
EVT_RIGHT_UP(self, self.OnRightClick)
EVT_MENU(self, wxID_OPEN, self.OnFileOpenDialog)
EVT_MENU_RANGE(self, wxID_FILE1, wxID_FILE9, self.OnFileHistory)
EVT_WINDOW_DESTROY(self, self.Cleanup)
self.Bind(wx.EVT_RIGHT_UP, self.OnRightClick)
self.Bind(wx.EVT_MENU, self.OnFileOpenDialog, id=wx.ID_OPEN)
self.Bind(
wx.EVT_MENU_RANGE, self.OnFileHistory, id=wx.ID_FILE1, id2=wx.ID_FILE9
)
self.Bind(wx.EVT_WINDOW_DESTROY, self.Cleanup)
def Cleanup(self, *args):
# A little extra cleanup is required for the FileHistory control
del self.filehistory
self.menu.Destroy()
@@ -72,11 +87,12 @@ class TestPanel(wxPanel):
def OnFileOpenDialog(self, evt):
dlg = wxFileDialog(self,
dlg = wx.FileDialog(self,
defaultDir = os.getcwd(),
wildcard = "All Files|*",
style = wxOPEN | wxCHANGE_DIR)
if dlg.ShowModal() == wxID_OK:
style = wx.OPEN | wx.CHANGE_DIR)
if dlg.ShowModal() == wx.ID_OK:
path = dlg.GetPath()
self.log.write("You selected %s\n" % path)
@@ -88,7 +104,7 @@ class TestPanel(wxPanel):
def OnFileHistory(self, evt):
# get the file based on the menu ID
fileNum = evt.GetId() - wxID_FILE1
fileNum = evt.GetId() - wx.ID_FILE1
path = self.filehistory.GetHistoryFile(fileNum)
self.log.write("You selected %s\n" % path)
@@ -108,12 +124,19 @@ def runTest(frame, nb, log):
overview = """<html><body>
<h3>wxFileHistory</h3>
<h3>FileHistory</h3>
wxFileHistory encapsulates functionality to record the last few files
visited, and to allow the user to quickly load these files using the
list appended to a menu, such as the File menu.
<p>Note that this inclusion is not automatic; as illustrated in this example,
you must add files (and remove them) as deemed necessary within the framework
of your program.
<p>Note also the additional cleanup required for this class, namely trapping the
enclosing window's Destroy event and deleting the file history control and its
associated menu.
</body></html>
"""