Commit 58dbfb0ef9e67335aeb8323f68c53166fd2d3392
1 parent
f6c43378
Exists in
master
and in
2 other branches
Convert toolbar from wx.ToolBar to AuiToolbar.
It was necessary to change from wx.toolbar to auitoolbar because in macosx it is not possible to untoggle a toggle button when using a wx.toobar inside a aui. Some tests to make toolbar toggle work in mac Added more toolbars as auitoolbar A Refresh after untoggle all A Refresh after untoggle all Converted LayoutToolbar to auitoolbar Converted HistoryToolbar to auitoolbar Converted ProjectToolbat to auitoolbar deleted mask icon changed the style of toolbar to not use gradient
Showing
3 changed files
with
128 additions
and
80 deletions
Show diff stats
icons/mask.png
2.63 KB
icons/mask_small.png
791 Bytes
invesalius/gui/frame.py
@@ -29,6 +29,8 @@ from wx.lib.pubsub import pub as Publisher | @@ -29,6 +29,8 @@ from wx.lib.pubsub import pub as Publisher | ||
29 | import wx.lib.agw.toasterbox as TB | 29 | import wx.lib.agw.toasterbox as TB |
30 | import wx.lib.popupctl as pc | 30 | import wx.lib.popupctl as pc |
31 | 31 | ||
32 | +from wx.lib.agw.aui.auibar import AuiToolBar, AUI_TB_PLAIN_BACKGROUND | ||
33 | + | ||
32 | import constants as const | 34 | import constants as const |
33 | import default_tasks as tasks | 35 | import default_tasks as tasks |
34 | import default_viewers as viewers | 36 | import default_viewers as viewers |
@@ -194,6 +196,7 @@ class Frame(wx.Frame): | @@ -194,6 +196,7 @@ class Frame(wx.Frame): | ||
194 | t2 = ObjectToolBar(self) | 196 | t2 = ObjectToolBar(self) |
195 | t1 = SliceToolBar(self) | 197 | t1 = SliceToolBar(self) |
196 | 198 | ||
199 | + | ||
197 | aui_manager.AddPane(t1, wx.aui.AuiPaneInfo(). | 200 | aui_manager.AddPane(t1, wx.aui.AuiPaneInfo(). |
198 | Name("General Features Toolbar"). | 201 | Name("General Features Toolbar"). |
199 | ToolbarPane().Top().Floatable(False). | 202 | ToolbarPane().Top().Floatable(False). |
@@ -878,16 +881,16 @@ class TaskBarIcon(wx.TaskBarIcon): | @@ -878,16 +881,16 @@ class TaskBarIcon(wx.TaskBarIcon): | ||
878 | # ------------------------------------------------------------------ | 881 | # ------------------------------------------------------------------ |
879 | # ------------------------------------------------------------------ | 882 | # ------------------------------------------------------------------ |
880 | 883 | ||
881 | -class ProjectToolBar(wx.ToolBar): | 884 | +class ProjectToolBar(AuiToolBar): |
882 | """ | 885 | """ |
883 | Toolbar related to general project operations, including: import, | 886 | Toolbar related to general project operations, including: import, |
884 | open, save and saveas, among others. | 887 | open, save and saveas, among others. |
885 | """ | 888 | """ |
886 | def __init__(self, parent): | 889 | def __init__(self, parent): |
887 | - style = wx.TB_FLAT|wx.TB_NODIVIDER| wx.TB_DOCKABLE | ||
888 | - wx.ToolBar.__init__(self, parent, -1, wx.DefaultPosition, | 890 | + style = AUI_TB_PLAIN_BACKGROUND |
891 | + AuiToolBar.__init__(self, parent, -1, wx.DefaultPosition, | ||
889 | wx.DefaultSize, | 892 | wx.DefaultSize, |
890 | - style) | 893 | + agwStyle=style) |
891 | self.SetToolBitmapSize(wx.Size(32,32)) | 894 | self.SetToolBitmapSize(wx.Size(32,32)) |
892 | 895 | ||
893 | self.parent = parent | 896 | self.parent = parent |
@@ -953,21 +956,27 @@ class ProjectToolBar(wx.ToolBar): | @@ -953,21 +956,27 @@ class ProjectToolBar(wx.ToolBar): | ||
953 | BMP_PHOTO = wx.Bitmap(path, wx.BITMAP_TYPE_PNG) | 956 | BMP_PHOTO = wx.Bitmap(path, wx.BITMAP_TYPE_PNG) |
954 | 957 | ||
955 | # Create tool items based on bitmaps | 958 | # Create tool items based on bitmaps |
956 | - self.AddLabelTool(const.ID_DICOM_IMPORT, | 959 | + self.AddTool(const.ID_DICOM_IMPORT, |
957 | "", | 960 | "", |
958 | - shortHelp =_("Import DICOM files...\tCtrl+I"), | ||
959 | - bitmap=BMP_IMPORT) | 961 | + BMP_IMPORT, |
962 | + wx.NullBitmap, | ||
963 | + wx.ITEM_NORMAL, | ||
964 | + short_help_string =_("Import DICOM files...\tCtrl+I")) | ||
960 | #self.AddLabelTool(const.ID_DICOM_LOAD_NET, | 965 | #self.AddLabelTool(const.ID_DICOM_LOAD_NET, |
961 | # "Load medical image...", | 966 | # "Load medical image...", |
962 | # BMP_NET) | 967 | # BMP_NET) |
963 | - self.AddLabelTool(const.ID_PROJECT_OPEN, | 968 | + self.AddTool(const.ID_PROJECT_OPEN, |
964 | "", | 969 | "", |
965 | - shortHelp =_("Open InVesalius project..."), | ||
966 | - bitmap=BMP_OPEN) | ||
967 | - self.AddLabelTool(const.ID_PROJECT_SAVE, | 970 | + BMP_OPEN, |
971 | + wx.NullBitmap, | ||
972 | + wx.ITEM_NORMAL, | ||
973 | + short_help_string =_("Open InVesalius project...")) | ||
974 | + self.AddTool(const.ID_PROJECT_SAVE, | ||
968 | "", | 975 | "", |
969 | - shortHelp = _("Save InVesalius project"), | ||
970 | - bitmap=BMP_SAVE) | 976 | + BMP_SAVE, |
977 | + wx.NullBitmap, | ||
978 | + wx.ITEM_NORMAL, | ||
979 | + short_help_string = _("Save InVesalius project")) | ||
971 | #self.AddLabelTool(const.ID_SAVE_SCREENSHOT, | 980 | #self.AddLabelTool(const.ID_SAVE_SCREENSHOT, |
972 | # "Take photo of screen", | 981 | # "Take photo of screen", |
973 | # BMP_PHOTO) | 982 | # BMP_PHOTO) |
@@ -985,6 +994,7 @@ class ProjectToolBar(wx.ToolBar): | @@ -985,6 +994,7 @@ class ProjectToolBar(wx.ToolBar): | ||
985 | self.SetStateProjectOpen() | 994 | self.SetStateProjectOpen() |
986 | else: | 995 | else: |
987 | self.SetStateProjectClose() | 996 | self.SetStateProjectClose() |
997 | + self.Refresh() | ||
988 | 998 | ||
989 | def SetStateProjectClose(self): | 999 | def SetStateProjectClose(self): |
990 | """ | 1000 | """ |
@@ -992,6 +1002,7 @@ class ProjectToolBar(wx.ToolBar): | @@ -992,6 +1002,7 @@ class ProjectToolBar(wx.ToolBar): | ||
992 | """ | 1002 | """ |
993 | for tool in self.enable_items: | 1003 | for tool in self.enable_items: |
994 | self.EnableTool(tool, False) | 1004 | self.EnableTool(tool, False) |
1005 | + self.Refresh() | ||
995 | 1006 | ||
996 | def SetStateProjectOpen(self): | 1007 | def SetStateProjectOpen(self): |
997 | """ | 1008 | """ |
@@ -999,6 +1010,7 @@ class ProjectToolBar(wx.ToolBar): | @@ -999,6 +1010,7 @@ class ProjectToolBar(wx.ToolBar): | ||
999 | """ | 1010 | """ |
1000 | for tool in self.enable_items: | 1011 | for tool in self.enable_items: |
1001 | self.EnableTool(tool, True) | 1012 | self.EnableTool(tool, True) |
1013 | + self.Refresh() | ||
1002 | 1014 | ||
1003 | 1015 | ||
1004 | 1016 | ||
@@ -1006,15 +1018,15 @@ class ProjectToolBar(wx.ToolBar): | @@ -1006,15 +1018,15 @@ class ProjectToolBar(wx.ToolBar): | ||
1006 | # ------------------------------------------------------------------ | 1018 | # ------------------------------------------------------------------ |
1007 | # ------------------------------------------------------------------ | 1019 | # ------------------------------------------------------------------ |
1008 | 1020 | ||
1009 | -class ObjectToolBar(wx.ToolBar): | 1021 | +class ObjectToolBar(AuiToolBar): |
1010 | """ | 1022 | """ |
1011 | Toolbar related to general object operations, including: zoom | 1023 | Toolbar related to general object operations, including: zoom |
1012 | move, rotate, brightness/contrast, etc. | 1024 | move, rotate, brightness/contrast, etc. |
1013 | """ | 1025 | """ |
1014 | def __init__(self, parent): | 1026 | def __init__(self, parent): |
1015 | - style = wx.TB_FLAT|wx.TB_NODIVIDER | wx.TB_DOCKABLE | ||
1016 | - wx.ToolBar.__init__(self, parent, -1, wx.DefaultPosition, | ||
1017 | - wx.DefaultSize, style) | 1027 | + style = AUI_TB_PLAIN_BACKGROUND |
1028 | + AuiToolBar.__init__(self, parent, -1, wx.DefaultPosition, | ||
1029 | + wx.DefaultSize, agwStyle=style) | ||
1018 | 1030 | ||
1019 | self.SetToolBitmapSize(wx.Size(32,32)) | 1031 | self.SetToolBitmapSize(wx.Size(32,32)) |
1020 | 1032 | ||
@@ -1106,40 +1118,47 @@ class ObjectToolBar(wx.ToolBar): | @@ -1106,40 +1118,47 @@ class ObjectToolBar(wx.ToolBar): | ||
1106 | #BMP_ANNOTATE = wx.Bitmap(path, wx.BITMAP_TYPE_PNG) | 1118 | #BMP_ANNOTATE = wx.Bitmap(path, wx.BITMAP_TYPE_PNG) |
1107 | 1119 | ||
1108 | # Create tool items based on bitmaps | 1120 | # Create tool items based on bitmaps |
1109 | - self.AddLabelTool(const.STATE_ZOOM, | 1121 | + self.AddTool(const.STATE_ZOOM, |
1110 | "", | 1122 | "", |
1111 | - shortHelp =_("Zoom"), | ||
1112 | - bitmap=BMP_ZOOM, | 1123 | + BMP_ZOOM, |
1124 | + wx.NullBitmap, | ||
1125 | + short_help_string =_("Zoom"), | ||
1113 | kind = wx.ITEM_CHECK) | 1126 | kind = wx.ITEM_CHECK) |
1114 | - self.AddLabelTool(const.STATE_ZOOM_SL, | 1127 | + self.AddTool(const.STATE_ZOOM_SL, |
1115 | "", | 1128 | "", |
1116 | - shortHelp = _("Zoom based on selection"), | ||
1117 | - bitmap = BMP_ZOOM_SELECT, | 1129 | + BMP_ZOOM_SELECT, |
1130 | + wx.NullBitmap, | ||
1131 | + short_help_string = _("Zoom based on selection"), | ||
1118 | kind = wx.ITEM_CHECK) | 1132 | kind = wx.ITEM_CHECK) |
1119 | - self.AddLabelTool(const.STATE_SPIN, | 1133 | + self.AddTool(const.STATE_SPIN, |
1120 | "", | 1134 | "", |
1121 | - shortHelp = _("Rotate"), | ||
1122 | - bitmap = BMP_ROTATE, | 1135 | + BMP_ROTATE, |
1136 | + wx.NullBitmap, | ||
1137 | + short_help_string = _("Rotate"), | ||
1123 | kind = wx.ITEM_CHECK) | 1138 | kind = wx.ITEM_CHECK) |
1124 | - self.AddLabelTool(const.STATE_PAN, | 1139 | + self.AddTool(const.STATE_PAN, |
1125 | "", | 1140 | "", |
1126 | - shortHelp = _("Move"), | ||
1127 | - bitmap = BMP_MOVE, | 1141 | + BMP_MOVE, |
1142 | + wx.NullBitmap, | ||
1143 | + short_help_string = _("Move"), | ||
1128 | kind = wx.ITEM_CHECK) | 1144 | kind = wx.ITEM_CHECK) |
1129 | - self.AddLabelTool(const.STATE_WL, | 1145 | + self.AddTool(const.STATE_WL, |
1130 | "", | 1146 | "", |
1131 | - shortHelp = _("Constrast"), | ||
1132 | - bitmap = BMP_CONTRAST, | 1147 | + BMP_CONTRAST, |
1148 | + wx.NullBitmap, | ||
1149 | + short_help_string = _("Constrast"), | ||
1133 | kind = wx.ITEM_CHECK) | 1150 | kind = wx.ITEM_CHECK) |
1134 | - self.AddLabelTool(const.STATE_MEASURE_DISTANCE, | 1151 | + self.AddTool(const.STATE_MEASURE_DISTANCE, |
1135 | "", | 1152 | "", |
1136 | - shortHelp = _("Measure distance"), | ||
1137 | - bitmap = BMP_DISTANCE, | 1153 | + BMP_DISTANCE, |
1154 | + wx.NullBitmap, | ||
1155 | + short_help_string = _("Measure distance"), | ||
1138 | kind = wx.ITEM_CHECK) | 1156 | kind = wx.ITEM_CHECK) |
1139 | - self.AddLabelTool(const.STATE_MEASURE_ANGLE, | 1157 | + self.AddTool(const.STATE_MEASURE_ANGLE, |
1140 | "", | 1158 | "", |
1141 | - shortHelp = _("Measure angle"), | ||
1142 | - bitmap = BMP_ANGLE, | 1159 | + BMP_ANGLE, |
1160 | + wx.NullBitmap, | ||
1161 | + short_help_string = _("Measure angle"), | ||
1143 | kind = wx.ITEM_CHECK) | 1162 | kind = wx.ITEM_CHECK) |
1144 | #self.AddLabelTool(const.STATE_ANNOTATE, | 1163 | #self.AddLabelTool(const.STATE_ANNOTATE, |
1145 | # "", | 1164 | # "", |
@@ -1157,15 +1176,17 @@ class ObjectToolBar(wx.ToolBar): | @@ -1157,15 +1176,17 @@ class ObjectToolBar(wx.ToolBar): | ||
1157 | self.SetStateProjectOpen() | 1176 | self.SetStateProjectOpen() |
1158 | else: | 1177 | else: |
1159 | self.SetStateProjectClose() | 1178 | self.SetStateProjectClose() |
1179 | + self.Refresh() | ||
1160 | 1180 | ||
1161 | def _UntoggleAllItems(self, pubsub_evt=None): | 1181 | def _UntoggleAllItems(self, pubsub_evt=None): |
1162 | """ | 1182 | """ |
1163 | Untoggle all items on toolbar. | 1183 | Untoggle all items on toolbar. |
1164 | """ | 1184 | """ |
1165 | for id in const.TOOL_STATES: | 1185 | for id in const.TOOL_STATES: |
1166 | - state = self.GetToolState(id) | 1186 | + state = self.GetToolToggled(id) |
1167 | if state: | 1187 | if state: |
1168 | self.ToggleTool(id, False) | 1188 | self.ToggleTool(id, False) |
1189 | + self.Refresh() | ||
1169 | 1190 | ||
1170 | def _ToggleLinearMeasure(self, pubsub_evt): | 1191 | def _ToggleLinearMeasure(self, pubsub_evt): |
1171 | """ | 1192 | """ |
@@ -1177,7 +1198,7 @@ class ObjectToolBar(wx.ToolBar): | @@ -1177,7 +1198,7 @@ class ObjectToolBar(wx.ToolBar): | ||
1177 | Publisher.sendMessage('Enable style', id) | 1198 | Publisher.sendMessage('Enable style', id) |
1178 | Publisher.sendMessage('Untoggle slice toolbar items') | 1199 | Publisher.sendMessage('Untoggle slice toolbar items') |
1179 | for item in const.TOOL_STATES: | 1200 | for item in const.TOOL_STATES: |
1180 | - state = self.GetToolState(item) | 1201 | + state = self.GetToolToggled(item) |
1181 | if state and (item != id): | 1202 | if state and (item != id): |
1182 | self.ToggleTool(item, False) | 1203 | self.ToggleTool(item, False) |
1183 | 1204 | ||
@@ -1192,7 +1213,7 @@ class ObjectToolBar(wx.ToolBar): | @@ -1192,7 +1213,7 @@ class ObjectToolBar(wx.ToolBar): | ||
1192 | Publisher.sendMessage('Enable style', id) | 1213 | Publisher.sendMessage('Enable style', id) |
1193 | Publisher.sendMessage('Untoggle slice toolbar items') | 1214 | Publisher.sendMessage('Untoggle slice toolbar items') |
1194 | for item in const.TOOL_STATES: | 1215 | for item in const.TOOL_STATES: |
1195 | - state = self.GetToolState(item) | 1216 | + state = self.GetToolToggled(item) |
1196 | if state and (item != id): | 1217 | if state and (item != id): |
1197 | self.ToggleTool(item, False) | 1218 | self.ToggleTool(item, False) |
1198 | 1219 | ||
@@ -1202,7 +1223,7 @@ class ObjectToolBar(wx.ToolBar): | @@ -1202,7 +1223,7 @@ class ObjectToolBar(wx.ToolBar): | ||
1202 | should be toggle each time). | 1223 | should be toggle each time). |
1203 | """ | 1224 | """ |
1204 | id = evt.GetId() | 1225 | id = evt.GetId() |
1205 | - state = self.GetToolState(id) | 1226 | + state = self.GetToolToggled(id) |
1206 | if state and ((id == const.STATE_MEASURE_DISTANCE) or\ | 1227 | if state and ((id == const.STATE_MEASURE_DISTANCE) or\ |
1207 | (id == const.STATE_MEASURE_ANGLE)): | 1228 | (id == const.STATE_MEASURE_ANGLE)): |
1208 | Publisher.sendMessage('Fold measure task') | 1229 | Publisher.sendMessage('Fold measure task') |
@@ -1214,7 +1235,7 @@ class ObjectToolBar(wx.ToolBar): | @@ -1214,7 +1235,7 @@ class ObjectToolBar(wx.ToolBar): | ||
1214 | Publisher.sendMessage('Disable style', id) | 1235 | Publisher.sendMessage('Disable style', id) |
1215 | 1236 | ||
1216 | for item in const.TOOL_STATES: | 1237 | for item in const.TOOL_STATES: |
1217 | - state = self.GetToolState(item) | 1238 | + state = self.GetToolToggled(item) |
1218 | if state and (item != id): | 1239 | if state and (item != id): |
1219 | self.ToggleTool(item, False) | 1240 | self.ToggleTool(item, False) |
1220 | evt.Skip() | 1241 | evt.Skip() |
@@ -1238,16 +1259,16 @@ class ObjectToolBar(wx.ToolBar): | @@ -1238,16 +1259,16 @@ class ObjectToolBar(wx.ToolBar): | ||
1238 | # ------------------------------------------------------------------ | 1259 | # ------------------------------------------------------------------ |
1239 | # ------------------------------------------------------------------ | 1260 | # ------------------------------------------------------------------ |
1240 | 1261 | ||
1241 | -class SliceToolBar(wx.ToolBar): | 1262 | +class SliceToolBar(AuiToolBar): |
1242 | """ | 1263 | """ |
1243 | Toolbar related to 2D slice specific operations, including: cross | 1264 | Toolbar related to 2D slice specific operations, including: cross |
1244 | intersection reference and scroll slices. | 1265 | intersection reference and scroll slices. |
1245 | """ | 1266 | """ |
1246 | def __init__(self, parent): | 1267 | def __init__(self, parent): |
1247 | - style = wx.TB_FLAT|wx.TB_NODIVIDER | wx.TB_DOCKABLE | ||
1248 | - wx.ToolBar.__init__(self, parent, -1, wx.DefaultPosition, | 1268 | + style = AUI_TB_PLAIN_BACKGROUND |
1269 | + AuiToolBar.__init__(self, parent, -1, wx.DefaultPosition, | ||
1249 | wx.DefaultSize, | 1270 | wx.DefaultSize, |
1250 | - style) | 1271 | + agwStyle=style) |
1251 | 1272 | ||
1252 | self.SetToolBitmapSize(wx.Size(32,32)) | 1273 | self.SetToolBitmapSize(wx.Size(32,32)) |
1253 | 1274 | ||
@@ -1279,13 +1300,17 @@ class SliceToolBar(wx.ToolBar): | @@ -1279,13 +1300,17 @@ class SliceToolBar(wx.ToolBar): | ||
1279 | path = os.path.join(d,"cross.png") | 1300 | path = os.path.join(d,"cross.png") |
1280 | BMP_CROSS = wx.Bitmap(path, wx.BITMAP_TYPE_PNG) | 1301 | BMP_CROSS = wx.Bitmap(path, wx.BITMAP_TYPE_PNG) |
1281 | 1302 | ||
1282 | - self.AddCheckTool(const.SLICE_STATE_SCROLL, | ||
1283 | - BMP_SLICE, | ||
1284 | - shortHelp = _("Scroll slices")) | 1303 | + self.sst = self.AddToggleTool(const.SLICE_STATE_SCROLL, |
1304 | + BMP_SLICE,#, kind=wx.ITEM_CHECK) | ||
1305 | + wx.NullBitmap, | ||
1306 | + toggle=True, | ||
1307 | + short_help_string=_("Scroll slices")) | ||
1285 | 1308 | ||
1286 | - self.AddCheckTool(const.SLICE_STATE_CROSS, | ||
1287 | - BMP_CROSS, | ||
1288 | - shortHelp = _("Slices' cross intersection")) | 1309 | + self.sct = self.AddToggleTool(const.SLICE_STATE_CROSS, |
1310 | + BMP_CROSS,#, kind=wx.ITEM_CHECK) | ||
1311 | + wx.NullBitmap, | ||
1312 | + toggle=True, | ||
1313 | + short_help_string=_("Slices' cross intersection")) | ||
1289 | 1314 | ||
1290 | def __bind_events(self): | 1315 | def __bind_events(self): |
1291 | """ | 1316 | """ |
@@ -1312,18 +1337,20 @@ class SliceToolBar(wx.ToolBar): | @@ -1312,18 +1337,20 @@ class SliceToolBar(wx.ToolBar): | ||
1312 | else: | 1337 | else: |
1313 | self.SetStateProjectClose() | 1338 | self.SetStateProjectClose() |
1314 | self._UntoggleAllItems() | 1339 | self._UntoggleAllItems() |
1340 | + self.Refresh() | ||
1315 | 1341 | ||
1316 | def _UntoggleAllItems(self, pubsub_evt=None): | 1342 | def _UntoggleAllItems(self, pubsub_evt=None): |
1317 | """ | 1343 | """ |
1318 | Untoggle all items on toolbar. | 1344 | Untoggle all items on toolbar. |
1319 | """ | 1345 | """ |
1320 | for id in const.TOOL_SLICE_STATES: | 1346 | for id in const.TOOL_SLICE_STATES: |
1321 | - state = self.GetToolState(id) | 1347 | + state = self.GetToolToggled(id) |
1322 | if state: | 1348 | if state: |
1323 | self.ToggleTool(id, False) | 1349 | self.ToggleTool(id, False) |
1324 | if id == const.SLICE_STATE_CROSS: | 1350 | if id == const.SLICE_STATE_CROSS: |
1325 | msg = 'Set cross visibility' | 1351 | msg = 'Set cross visibility' |
1326 | Publisher.sendMessage(msg, 0) | 1352 | Publisher.sendMessage(msg, 0) |
1353 | + self.Refresh() | ||
1327 | 1354 | ||
1328 | def OnToggle(self, evt): | 1355 | def OnToggle(self, evt): |
1329 | """ | 1356 | """ |
@@ -1331,7 +1358,9 @@ class SliceToolBar(wx.ToolBar): | @@ -1331,7 +1358,9 @@ class SliceToolBar(wx.ToolBar): | ||
1331 | should be toggle each time). | 1358 | should be toggle each time). |
1332 | """ | 1359 | """ |
1333 | id = evt.GetId() | 1360 | id = evt.GetId() |
1334 | - state = self.GetToolState(id) | 1361 | + evt.Skip() |
1362 | + | ||
1363 | + state = self.GetToolToggled(id) | ||
1335 | 1364 | ||
1336 | if state: | 1365 | if state: |
1337 | Publisher.sendMessage('Enable style', id) | 1366 | Publisher.sendMessage('Enable style', id) |
@@ -1339,12 +1368,17 @@ class SliceToolBar(wx.ToolBar): | @@ -1339,12 +1368,17 @@ class SliceToolBar(wx.ToolBar): | ||
1339 | else: | 1368 | else: |
1340 | Publisher.sendMessage('Disable style', id) | 1369 | Publisher.sendMessage('Disable style', id) |
1341 | 1370 | ||
1342 | - for item in const.TOOL_SLICE_STATES: | ||
1343 | - state = self.GetToolState(item) | 1371 | + for item in self.enable_items: |
1372 | + state = self.GetToolToggled(item) | ||
1344 | if state and (item != id): | 1373 | if state and (item != id): |
1374 | + print ">>>>", item | ||
1345 | self.ToggleTool(item, False) | 1375 | self.ToggleTool(item, False) |
1376 | + #self.ToggleTool(const.SLICE_STATE_SCROLL, self.GetToolToggled(const.SLICE_STATE_CROSS)) | ||
1377 | + #self.Update() | ||
1378 | + ##self.sst.SetToggle(self.sct.IsToggled()) | ||
1379 | + ##print ">>>", self.sst.IsToggled() | ||
1380 | + #print ">>>", self.sst.GetState() | ||
1346 | 1381 | ||
1347 | - evt.Skip() | ||
1348 | 1382 | ||
1349 | def SetStateProjectClose(self): | 1383 | def SetStateProjectClose(self): |
1350 | """ | 1384 | """ |
@@ -1352,6 +1386,7 @@ class SliceToolBar(wx.ToolBar): | @@ -1352,6 +1386,7 @@ class SliceToolBar(wx.ToolBar): | ||
1352 | """ | 1386 | """ |
1353 | for tool in self.enable_items: | 1387 | for tool in self.enable_items: |
1354 | self.EnableTool(tool, False) | 1388 | self.EnableTool(tool, False) |
1389 | + self.Refresh() | ||
1355 | 1390 | ||
1356 | def SetStateProjectOpen(self): | 1391 | def SetStateProjectOpen(self): |
1357 | """ | 1392 | """ |
@@ -1359,21 +1394,22 @@ class SliceToolBar(wx.ToolBar): | @@ -1359,21 +1394,22 @@ class SliceToolBar(wx.ToolBar): | ||
1359 | """ | 1394 | """ |
1360 | for tool in self.enable_items: | 1395 | for tool in self.enable_items: |
1361 | self.EnableTool(tool, True) | 1396 | self.EnableTool(tool, True) |
1397 | + self.Refresh() | ||
1362 | 1398 | ||
1363 | # ------------------------------------------------------------------ | 1399 | # ------------------------------------------------------------------ |
1364 | # ------------------------------------------------------------------ | 1400 | # ------------------------------------------------------------------ |
1365 | # ------------------------------------------------------------------ | 1401 | # ------------------------------------------------------------------ |
1366 | 1402 | ||
1367 | -class LayoutToolBar(wx.ToolBar): | 1403 | +class LayoutToolBar(AuiToolBar): |
1368 | """ | 1404 | """ |
1369 | Toolbar related to general layout/ visualization configuration | 1405 | Toolbar related to general layout/ visualization configuration |
1370 | e.g: show/hide task panel and show/hide text on viewers. | 1406 | e.g: show/hide task panel and show/hide text on viewers. |
1371 | """ | 1407 | """ |
1372 | def __init__(self, parent): | 1408 | def __init__(self, parent): |
1373 | - style = wx.TB_FLAT|wx.TB_NODIVIDER | wx.TB_DOCKABLE | ||
1374 | - wx.ToolBar.__init__(self, parent, -1, wx.DefaultPosition, | 1409 | + style = AUI_TB_PLAIN_BACKGROUND |
1410 | + AuiToolBar.__init__(self, parent, -1, wx.DefaultPosition, | ||
1375 | wx.DefaultSize, | 1411 | wx.DefaultSize, |
1376 | - style) | 1412 | + agwStyle=style) |
1377 | 1413 | ||
1378 | self.SetToolBitmapSize(wx.Size(32,32)) | 1414 | self.SetToolBitmapSize(wx.Size(32,32)) |
1379 | 1415 | ||
@@ -1439,14 +1475,18 @@ class LayoutToolBar(wx.ToolBar): | @@ -1439,14 +1475,18 @@ class LayoutToolBar(wx.ToolBar): | ||
1439 | p = os.path.join(d, "text.png") | 1475 | p = os.path.join(d, "text.png") |
1440 | self.BMP_WITH_TEXT = wx.Bitmap(p, wx.BITMAP_TYPE_PNG) | 1476 | self.BMP_WITH_TEXT = wx.Bitmap(p, wx.BITMAP_TYPE_PNG) |
1441 | 1477 | ||
1442 | - self.AddLabelTool(ID_LAYOUT, | 1478 | + self.AddTool(ID_LAYOUT, |
1443 | "", | 1479 | "", |
1444 | - bitmap=self.BMP_WITHOUT_MENU, | ||
1445 | - shortHelp= _("Hide task panel")) | ||
1446 | - self.AddLabelTool(ID_TEXT, | 1480 | + self.BMP_WITHOUT_MENU, |
1481 | + wx.NullBitmap, | ||
1482 | + wx.ITEM_NORMAL, | ||
1483 | + short_help_string= _("Hide task panel")) | ||
1484 | + self.AddTool(ID_TEXT, | ||
1447 | "", | 1485 | "", |
1448 | - bitmap=self.BMP_WITH_TEXT, | ||
1449 | - shortHelp= _("Hide text")) | 1486 | + self.BMP_WITH_TEXT, |
1487 | + wx.NullBitmap, | ||
1488 | + wx.ITEM_NORMAL, | ||
1489 | + short_help_string= _("Hide text")) | ||
1450 | 1490 | ||
1451 | def _EnableState(self, pubsub_evt): | 1491 | def _EnableState(self, pubsub_evt): |
1452 | """ | 1492 | """ |
@@ -1458,6 +1498,7 @@ class LayoutToolBar(wx.ToolBar): | @@ -1458,6 +1498,7 @@ class LayoutToolBar(wx.ToolBar): | ||
1458 | self.SetStateProjectOpen() | 1498 | self.SetStateProjectOpen() |
1459 | else: | 1499 | else: |
1460 | self.SetStateProjectClose() | 1500 | self.SetStateProjectClose() |
1501 | + self.Refresh() | ||
1461 | 1502 | ||
1462 | def _SetLayoutWithoutTask(self, pubsub_evt): | 1503 | def _SetLayoutWithoutTask(self, pubsub_evt): |
1463 | """ | 1504 | """ |
@@ -1482,7 +1523,7 @@ class LayoutToolBar(wx.ToolBar): | @@ -1482,7 +1523,7 @@ class LayoutToolBar(wx.ToolBar): | ||
1482 | self.ToggleText() | 1523 | self.ToggleText() |
1483 | 1524 | ||
1484 | for item in VIEW_TOOLS: | 1525 | for item in VIEW_TOOLS: |
1485 | - state = self.GetToolState(item) | 1526 | + state = self.GetToolToggled(item) |
1486 | if state and (item != id): | 1527 | if state and (item != id): |
1487 | self.ToggleTool(item, False) | 1528 | self.ToggleTool(item, False) |
1488 | 1529 | ||
@@ -1538,16 +1579,16 @@ class LayoutToolBar(wx.ToolBar): | @@ -1538,16 +1579,16 @@ class LayoutToolBar(wx.ToolBar): | ||
1538 | self.ontool_text = True | 1579 | self.ontool_text = True |
1539 | 1580 | ||
1540 | 1581 | ||
1541 | -class HistoryToolBar(wx.ToolBar): | 1582 | +class HistoryToolBar(AuiToolBar): |
1542 | """ | 1583 | """ |
1543 | Toolbar related to general layout/ visualization configuration | 1584 | Toolbar related to general layout/ visualization configuration |
1544 | e.g: show/hide task panel and show/hide text on viewers. | 1585 | e.g: show/hide task panel and show/hide text on viewers. |
1545 | """ | 1586 | """ |
1546 | def __init__(self, parent): | 1587 | def __init__(self, parent): |
1547 | - style = wx.TB_FLAT|wx.TB_NODIVIDER | wx.TB_DOCKABLE | ||
1548 | - wx.ToolBar.__init__(self, parent, -1, wx.DefaultPosition, | 1588 | + style = AUI_TB_PLAIN_BACKGROUND |
1589 | + AuiToolBar.__init__(self, parent, -1, wx.DefaultPosition, | ||
1549 | wx.DefaultSize, | 1590 | wx.DefaultSize, |
1550 | - style) | 1591 | + agwStyle=style) |
1551 | 1592 | ||
1552 | self.SetToolBitmapSize(wx.Size(32,32)) | 1593 | self.SetToolBitmapSize(wx.Size(32,32)) |
1553 | 1594 | ||
@@ -1603,15 +1644,19 @@ class HistoryToolBar(wx.ToolBar): | @@ -1603,15 +1644,19 @@ class HistoryToolBar(wx.ToolBar): | ||
1603 | p = os.path.join(d, "redo_small.png") | 1644 | p = os.path.join(d, "redo_small.png") |
1604 | self.BMP_REDO = wx.Bitmap(p, wx.BITMAP_TYPE_PNG) | 1645 | self.BMP_REDO = wx.Bitmap(p, wx.BITMAP_TYPE_PNG) |
1605 | 1646 | ||
1606 | - self.AddLabelTool(wx.ID_UNDO, | 1647 | + self.AddTool(wx.ID_UNDO, |
1607 | "", | 1648 | "", |
1608 | - bitmap=self.BMP_UNDO, | ||
1609 | - shortHelp= _("Undo")) | 1649 | + self.BMP_UNDO, |
1650 | + wx.NullBitmap, | ||
1651 | + wx.ITEM_NORMAL, | ||
1652 | + short_help_string= _("Undo")) | ||
1610 | 1653 | ||
1611 | - self.AddLabelTool(wx.ID_REDO, | 1654 | + self.AddTool(wx.ID_REDO, |
1612 | "", | 1655 | "", |
1613 | - bitmap=self.BMP_REDO, | ||
1614 | - shortHelp= _("Redo")) | 1656 | + self.BMP_REDO, |
1657 | + wx.NullBitmap, | ||
1658 | + wx.ITEM_NORMAL, | ||
1659 | + short_help_string=_("Redo")) | ||
1615 | 1660 | ||
1616 | self.EnableTool(wx.ID_UNDO, False) | 1661 | self.EnableTool(wx.ID_UNDO, False) |
1617 | self.EnableTool(wx.ID_REDO, False) | 1662 | self.EnableTool(wx.ID_REDO, False) |
@@ -1626,6 +1671,7 @@ class HistoryToolBar(wx.ToolBar): | @@ -1626,6 +1671,7 @@ class HistoryToolBar(wx.ToolBar): | ||
1626 | self.SetStateProjectOpen() | 1671 | self.SetStateProjectOpen() |
1627 | else: | 1672 | else: |
1628 | self.SetStateProjectClose() | 1673 | self.SetStateProjectClose() |
1674 | + self.Refresh() | ||
1629 | 1675 | ||
1630 | def _SetLayoutWithoutTask(self, pubsub_evt): | 1676 | def _SetLayoutWithoutTask(self, pubsub_evt): |
1631 | """ | 1677 | """ |
@@ -1658,7 +1704,7 @@ class HistoryToolBar(wx.ToolBar): | @@ -1658,7 +1704,7 @@ class HistoryToolBar(wx.ToolBar): | ||
1658 | self.ToggleText() | 1704 | self.ToggleText() |
1659 | 1705 | ||
1660 | for item in VIEW_TOOLS: | 1706 | for item in VIEW_TOOLS: |
1661 | - state = self.GetToolState(item) | 1707 | + state = self.GetToolToggled(item) |
1662 | if state and (item != id): | 1708 | if state and (item != id): |
1663 | self.ToggleTool(item, False) | 1709 | self.ToggleTool(item, False) |
1664 | 1710 | ||
@@ -1719,6 +1765,7 @@ class HistoryToolBar(wx.ToolBar): | @@ -1719,6 +1765,7 @@ class HistoryToolBar(wx.ToolBar): | ||
1719 | self.EnableTool(wx.ID_UNDO, True) | 1765 | self.EnableTool(wx.ID_UNDO, True) |
1720 | else: | 1766 | else: |
1721 | self.EnableTool(wx.ID_UNDO, False) | 1767 | self.EnableTool(wx.ID_UNDO, False) |
1768 | + self.Refresh() | ||
1722 | 1769 | ||
1723 | def OnEnableRedo(self, pubsub_evt): | 1770 | def OnEnableRedo(self, pubsub_evt): |
1724 | value = pubsub_evt.data | 1771 | value = pubsub_evt.data |
@@ -1726,3 +1773,4 @@ class HistoryToolBar(wx.ToolBar): | @@ -1726,3 +1773,4 @@ class HistoryToolBar(wx.ToolBar): | ||
1726 | self.EnableTool(wx.ID_REDO, True) | 1773 | self.EnableTool(wx.ID_REDO, True) |
1727 | else: | 1774 | else: |
1728 | self.EnableTool(wx.ID_REDO, False) | 1775 | self.EnableTool(wx.ID_REDO, False) |
1776 | + self.Refresh() |