2f0f3b0fd6
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@24047 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
126 lines
3.9 KiB
Python
126 lines
3.9 KiB
Python
|
|
from wxPython.wx import *
|
|
from wxPython.help import *
|
|
|
|
#---------------------------------------------------------------------------
|
|
# 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)
|
|
|
|
|
|
|
|
#---------------------------------------------------------------------------
|
|
|
|
class TestDialog(wxDialog):
|
|
def __init__(self, parent, ID, title,
|
|
pos=wxDefaultPosition, size=wxDefaultSize,
|
|
style=wxDEFAULT_DIALOG_STYLE):
|
|
|
|
# Instead of calling wxDialog.__init__ we precreate the dialog
|
|
# object 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.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.this = pre.this
|
|
self.thisown = pre.thisown
|
|
pre.thisown = 0
|
|
|
|
|
|
# Now continue with the normal construction of the dialog
|
|
# contents
|
|
sizer = wxBoxSizer(wxVERTICAL)
|
|
|
|
label = wxStaticText(self, -1, "This is a wxDialog")
|
|
label.SetHelpText("This is the help text for the label")
|
|
sizer.Add(label, 0, wxALIGN_CENTRE|wxALL, 5)
|
|
|
|
box = wxBoxSizer(wxHORIZONTAL)
|
|
|
|
label = wxStaticText(self, -1, "Field #1:")
|
|
label.SetHelpText("This is the help text for the label")
|
|
box.Add(label, 0, wxALIGN_CENTRE|wxALL, 5)
|
|
|
|
text = wxTextCtrl(self, -1, "", size=(80,-1))
|
|
text.SetHelpText("Here's some help text for field #1")
|
|
box.Add(text, 1, wxALIGN_CENTRE|wxALL, 5)
|
|
|
|
sizer.AddSizer(box, 0, wxGROW|wxALIGN_CENTER_VERTICAL|wxALL, 5)
|
|
|
|
box = wxBoxSizer(wxHORIZONTAL)
|
|
|
|
label = wxStaticText(self, -1, "Field #2:")
|
|
label.SetHelpText("This is the help text for the label")
|
|
box.Add(label, 0, wxALIGN_CENTRE|wxALL, 5)
|
|
|
|
text = wxTextCtrl(self, -1, "", size=(80,-1))
|
|
text.SetHelpText("Here's some help text for field #2")
|
|
box.Add(text, 1, wxALIGN_CENTRE|wxALL, 5)
|
|
|
|
sizer.AddSizer(box, 0, wxGROW|wxALIGN_CENTER_VERTICAL|wxALL, 5)
|
|
|
|
line = wxStaticLine(self, -1, size=(20,-1), style=wxLI_HORIZONTAL)
|
|
sizer.Add(line, 0, wxGROW|wxALIGN_CENTER_VERTICAL|wxRIGHT|wxTOP, 5)
|
|
|
|
box = wxBoxSizer(wxHORIZONTAL)
|
|
|
|
if wxPlatform != "__WXMSW__":
|
|
btn = wxContextHelpButton(self)
|
|
box.Add(btn, 0, wxALIGN_CENTRE|wxALL, 5)
|
|
|
|
btn = wxButton(self, wxID_OK, " OK ")
|
|
btn.SetDefault()
|
|
btn.SetHelpText("The OK button completes the dialog")
|
|
box.Add(btn, 0, wxALIGN_CENTRE|wxALL, 5)
|
|
|
|
btn = wxButton(self, wxID_CANCEL, " Cancel ")
|
|
btn.SetHelpText("The Cancel button cnacels the dialog. (Duh!)")
|
|
box.Add(btn, 0, wxALIGN_CENTRE|wxALL, 5)
|
|
|
|
sizer.AddSizer(box, 0, wxALIGN_CENTER_VERTICAL|wxALL, 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),
|
|
#style = wxCAPTION | wxSYSTEM_MENU | wxTHICK_FRAME
|
|
style = wxDEFAULT_DIALOG_STYLE
|
|
)
|
|
win.CenterOnScreen()
|
|
val = win.ShowModal()
|
|
if val == wxID_OK:
|
|
log.WriteText("You pressed OK\n")
|
|
else:
|
|
log.WriteText("You pressed Cancel\n")
|
|
win.Destroy()
|
|
|
|
|
|
#---------------------------------------------------------------------------
|
|
|
|
|
|
|
|
|
|
|
|
overview = """\
|
|
"""
|
|
|
|
|
|
|
|
if __name__ == '__main__':
|
|
import sys,os
|
|
import run
|
|
run.main(['', os.path.basename(sys.argv[0])])
|
|
|