X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/ec873c943d71f0d5f13e3398557071448cda6c23..a4027e74873007e3430af3bd77019bcab76f6c04:/wxPython/demo/Dialog.py diff --git a/wxPython/demo/Dialog.py b/wxPython/demo/Dialog.py deleted file mode 100644 index 4c75b19c5b..0000000000 --- a/wxPython/demo/Dialog.py +++ /dev/null @@ -1,165 +0,0 @@ - -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) - -#--------------------------------------------------------------------------- - -class TestDialog(wx.Dialog): - def __init__( - self, parent, ID, title, size=wx.DefaultSize, pos=wx.DefaultPosition, - 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 object using the Create - # method. - 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 - # object into the real wrapper of the dialog (instead of pre) - # 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) - - label = wx.StaticText(self, -1, "This is a wx.Dialog") - label.SetHelpText("This is the help text for the label") - sizer.Add(label, 0, wx.ALIGN_CENTRE|wx.ALL, 5) - - box = wx.BoxSizer(wx.HORIZONTAL) - - label = wx.StaticText(self, -1, "Field #1:") - label.SetHelpText("This is the help text for the label") - box.Add(label, 0, wx.ALIGN_CENTRE|wx.ALL, 5) - - text = wx.TextCtrl(self, -1, "", size=(80,-1)) - text.SetHelpText("Here's some help text for field #1") - box.Add(text, 1, wx.ALIGN_CENTRE|wx.ALL, 5) - - sizer.Add(box, 0, wx.GROW|wx.ALIGN_CENTER_VERTICAL|wx.ALL, 5) - - box = wx.BoxSizer(wx.HORIZONTAL) - - label = wx.StaticText(self, -1, "Field #2:") - label.SetHelpText("This is the help text for the label") - box.Add(label, 0, wx.ALIGN_CENTRE|wx.ALL, 5) - - text = wx.TextCtrl(self, -1, "", size=(80,-1)) - text.SetHelpText("Here's some help text for field #2") - box.Add(text, 1, wx.ALIGN_CENTRE|wx.ALL, 5) - - sizer.Add(box, 0, wx.GROW|wx.ALIGN_CENTER_VERTICAL|wx.ALL, 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) - - btnsizer = wx.StdDialogButtonSizer() - - if wx.Platform != "__WXMSW__": - btn = wx.ContextHelpButton(self) - btnsizer.AddButton(btn) - - btn = wx.Button(self, wx.ID_OK) - btn.SetHelpText("The OK button completes the dialog") - btn.SetDefault() - btnsizer.AddButton(btn) - - btn = wx.Button(self, wx.ID_CANCEL) - btn.SetHelpText("The Cancel button cnacels the dialog. (Cool, huh?)") - btnsizer.AddButton(btn) - btnsizer.Realize() - - sizer.Add(btnsizer, 0, wx.ALIGN_CENTER_VERTICAL|wx.ALL, 5) - - self.SetSizer(sizer) - sizer.Fit(self) - -#--------------------------------------------------------------------------- - -class TestPanel(wx.Panel): - def __init__(self, parent, log): - self.log = log - wx.Panel.__init__(self, parent, -1) - - 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): - useMetal = False - if 'wxMac' in wx.PlatformInfo: - useMetal = self.cb.IsChecked() - - dlg = TestDialog(self, -1, "Sample Dialog", size=(350, 200), - #style=wx.CAPTION | wx.SYSTEM_MENU | wx.THICK_FRAME, - style=wx.DEFAULT_DIALOG_STYLE, # & ~wx.CLOSE_BOX, - useMetal=useMetal, - ) - dlg.CenterOnScreen() - - # this does not return until the dialog is closed. - val = dlg.ShowModal() - - if val == wx.ID_OK: - self.log.WriteText("You pressed OK\n") - else: - self.log.WriteText("You pressed Cancel\n") - - dlg.Destroy() - - -#--------------------------------------------------------------------------- - - -def runTest(frame, nb, log): - win = TestPanel(nb, log) - return win - - -#--------------------------------------------------------------------------- - - -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. - -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 - import run - run.main(['', os.path.basename(sys.argv[0])] + sys.argv[1:]) -