]> git.saurik.com Git - wxWidgets.git/blame_incremental - utils/wxPython/demo/wxFloatBar.py
Fixes to avoid an endless event looping for wxGTK
[wxWidgets.git] / utils / wxPython / demo / wxFloatBar.py
... / ...
CommitLineData
1from wxPython.wx import *
2from wxPython.lib.floatbar import *
3
4class TestFloatBar(wxFrame):
5 def __init__(self, parent, log):
6 wxFrame.__init__(self, parent, -1, 'Test ToolBar',
7 wxPoint(0,0), wxSize(500, 300))
8 self.log = log
9
10 win = wxWindow(self, -1)
11 win.SetBackgroundColour(wxNamedColour("WHITE"))
12 wxStaticText(win, -1, "Drag the toolbar to float it,\n"
13 "Toggle the last tool to remove the title.", wxPoint(15,15))
14
15 tb = wxFloatBar(self, -1)
16 self.SetToolBar(tb)
17 tb.SetFloatable(1)
18 tb.SetTitle("Floating!")
19 self.CreateStatusBar()
20 tb.AddSimpleTool(10, wxBitmap('bitmaps/new.bmp', wxBITMAP_TYPE_BMP),
21 "New", "Long help for 'New'")
22 EVT_TOOL(self, 10, self.OnToolClick)
23 EVT_TOOL_RCLICKED(self, 10, self.OnToolRClick)
24
25 tb.AddSimpleTool(20, wxBitmap('bitmaps/open.bmp', wxBITMAP_TYPE_BMP),
26 "Open")
27 EVT_TOOL(self, 20, self.OnToolClick)
28 EVT_TOOL_RCLICKED(self, 20, self.OnToolRClick)
29
30 tb.AddSeparator()
31 tb.AddSimpleTool(30, wxBitmap('bitmaps/copy.bmp', wxBITMAP_TYPE_BMP),
32 "Copy")
33 EVT_TOOL(self, 30, self.OnToolClick)
34 EVT_TOOL_RCLICKED(self, 30, self.OnToolRClick)
35
36 tb.AddSimpleTool(40, wxBitmap('bitmaps/paste.bmp', wxBITMAP_TYPE_BMP),
37 "Paste")
38 EVT_TOOL(self, 40, self.OnToolClick)
39 EVT_TOOL_RCLICKED(self, 40, self.OnToolRClick)
40
41 tb.AddSeparator()
42
43
44 tb.AddTool(60, wxBitmap('bitmaps/tog1.bmp', wxBITMAP_TYPE_BMP),
45 wxBitmap('bitmaps/tog2.bmp', wxBITMAP_TYPE_BMP),
46 shortHelpString="Toggle with 2 bitmaps", toggle=true)
47 EVT_TOOL(self, 60, self.OnToolClick)
48 EVT_TOOL_RCLICKED(self, 60, self.OnToolRClick)
49 tb.Realize()
50
51 self.tb = tb
52
53
54 def OnCloseWindow(self, event):
55 self.Destroy()
56
57 def OnToolClick(self, event):
58 self.log.WriteText("tool %s clicked\n" % event.GetId())
59 if event.GetId() == 60:
60 if event.GetExtraLong():
61 self.tb.SetTitle("")
62 else:
63 self.tb.SetTitle("Floating!")
64
65 def OnToolRClick(self, event):
66 self.log.WriteText("tool %s right-clicked\n" % event.GetId())
67 # def test(self, event):
68 # self.log.WriteText("Button clicked!")
69
70#---------------------------------------------------------------------------
71
72def runTest(frame, nb, log):
73 win = TestFloatBar(frame, log)
74 frame.otherWin = win
75 win.Show(true)
76
77#---------------------------------------------------------------------------
78
79overview = """\
80wxFloatBar is a subclass of wxToolBar, implemented in Python, which can be detached from its frame.
81
82Drag the toolbar with the mouse to make it float, and drag it back, or close it to make the toolbar return to its original position.
83
84"""
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101