X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/95bfd958bda8955ac81277c78e5627c926154f39..7869b836decaaefbb3b1de58dfe297e7d9dd5d2a:/wxPython/demo/Dialog.py?ds=sidebyside diff --git a/wxPython/demo/Dialog.py b/wxPython/demo/Dialog.py index 3c4fb71721..e9dc898a76 100644 --- a/wxPython/demo/Dialog.py +++ b/wxPython/demo/Dialog.py @@ -26,7 +26,7 @@ class TestDialog(wx.Dialog): # 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.this = pre.this + self.PostCreate(pre) # Now continue with the normal construction of the dialog # contents @@ -46,7 +46,7 @@ class TestDialog(wx.Dialog): text.SetHelpText("Here's some help text for field #1") box.Add(text, 1, wx.ALIGN_CENTRE|wx.ALL, 5) - sizer.AddSizer(box, 0, wx.GROW|wx.ALIGN_CENTER_VERTICAL|wx.ALL, 5) + sizer.Add(box, 0, wx.GROW|wx.ALIGN_CENTER_VERTICAL|wx.ALL, 5) box = wx.BoxSizer(wx.HORIZONTAL) @@ -58,7 +58,7 @@ class TestDialog(wx.Dialog): text.SetHelpText("Here's some help text for field #2") box.Add(text, 1, wx.ALIGN_CENTRE|wx.ALL, 5) - sizer.AddSizer(box, 0, wx.GROW|wx.ALIGN_CENTER_VERTICAL|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) @@ -86,21 +86,39 @@ class TestDialog(wx.Dialog): #--------------------------------------------------------------------------- -def runTest(frame, nb, log): - win = TestDialog(frame, -1, "This is a Dialog", size=(350, 200), - #style = wxCAPTION | wxSYSTEM_MENU | wxTHICK_FRAME - style = wx.DEFAULT_DIALOG_STYLE - ) - win.CenterOnScreen() - val = win.ShowModal() +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) + + + 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 + ) + dlg.CenterOnScreen() + + # this does not return until the dialog is closed. + val = dlg.ShowModal() - if val == wx.ID_OK: - log.WriteText("You pressed OK\n") - else: - log.WriteText("You pressed Cancel\n") + if val == wx.ID_OK: + self.log.WriteText("You pressed OK\n") + else: + self.log.WriteText("You pressed Cancel\n") - win.Destroy() + dlg.Destroy() + +#--------------------------------------------------------------------------- + + +def runTest(frame, nb, log): + win = TestPanel(nb, log) + return win #--------------------------------------------------------------------------- @@ -129,5 +147,5 @@ 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])]) + run.main(['', os.path.basename(sys.argv[0])] + sys.argv[1:])