]> git.saurik.com Git - wxWidgets.git/blobdiff - wxPython/demo/Dialog.py
Another package name fix
[wxWidgets.git] / wxPython / demo / Dialog.py
index e9dc898a7608f553c856985d8d1754e2e49cfcaa..7bb49f85bc8fc8d466c56f49fc2661d744509a49 100644 (file)
@@ -5,19 +5,20 @@ 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 = wx.SimpleHelpProvider()
-wx.HelpProvider_Set(provider)
+wx.HelpProvider.Set(provider)
 
 #---------------------------------------------------------------------------
 
 class TestDialog(wx.Dialog):
     def __init__(
             self, parent, ID, title, size=wx.DefaultSize, pos=wx.DefaultPosition, 
-            style=wx.DEFAULT_DIALOG_STYLE
+            style=wx.DEFAULT_DIALOG_STYLE,
+            useMetal=False,
             ):
 
         # Instead of calling wx.Dialog.__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
+        # creation, and then we create the GUI object using the Create
         # method.
         pre = wx.PreDialog()
         pre.SetExtraStyle(wx.DIALOG_EX_CONTEXTHELP)
@@ -28,6 +29,11 @@ class TestDialog(wx.Dialog):
         # as far as the wxPython extension is concerned.
         self.PostCreate(pre)
 
+        # This extra style can be set after the UI object has been created.
+        if 'wxMac' in wx.PlatformInfo and useMetal:
+            self.SetExtraStyle(wx.DIALOG_EX_METAL)
+
+
         # Now continue with the normal construction of the dialog
         # contents
         sizer = wx.BoxSizer(wx.VERTICAL)
@@ -63,25 +69,25 @@ class TestDialog(wx.Dialog):
         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 = wx.BoxSizer(wx.HORIZONTAL)
-
+        btnsizer = wx.StdDialogButtonSizer()
+        
         if wx.Platform != "__WXMSW__":
             btn = wx.ContextHelpButton(self)
-            box.Add(btn, 0, wx.ALIGN_CENTRE|wx.ALL, 5)
-
-        btn = wx.Button(self, wx.ID_OK, " OK ")
-        btn.SetDefault()
+            btnsizer.AddButton(btn)
+        
+        btn = wx.Button(self, wx.ID_OK)
         btn.SetHelpText("The OK button completes the dialog")
-        box.Add(btn, 0, wx.ALIGN_CENTRE|wx.ALL, 5)
+        btn.SetDefault()
+        btnsizer.AddButton(btn)
 
-        btn = wx.Button(self, wx.ID_CANCEL, " Cancel ")
+        btn = wx.Button(self, wx.ID_CANCEL)
         btn.SetHelpText("The Cancel button cnacels the dialog. (Cool, huh?)")
-        box.Add(btn, 0, wx.ALIGN_CENTRE|wx.ALL, 5)
+        btnsizer.AddButton(btn)
+        btnsizer.Realize()
 
-        sizer.Add(box, 0, wx.ALIGN_CENTER_VERTICAL|wx.ALL, 5)
+        sizer.Add(btnsizer, 0, wx.ALIGN_CENTER_VERTICAL|wx.ALL, 5)
 
         self.SetSizer(sizer)
-        self.SetAutoLayout(True)
         sizer.Fit(self)
 
 #---------------------------------------------------------------------------
@@ -94,11 +100,19 @@ class TestPanel(wx.Panel):
         b = wx.Button(self, -1, "Create and Show a custom Dialog", (50,50))
         self.Bind(wx.EVT_BUTTON, self.OnButton, b)
 
+        if 'wxMac' in wx.PlatformInfo:
+            self.cb = wx.CheckBox(self, -1, "Set Metal appearance", (50,90))
+            
 
     def OnButton(self, evt):
-        dlg = TestDialog(self, -1, "This is a Dialog", size=(350, 200),
-                         #style = wxCAPTION | wxSYSTEM_MENU | wxTHICK_FRAME
-                         style = wx.DEFAULT_DIALOG_STYLE
+        useMetal = False
+        if 'wxMac' in wx.PlatformInfo:
+            useMetal = self.cb.IsChecked()
+            
+        dlg = TestDialog(self, -1, "Sample Dialog", size=(350, 200),
+                         #style=wxCAPTION | wxSYSTEM_MENU | wxTHICK_FRAME,
+                         style=wx.DEFAULT_DIALOG_STYLE,
+                         useMetal=useMetal,
                          )
         dlg.CenterOnScreen()