X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/1e4a197e4c60e461b8068b0619692ea083e30b8b..61940a7061d0b5d5122b1e1e939cfa2d72596999:/wxPython/demo/wxDialog.py diff --git a/wxPython/demo/wxDialog.py b/wxPython/demo/wxDialog.py index 615539add3..263c2cfb50 100644 --- a/wxPython/demo/wxDialog.py +++ b/wxPython/demo/wxDialog.py @@ -1,28 +1,30 @@ +# 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 # 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 @@ -30,91 +32,103 @@ class TestDialog(wxDialog): # as far as the wxPython extension is concerned. 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.AddSizer(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. -overview = """\ -""" +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. +However, the data must be retrieved prior to the dialog being destroyed. +The example shown here is modal; non-modal dialogs are possible as well. +See the documentation for the Dialog class for more details. +""" if __name__ == '__main__': import sys,os