Demonstrate setting metal appearance for wxMac

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@38213 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Robin Dunn
2006-03-18 22:17:39 +00:00
parent dd44c9e02c
commit f70ec5b8f7

View File

@@ -12,12 +12,13 @@ wx.HelpProvider_Set(provider)
class TestDialog(wx.Dialog): class TestDialog(wx.Dialog):
def __init__( def __init__(
self, parent, ID, title, size=wx.DefaultSize, pos=wx.DefaultPosition, 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 # Instead of calling wx.Dialog.__init__ we precreate the dialog
# 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 # creation, and then we create the GUI object using the Create
# method. # method.
pre = wx.PreDialog() pre = wx.PreDialog()
pre.SetExtraStyle(wx.DIALOG_EX_CONTEXTHELP) pre.SetExtraStyle(wx.DIALOG_EX_CONTEXTHELP)
@@ -28,6 +29,11 @@ class TestDialog(wx.Dialog):
# as far as the wxPython extension is concerned. # as far as the wxPython extension is concerned.
self.PostCreate(pre) 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 # Now continue with the normal construction of the dialog
# contents # contents
sizer = wx.BoxSizer(wx.VERTICAL) sizer = wx.BoxSizer(wx.VERTICAL)
@@ -94,11 +100,19 @@ class TestPanel(wx.Panel):
b = wx.Button(self, -1, "Create and Show a custom Dialog", (50,50)) b = wx.Button(self, -1, "Create and Show a custom Dialog", (50,50))
self.Bind(wx.EVT_BUTTON, self.OnButton, b) 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): def OnButton(self, evt):
dlg = TestDialog(self, -1, "This is a Dialog", size=(350, 200), useMetal = False
#style = wxCAPTION | wxSYSTEM_MENU | wxTHICK_FRAME if 'wxMac' in wx.PlatformInfo:
style = wx.DEFAULT_DIALOG_STYLE 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() dlg.CenterOnScreen()