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:
@@ -1,120 +1,135 @@
|
||||
# 11/15/2003 - Jeff Grimmett (grimmtooth@softhome.net)
|
||||
#
|
||||
# o Updated for wx namespace
|
||||
#
|
||||
|
||||
from wxPython.wx import *
|
||||
##from wxPython.help import *
|
||||
import wx
|
||||
|
||||
#---------------------------------------------------------------------------
|
||||
# Create and set a help provider. Normally you would do this in
|
||||
# the app's OnInit as it must be done before any SetHelpText calls.
|
||||
provider = wxSimpleHelpProvider()
|
||||
wxHelpProvider_Set(provider)
|
||||
|
||||
|
||||
provider = wx.SimpleHelpProvider()
|
||||
wx.HelpProvider_Set(provider)
|
||||
|
||||
#---------------------------------------------------------------------------
|
||||
|
||||
class TestDialog(wxDialog):
|
||||
def __init__(self, parent, ID, title,
|
||||
pos=wxDefaultPosition, size=wxDefaultSize,
|
||||
style=wxDEFAULT_DIALOG_STYLE):
|
||||
class TestDialog(wx.Dialog):
|
||||
def __init__(
|
||||
self, parent, ID, title, size=wx.DefaultSize, pos=wx.DefaultPosition,
|
||||
style=wx.DEFAULT_DIALOG_STYLE
|
||||
):
|
||||
|
||||
# Instead of calling wxDialog.__init__ we precreate the dialog
|
||||
# object so we can set an extra style that must be set before
|
||||
# so we can set an extra style that must be set before
|
||||
# creation, and then we create the GUI dialog using the Create
|
||||
# method.
|
||||
pre = wxPreDialog()
|
||||
pre.SetExtraStyle(wxDIALOG_EX_CONTEXTHELP)
|
||||
pre = wx.PreDialog()
|
||||
pre.SetExtraStyle(wx.DIALOG_EX_CONTEXTHELP)
|
||||
pre.Create(parent, ID, title, pos, size, style)
|
||||
|
||||
# This next step is the most important, it turns this Python
|
||||
# object into the real wrapper of the dialog (instead of pre)
|
||||
# as far as the wxPython extension is concerned.
|
||||
self.PostCreate(pre)
|
||||
self.this = pre.this
|
||||
|
||||
# Now continue with the normal construction of the dialog
|
||||
# contents
|
||||
sizer = wxBoxSizer(wxVERTICAL)
|
||||
sizer = wx.BoxSizer(wx.VERTICAL)
|
||||
|
||||
label = wxStaticText(self, -1, "This is a wxDialog")
|
||||
label = wx.StaticText(self, -1, "This is a wxDialog")
|
||||
label.SetHelpText("This is the help text for the label")
|
||||
sizer.Add(label, 0, wxALIGN_CENTRE|wxALL, 5)
|
||||
sizer.Add(label, 0, wx.ALIGN_CENTRE|wx.ALL, 5)
|
||||
|
||||
box = wxBoxSizer(wxHORIZONTAL)
|
||||
box = wx.BoxSizer(wx.HORIZONTAL)
|
||||
|
||||
label = wxStaticText(self, -1, "Field #1:")
|
||||
label = wx.StaticText(self, -1, "Field #1:")
|
||||
label.SetHelpText("This is the help text for the label")
|
||||
box.Add(label, 0, wxALIGN_CENTRE|wxALL, 5)
|
||||
box.Add(label, 0, wx.ALIGN_CENTRE|wx.ALL, 5)
|
||||
|
||||
text = wxTextCtrl(self, -1, "", size=(80,-1))
|
||||
text = wx.TextCtrl(self, -1, "", size=(80,-1))
|
||||
text.SetHelpText("Here's some help text for field #1")
|
||||
box.Add(text, 1, wxALIGN_CENTRE|wxALL, 5)
|
||||
box.Add(text, 1, wx.ALIGN_CENTRE|wx.ALL, 5)
|
||||
|
||||
sizer.AddSizer(box, 0, wxGROW|wxALIGN_CENTER_VERTICAL|wxALL, 5)
|
||||
sizer.AddSizer(box, 0, wx.GROW|wx.ALIGN_CENTER_VERTICAL|wx.ALL, 5)
|
||||
|
||||
box = wxBoxSizer(wxHORIZONTAL)
|
||||
box = wx.BoxSizer(wx.HORIZONTAL)
|
||||
|
||||
label = wxStaticText(self, -1, "Field #2:")
|
||||
label = wx.StaticText(self, -1, "Field #2:")
|
||||
label.SetHelpText("This is the help text for the label")
|
||||
box.Add(label, 0, wxALIGN_CENTRE|wxALL, 5)
|
||||
box.Add(label, 0, wx.ALIGN_CENTRE|wx.ALL, 5)
|
||||
|
||||
text = wxTextCtrl(self, -1, "", size=(80,-1))
|
||||
text = wx.TextCtrl(self, -1, "", size=(80,-1))
|
||||
text.SetHelpText("Here's some help text for field #2")
|
||||
box.Add(text, 1, wxALIGN_CENTRE|wxALL, 5)
|
||||
box.Add(text, 1, wx.ALIGN_CENTRE|wx.ALL, 5)
|
||||
|
||||
sizer.AddSizer(box, 0, wxGROW|wxALIGN_CENTER_VERTICAL|wxALL, 5)
|
||||
sizer.AddSizer(box, 0, wx.GROW|wx.ALIGN_CENTER_VERTICAL|wx.ALL, 5)
|
||||
|
||||
line = wxStaticLine(self, -1, size=(20,-1), style=wxLI_HORIZONTAL)
|
||||
sizer.Add(line, 0, wxGROW|wxALIGN_CENTER_VERTICAL|wxRIGHT|wxTOP, 5)
|
||||
line = wx.StaticLine(self, -1, size=(20,-1), style=wx.LI_HORIZONTAL)
|
||||
sizer.Add(line, 0, wx.GROW|wx.ALIGN_CENTER_VERTICAL|wx.RIGHT|wx.TOP, 5)
|
||||
|
||||
box = wxBoxSizer(wxHORIZONTAL)
|
||||
box = wx.BoxSizer(wx.HORIZONTAL)
|
||||
|
||||
if wxPlatform != "__WXMSW__":
|
||||
btn = wxContextHelpButton(self)
|
||||
box.Add(btn, 0, wxALIGN_CENTRE|wxALL, 5)
|
||||
if wx.Platform != "__WXMSW__":
|
||||
btn = wx.ContextHelpButton(self)
|
||||
box.Add(btn, 0, wx.ALIGN_CENTRE|wx.ALL, 5)
|
||||
|
||||
btn = wxButton(self, wxID_OK, " OK ")
|
||||
btn = wx.Button(self, wx.ID_OK, " OK ")
|
||||
btn.SetDefault()
|
||||
btn.SetHelpText("The OK button completes the dialog")
|
||||
box.Add(btn, 0, wxALIGN_CENTRE|wxALL, 5)
|
||||
box.Add(btn, 0, wx.ALIGN_CENTRE|wx.ALL, 5)
|
||||
|
||||
btn = wxButton(self, wxID_CANCEL, " Cancel ")
|
||||
btn.SetHelpText("The Cancel button cnacels the dialog. (Duh!)")
|
||||
box.Add(btn, 0, wxALIGN_CENTRE|wxALL, 5)
|
||||
btn = wx.Button(self, wx.ID_CANCEL, " Cancel ")
|
||||
btn.SetHelpText("The Cancel button cnacels the dialog. (Cool, huh?)")
|
||||
box.Add(btn, 0, wx.ALIGN_CENTRE|wx.ALL, 5)
|
||||
|
||||
sizer.Add(box, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5)
|
||||
sizer.Add(box, 0, wx.ALIGN_CENTER_VERTICAL|wx.ALL, 5)
|
||||
|
||||
self.SetSizer(sizer)
|
||||
self.SetAutoLayout(True)
|
||||
sizer.Fit(self)
|
||||
|
||||
|
||||
|
||||
#---------------------------------------------------------------------------
|
||||
|
||||
def runTest(frame, nb, log):
|
||||
win = TestDialog(frame, -1, "This is a wxDialog", size=wxSize(350, 200),
|
||||
win = TestDialog(frame, -1, "This is a Dialog", size=(350, 200),
|
||||
#style = wxCAPTION | wxSYSTEM_MENU | wxTHICK_FRAME
|
||||
style = wxDEFAULT_DIALOG_STYLE
|
||||
style = wx.DEFAULT_DIALOG_STYLE
|
||||
)
|
||||
win.CenterOnScreen()
|
||||
val = win.ShowModal()
|
||||
if val == wxID_OK:
|
||||
|
||||
if val == wx.ID_OK:
|
||||
log.WriteText("You pressed OK\n")
|
||||
else:
|
||||
log.WriteText("You pressed Cancel\n")
|
||||
|
||||
win.Destroy()
|
||||
|
||||
|
||||
|
||||
#---------------------------------------------------------------------------
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
overview = """\
|
||||
wxPython offers quite a few general purpose dialogs for useful data input from
|
||||
the user; they are all based on the wx.Dialog class, which you can also subclass
|
||||
to create custom dialogs to suit your needs.
|
||||
|
||||
The Dialog class, in addition to dialog-like behaviors, also supports the full
|
||||
wxWindows layout featureset, which means that you can incorporate sizers or
|
||||
layout constraints as needed to achieve the look and feel desired. It even supports
|
||||
context-sensitive help, which is illustrated in this example.
|
||||
|
||||
The example is very simple; in real world situations, a dialog that had input
|
||||
fields such as this would no doubt be required to deliver those values back to
|
||||
the calling function. The Dialog class supports data retrieval in this manner.
|
||||
<b>However, the data must be retrieved prior to the dialog being destroyed.</b>
|
||||
The example shown here is <i>modal</i>; non-modal dialogs are possible as well.
|
||||
|
||||
See the documentation for the <code>Dialog</code> class for more details.
|
||||
|
||||
"""
|
||||
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
import sys,os
|
||||
import run
|
||||
|
Reference in New Issue
Block a user