]> git.saurik.com Git - wxWidgets.git/blame_incremental - wxPython/demo/wxFloatBar.py
reSWIGged
[wxWidgets.git] / wxPython / demo / wxFloatBar.py
... / ...
CommitLineData
1# 11/18/2003 - Jeff Grimmett (grimmtooth@softhome.net)
2#
3# o Updated for wx namespace
4# o OK, Main.py indicates this is deprecated. But I don't see a
5# replacement yet. So conversion is done anyway.
6#
7# 11/28/2003 - Jeff Grimmett (grimmtooth@softhome.net)
8#
9# o Issues - library has to be converted to work properly
10# with new namespace.
11#
12# 12/18/2003 - Jeff Grimmett (grimmtooth@softhome.net)
13#
14# o wxFloatBar -> FloatBar
15#
16
17import wx
18import wx.lib.floatbar
19
20import images
21
22
23class TestFloatBar(wx.Frame):
24 def __init__(self, parent, log):
25 wx.Frame.__init__(
26 self, parent, -1, 'Test ToolBar', wx.DefaultPosition, (500, 300)
27 )
28
29 self.log = log
30
31 win = wx.Window(self, -1)
32 win.SetBackgroundColour("WHITE")
33 wx.StaticText(
34 win, -1, "Drag the toolbar to float it,\n"
35 "Toggle the last tool to remove\nthe title.", (15,15)
36 )
37
38 tb = wx.lib.floatbar.FloatBar(self, -1)
39 self.SetToolBar(tb)
40 tb.SetFloatable(1)
41 tb.SetTitle("Floating!")
42 self.CreateStatusBar()
43
44 tb.AddSimpleTool(10, images.getNewBitmap(), "New", "Long help for 'New'")
45 self.Bind(wx.EVT_TOOL, self.OnToolClick, id=10)
46 self.Bind(wx.EVT_TOOL_RCLICKED, self.OnToolRClick, id=10)
47
48 tb.AddSimpleTool(20, images.getOpenBitmap(), "Open")
49 self.Bind(wx.EVT_TOOL, self.OnToolClick, id=20)
50 self.Bind(wx.EVT_TOOL_RCLICKED, self.OnToolRClick, id=20)
51
52 tb.AddSeparator()
53 tb.AddSimpleTool(30, images.getCopyBitmap(), "Copy")
54 self.Bind(wx.EVT_TOOL, self.OnToolClick, id=30)
55 self.Bind(wx.EVT_TOOL_RCLICKED, self.OnToolRClick, id=30)
56
57 tb.AddSimpleTool(40, images.getPasteBitmap(), "Paste")
58 self.Bind(wx.EVT_TOOL, self.OnToolClick, id=40)
59 self.Bind(wx.EVT_TOOL_RCLICKED, self.OnToolRClick, id=40)
60
61 tb.AddSeparator()
62
63 tb.AddCheckTool(60, images.getTog1Bitmap(), images.getTog2Bitmap())
64 self.Bind(wx.EVT_TOOL, self.OnToolClick, id=60)
65 self.Bind(wx.EVT_TOOL_RCLICKED, self.OnToolRClick, id=60)
66
67 tb.Realize()
68
69 self.tb = tb
70 self.Bind(wx.EVT_CLOSE, self.OnCloseWindow)
71
72
73 def OnCloseWindow(self, event):
74 self.Destroy()
75
76 def OnToolClick(self, event):
77 self.log.WriteText("tool %s clicked\n" % event.GetId())
78
79 if event.GetId() == 60:
80 print event.GetExtraLong(), event.IsChecked(), event.GetInt(), self.tb.GetToolState(60)
81
82 if event.GetExtraLong():
83 self.tb.SetTitle("")
84 else:
85 self.tb.SetTitle("Floating!")
86
87 def OnToolRClick(self, event):
88 self.log.WriteText("tool %s right-clicked\n" % event.GetId())
89
90#---------------------------------------------------------------------------
91
92def runTest(frame, nb, log):
93 win = TestFloatBar(frame, log)
94 frame.otherWin = win
95 win.Show(True)
96
97#---------------------------------------------------------------------------
98
99overview = """\
100FloatBar is a subclass of wx.ToolBar, implemented in Python, which
101can be detached from its frame.
102
103Drag the toolbar with the mouse to make it float, and drag it back, or
104close it to make the toolbar return to its original position.
105
106"""
107
108if __name__ == '__main__':
109 import sys,os
110 import run
111 run.main(['', os.path.basename(sys.argv[0])])
112
113
114
115
116
117
118
119
120
121
122
123
124