]> git.saurik.com Git - wxWidgets.git/blame - utils/wxPython/demo/wxFloatBar.py
Fixes to avoid an endless event looping for wxGTK
[wxWidgets.git] / utils / wxPython / demo / wxFloatBar.py
CommitLineData
f0261a72
RD
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
944930d5
RD
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))
f0261a72
RD
14
15 tb = wxFloatBar(self, -1)
16 self.SetToolBar(tb)
17 tb.SetFloatable(1)
18 tb.SetTitle("Floating!")
19 self.CreateStatusBar()
1b55cabf
RD
20 tb.AddSimpleTool(10, wxBitmap('bitmaps/new.bmp', wxBITMAP_TYPE_BMP),
21 "New", "Long help for 'New'")
f0261a72
RD
22 EVT_TOOL(self, 10, self.OnToolClick)
23 EVT_TOOL_RCLICKED(self, 10, self.OnToolRClick)
24
1b55cabf
RD
25 tb.AddSimpleTool(20, wxBitmap('bitmaps/open.bmp', wxBITMAP_TYPE_BMP),
26 "Open")
f0261a72
RD
27 EVT_TOOL(self, 20, self.OnToolClick)
28 EVT_TOOL_RCLICKED(self, 20, self.OnToolRClick)
29
30 tb.AddSeparator()
1b55cabf
RD
31 tb.AddSimpleTool(30, wxBitmap('bitmaps/copy.bmp', wxBITMAP_TYPE_BMP),
32 "Copy")
f0261a72
RD
33 EVT_TOOL(self, 30, self.OnToolClick)
34 EVT_TOOL_RCLICKED(self, 30, self.OnToolRClick)
35
1b55cabf
RD
36 tb.AddSimpleTool(40, wxBitmap('bitmaps/paste.bmp', wxBITMAP_TYPE_BMP),
37 "Paste")
f0261a72
RD
38 EVT_TOOL(self, 40, self.OnToolClick)
39 EVT_TOOL_RCLICKED(self, 40, self.OnToolRClick)
40
41 tb.AddSeparator()
42
f0261a72
RD
43
44 tb.AddTool(60, wxBitmap('bitmaps/tog1.bmp', wxBITMAP_TYPE_BMP),
1b55cabf
RD
45 wxBitmap('bitmaps/tog2.bmp', wxBITMAP_TYPE_BMP),
46 shortHelpString="Toggle with 2 bitmaps", toggle=true)
f0261a72
RD
47 EVT_TOOL(self, 60, self.OnToolClick)
48 EVT_TOOL_RCLICKED(self, 60, self.OnToolRClick)
49 tb.Realize()
944930d5
RD
50
51 self.tb = tb
f0261a72
RD
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())
944930d5
RD
59 if event.GetId() == 60:
60 if event.GetExtraLong():
61 self.tb.SetTitle("")
62 else:
63 self.tb.SetTitle("Floating!")
f0261a72
RD
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
944930d5 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.
f0261a72 83
f0261a72
RD
84"""
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101