]> git.saurik.com Git - wxWidgets.git/blame - wxPython/demo/wxFloatBar.py
added destructor (correction for Mac OS X)
[wxWidgets.git] / wxPython / demo / wxFloatBar.py
CommitLineData
f0261a72
RD
1from wxPython.wx import *
2from wxPython.lib.floatbar import *
3
96bfd053
RD
4import images
5
6
f0261a72
RD
7class TestFloatBar(wxFrame):
8 def __init__(self, parent, log):
9 wxFrame.__init__(self, parent, -1, 'Test ToolBar',
10 wxPoint(0,0), wxSize(500, 300))
11 self.log = log
12
944930d5
RD
13 win = wxWindow(self, -1)
14 win.SetBackgroundColour(wxNamedColour("WHITE"))
15 wxStaticText(win, -1, "Drag the toolbar to float it,\n"
b7e72427 16 "Toggle the last tool to remove\nthe title.", wxPoint(15,15))
f0261a72
RD
17
18 tb = wxFloatBar(self, -1)
19 self.SetToolBar(tb)
20 tb.SetFloatable(1)
21 tb.SetTitle("Floating!")
22 self.CreateStatusBar()
96bfd053
RD
23
24 tb.AddSimpleTool(10, images.getNewBitmap(), "New", "Long help for 'New'")
f0261a72
RD
25 EVT_TOOL(self, 10, self.OnToolClick)
26 EVT_TOOL_RCLICKED(self, 10, self.OnToolRClick)
27
96bfd053 28 tb.AddSimpleTool(20, images.getOpenBitmap(), "Open")
f0261a72
RD
29 EVT_TOOL(self, 20, self.OnToolClick)
30 EVT_TOOL_RCLICKED(self, 20, self.OnToolRClick)
31
32 tb.AddSeparator()
96bfd053 33 tb.AddSimpleTool(30, images.getCopyBitmap(), "Copy")
f0261a72
RD
34 EVT_TOOL(self, 30, self.OnToolClick)
35 EVT_TOOL_RCLICKED(self, 30, self.OnToolRClick)
36
96bfd053 37 tb.AddSimpleTool(40, images.getPasteBitmap(), "Paste")
f0261a72
RD
38 EVT_TOOL(self, 40, self.OnToolClick)
39 EVT_TOOL_RCLICKED(self, 40, self.OnToolRClick)
40
41 tb.AddSeparator()
42
f0261a72 43
96bfd053 44 tb.AddTool(60, images.getTog1Bitmap(), images.getTog2Bitmap(),
c368d904 45 shortHelpString="Toggle with 2 bitmaps", isToggle=true)
f0261a72
RD
46 EVT_TOOL(self, 60, self.OnToolClick)
47 EVT_TOOL_RCLICKED(self, 60, self.OnToolRClick)
48 tb.Realize()
944930d5
RD
49
50 self.tb = tb
f6bcfd97 51 EVT_CLOSE(self, self.OnCloseWindow)
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 59 if event.GetId() == 60:
b7e72427 60 print event.GetExtraLong(), event.Checked(), event.GetInt(), self.tb.GetToolState(60)
944930d5
RD
61 if event.GetExtraLong():
62 self.tb.SetTitle("")
63 else:
64 self.tb.SetTitle("Floating!")
f0261a72
RD
65
66 def OnToolRClick(self, event):
67 self.log.WriteText("tool %s right-clicked\n" % event.GetId())
68 # def test(self, event):
69 # self.log.WriteText("Button clicked!")
70
71#---------------------------------------------------------------------------
72
73def runTest(frame, nb, log):
74 win = TestFloatBar(frame, log)
75 frame.otherWin = win
76 win.Show(true)
77
78#---------------------------------------------------------------------------
79
80overview = """\
81wxFloatBar is a subclass of wxToolBar, implemented in Python, which can be detached from its frame.
82
944930d5 83Drag 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 84
f0261a72
RD
85"""
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102