]> git.saurik.com Git - wxWidgets.git/blame - wxPython/demo/ContextHelp.py
added comments to the makefile; added WX_CONFIG var to be able to use a different...
[wxWidgets.git] / wxPython / demo / ContextHelp.py
CommitLineData
4f3449b4
RD
1
2from wxPython.wx import *
3from wxPython.help import *
4
5#----------------------------------------------------------------------
611dc22c 6# We first have to set an application-wide help provider. Normally you
4f3449b4
RD
7# would do this in your app's OnInit or in other startup code...
8
9provider = wxSimpleHelpProvider()
10wxHelpProvider_Set(provider)
11
12
13class 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
1e4a197e 56 self.SetAutoLayout(True)
4f3449b4
RD
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):
4416b508 67 self.log.write("OnCtxHelp: %s\n" % evt)
4f3449b4
RD
68 tip = wxTipWindow(self, "This is a wxTipWindow")
69
70
71#----------------------------------------------------------------------
72
73def runTest(frame, nb, log):
74 win = TestPanel(nb, log)
75 return win
76
77
78#----------------------------------------------------------------------
79
80
81
82
83overview = """
8b9a4190
RD
84This demo shows how to incorporate Context Sensitive
85help into your application using the wxSimpleHelpProvider class.
4f3449b4
RD
86
87"""
88
89
90
91#----------------------------------------------------------------------
92
1fded56b
RD
93
94
95if __name__ == '__main__':
96 import sys,os
97 import run
98 run.main(['', os.path.basename(sys.argv[0])])
99