]> git.saurik.com Git - wxWidgets.git/blobdiff - wxPython/demo/wxDialog.py
reSWIGged
[wxWidgets.git] / wxPython / demo / wxDialog.py
index 615539add39febc81563d4f9dab4f42f175cb7c9..263c2cfb509f3232191462d03306c55db62b5117 100644 (file)
@@ -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.
+<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