]> git.saurik.com Git - wxWidgets.git/blob - wxPython/demo/ContextHelp.py
focus setting must be possible even when not shown yet
[wxWidgets.git] / wxPython / demo / ContextHelp.py
1
2 from wxPython.wx import *
3 from wxPython.help import *
4
5 #----------------------------------------------------------------------
6 # We first have to set an application-wide help provider. Normally you
7 # would do this in your app's OnInit or in other startup code...
8
9 provider = wxSimpleHelpProvider()
10 wxHelpProvider_Set(provider)
11
12
13 class TestPanel(wxPanel):
14 def __init__(self, parent, log):
15 wxPanel.__init__(self, parent, -1)
16 self.log = log
17
18 self.SetHelpText("This is a wxPanel.")
19 sizer = wxBoxSizer(wxVERTICAL)
20
21 cBtn = wxContextHelpButton(self)
22 cBtn.SetHelpText("wxContextHelpButton")
23 cBtnText = wxStaticText(self, -1, "This is a wxContextHelpButton. Clicking it puts the\n"
24 "app into context sensitive help mode.")
25 cBtnText.SetHelpText("Some helpful text...")
26
27 s = wxBoxSizer(wxHORIZONTAL)
28 s.Add(cBtn, 0, wxALL, 5)
29 s.Add(cBtnText, 0, wxALL, 5)
30 sizer.Add(20,20)
31 sizer.Add(s)
32
33 text = wxTextCtrl(self, -1, "Each sub-window can have its own help message",
34 size=(240, 60), style = wxTE_MULTILINE)
35 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!")
36 sizer.Add(20,20)
37 sizer.Add(text)
38
39 text = wxTextCtrl(self, -1, "You can also intercept the help event if you like. Watch the log window when you click here...",
40 size=(240, 60), style = wxTE_MULTILINE)
41 text.SetHelpText("Yet another context help message.")
42 sizer.Add(20,20)
43 sizer.Add(text)
44 EVT_HELP(text, text.GetId(), self.OnCtxHelp)
45
46 text = wxTextCtrl(self, -1, "This one displays the tip itself...",
47 size=(240, 60), style = wxTE_MULTILINE)
48 sizer.Add(20,20)
49 sizer.Add(text)
50 EVT_HELP(text, text.GetId(), self.OnCtxHelp2)
51
52
53 border = wxBoxSizer(wxVERTICAL)
54 border.Add(sizer, 0, wxALL, 25)
55
56 self.SetAutoLayout(True)
57 self.SetSizer(border)
58 self.Layout()
59
60
61 def OnCtxHelp(self, evt):
62 self.log.write("OnCtxHelp: %s" % evt)
63 evt.Skip()
64
65
66 def OnCtxHelp2(self, evt):
67 self.log.write("OnCtxHelp: %s\n" % evt)
68 tip = wxTipWindow(self, "This is a wxTipWindow")
69
70
71 #----------------------------------------------------------------------
72
73 def runTest(frame, nb, log):
74 win = TestPanel(nb, log)
75 return win
76
77
78 #----------------------------------------------------------------------
79
80
81
82
83 overview = """
84 This demo shows how to encorporate Context Sensitive
85 help into your applicaiton using the wxSimpleHelpProvider class.
86
87 """
88
89
90
91 #----------------------------------------------------------------------
92
93
94
95 if __name__ == '__main__':
96 import sys,os
97 import run
98 run.main(['', os.path.basename(sys.argv[0])])
99