X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/4f3449b43280a855e57280e6848610ea9fdaa3bb..628eae0bcd7916c57847b7eab739d4cc32534ccf:/wxPython/demo/ContextHelp.py?ds=inline diff --git a/wxPython/demo/ContextHelp.py b/wxPython/demo/ContextHelp.py index 6985790b69..0367a5b84e 100644 --- a/wxPython/demo/ContextHelp.py +++ b/wxPython/demo/ContextHelp.py @@ -1,71 +1,89 @@ -from wxPython.wx import * -from wxPython.help import * +import wx #---------------------------------------------------------------------- -# We first have to set an application wide help provider. Normally you +# We first have to set an application-wide help provider. Normally you # would do this in your app's OnInit or in other startup code... -provider = wxSimpleHelpProvider() -wxHelpProvider_Set(provider) +provider = wx.SimpleHelpProvider() +wx.HelpProvider_Set(provider) - -class TestPanel(wxPanel): +# This panel is chock full of controls about which we can demonstrate the +# help system. +class TestPanel(wx.Panel): def __init__(self, parent, log): - wxPanel.__init__(self, parent, -1) + wx.Panel.__init__(self, parent, -1) self.log = log - self.SetHelpText("This is a wxPanel.") - sizer = wxBoxSizer(wxVERTICAL) + # This help text, set for the panel itself, will be used if context + # sensitive help cannot be found for any particular control. + self.SetHelpText("This is a wx.Panel.") + + sizer = wx.BoxSizer(wx.VERTICAL) + + # Init the context help button. + # And even include help text about the help button :-) + cBtn = wx.ContextHelpButton(self) + cBtn.SetHelpText("wx.ContextHelpButton") + + cBtnText = wx.StaticText(self, -1, + "This is a wx.ContextHelpButton. Clicking it puts the\n" + "app into context sensitive help mode." + ) - cBtn = wxContextHelpButton(self) - cBtn.SetHelpText("wxContextHelpButton") - cBtnText = wxStaticText(self, -1, "This is a wxContextHelpButton. Clicking it puts the\n" - "app into context sensitive help mode.") + # Yes, even static text can have help text associated with it :-) cBtnText.SetHelpText("Some helpful text...") - s = wxBoxSizer(wxHORIZONTAL) - s.Add(cBtn, 0, wxALL, 5) - s.Add(cBtnText, 0, wxALL, 5) - sizer.Add(20,20) + s = wx.BoxSizer(wx.HORIZONTAL) + s.Add(cBtn, 0, wx.ALL, 5) + s.Add(cBtnText, 0, wx.ALL, 5) + sizer.Add((20,20)) sizer.Add(s) - text = wxTextCtrl(self, -1, "Each sub-window can have its own help message", - size=(240, 60), style = wxTE_MULTILINE) + # A text control with help text. + text = wx.TextCtrl(self, -1, "Each sub-window can have its own help message", + size=(240, 60), style=wx.TE_MULTILINE) text.SetHelpText("This is my very own help message. This is a really long long long long long long long long long long long long long long long long long long long long message!") - sizer.Add(20,20) + sizer.Add((20,20)) sizer.Add(text) - text = wxTextCtrl(self, -1, "You can also intercept the help event if you like. Watch the log window when you click here...", - size=(240, 60), style = wxTE_MULTILINE) + # Same thing, but this time to demonstrate how the help event can be + # intercepted. + text = wx.TextCtrl(self, -1, "You can also intercept the help event if you like. Watch the log window when you click here...", + size=(240, 60), style = wx.TE_MULTILINE) text.SetHelpText("Yet another context help message.") - sizer.Add(20,20) + sizer.Add((20,20)) sizer.Add(text) - EVT_HELP(text, text.GetId(), self.OnCtxHelp) + text.Bind(wx.EVT_HELP, self.OnCtxHelp, text) - text = wxTextCtrl(self, -1, "This one displays the tip itself...", - size=(240, 60), style = wxTE_MULTILINE) - sizer.Add(20,20) + text = wx.TextCtrl(self, -1, "This one displays the tip itself...", + size=(240, 60), style = wx.TE_MULTILINE) + sizer.Add((20,20)) sizer.Add(text) - EVT_HELP(text, text.GetId(), self.OnCtxHelp2) + text.Bind(wx.EVT_HELP, self.OnCtxHelp2, text) + + border = wx.BoxSizer(wx.VERTICAL) + border.Add(sizer, 0, wx.ALL, 25) - border = wxBoxSizer(wxVERTICAL) - border.Add(sizer, 0, wxALL, 25) - - self.SetAutoLayout(true) + self.SetAutoLayout(True) self.SetSizer(border) self.Layout() + # On the second text control above, we intercept the help event. This is where + # we process it. Anything could happen here. In this case we're just printing + # some stuff about it, then passing it on, at which point we see the help tip. def OnCtxHelp(self, evt): self.log.write("OnCtxHelp: %s" % evt) evt.Skip() - + # On the third text control above, we intercept the help event. + # Here, we print a note about it, generate our own tip window, and, + # unlike last time, we don't pass it on to the underlying provider. def OnCtxHelp2(self, evt): - self.log.write("OnCtxHelp: %s" % evt) - tip = wxTipWindow(self, "This is a wxTipWindow") + self.log.write("OnCtxHelp2: %s\n" % evt) + tip = wx.TipWindow(self, "This is a wx.TipWindow") #---------------------------------------------------------------------- @@ -78,15 +96,16 @@ def runTest(frame, nb, log): #---------------------------------------------------------------------- - - overview = """ -This demo shows how to encorporate Context Sensitive -help into your applicaiton using the wxSimpleHelpProvider class. +This demo shows how to incorporate Context Sensitive +help into your application using the wx.SimpleHelpProvider class. """ - - #---------------------------------------------------------------------- +if __name__ == '__main__': + import sys,os + import run + run.main(['', os.path.basename(sys.argv[0])] + sys.argv[1:]) +