Commit e2b58c402586e365ff41bc533a49e3100039f9e1
1 parent
1384e482
Exists in
master
and in
6 other branches
DOC: Comments / style
Showing
1 changed file
with
132 additions
and
74 deletions
Show diff stats
invesalius/gui/frame.py
@@ -36,7 +36,8 @@ import session as ses | @@ -36,7 +36,8 @@ import session as ses | ||
36 | import utils | 36 | import utils |
37 | 37 | ||
38 | 38 | ||
39 | -# Layout toolbar | 39 | +# Layout tools' IDs - this is used only locally, therefore doesn't need |
40 | +# to be defined in constants.py | ||
40 | VIEW_TOOLS = [ID_LAYOUT, ID_TEXT] = [wx.NewId() for number in range(2)] | 41 | VIEW_TOOLS = [ID_LAYOUT, ID_TEXT] = [wx.NewId() for number in range(2)] |
41 | 42 | ||
42 | class Frame(wx.Frame): | 43 | class Frame(wx.Frame): |
@@ -60,9 +61,11 @@ class Frame(wx.Frame): | @@ -60,9 +61,11 @@ class Frame(wx.Frame): | ||
60 | self.SetMenuBar(MenuBar(self)) | 61 | self.SetMenuBar(MenuBar(self)) |
61 | self.SetStatusBar(StatusBar(self)) | 62 | self.SetStatusBar(StatusBar(self)) |
62 | 63 | ||
63 | - # win32: Show icon on "Notification Area" at "Task Bar" | ||
64 | - # darwin: Show icon on Dock | ||
65 | - # linux2: ? - TODO: find what it does | 64 | + # TaskBarIcon has different behaviours according to the |
65 | + # platform: | ||
66 | + # - win32: Show icon on "Notification Area" at "Task Bar" | ||
67 | + # - darwin: Show icon on Dock | ||
68 | + # - linux2: ? - TODO: find what it does | ||
66 | TaskBarIcon(self) | 69 | TaskBarIcon(self) |
67 | 70 | ||
68 | # Create aui manager and insert content in it | 71 | # Create aui manager and insert content in it |
@@ -131,7 +134,6 @@ class Frame(wx.Frame): | @@ -131,7 +134,6 @@ class Frame(wx.Frame): | ||
131 | Caption(_("Preview medical data to be reconstructed")). | 134 | Caption(_("Preview medical data to be reconstructed")). |
132 | CaptionVisible(True)) | 135 | CaptionVisible(True)) |
133 | 136 | ||
134 | - | ||
135 | # Add toolbars to manager | 137 | # Add toolbars to manager |
136 | # This is pretty tricky -- order on win32 is inverted when | 138 | # This is pretty tricky -- order on win32 is inverted when |
137 | # compared to linux2 & darwin | 139 | # compared to linux2 & darwin |
@@ -167,12 +169,11 @@ class Frame(wx.Frame): | @@ -167,12 +169,11 @@ class Frame(wx.Frame): | ||
167 | LeftDockable(False).RightDockable(False)) | 169 | LeftDockable(False).RightDockable(False)) |
168 | 170 | ||
169 | aui_manager.Update() | 171 | aui_manager.Update() |
172 | + self.aui_manager = aui_manager | ||
170 | 173 | ||
171 | # TODO: Allow saving and restoring perspectives | 174 | # TODO: Allow saving and restoring perspectives |
172 | self.perspective_all = aui_manager.SavePerspective() | 175 | self.perspective_all = aui_manager.SavePerspective() |
173 | 176 | ||
174 | - self.aui_manager = aui_manager | ||
175 | - | ||
176 | def _BeginBusyCursor(self, pubsub_evt): | 177 | def _BeginBusyCursor(self, pubsub_evt): |
177 | """ | 178 | """ |
178 | Start busy cursor. | 179 | Start busy cursor. |
@@ -216,7 +217,6 @@ class Frame(wx.Frame): | @@ -216,7 +217,6 @@ class Frame(wx.Frame): | ||
216 | aui_manager.GetPane("Tasks").Show(1) | 217 | aui_manager.GetPane("Tasks").Show(1) |
217 | aui_manager.Update() | 218 | aui_manager.Update() |
218 | 219 | ||
219 | - | ||
220 | def _HideTask(self, pubsub_evt): | 220 | def _HideTask(self, pubsub_evt): |
221 | """ | 221 | """ |
222 | Hide task panel. | 222 | Hide task panel. |
@@ -264,14 +264,12 @@ class Frame(wx.Frame): | @@ -264,14 +264,12 @@ class Frame(wx.Frame): | ||
264 | self.aui_manager.GetPane("Tasks").Show() | 264 | self.aui_manager.GetPane("Tasks").Show() |
265 | self.aui_manager.Update() | 265 | self.aui_manager.Update() |
266 | 266 | ||
267 | - | ||
268 | def _UpdateAUI(self, pubsub_evt): | 267 | def _UpdateAUI(self, pubsub_evt): |
269 | """ | 268 | """ |
270 | Refresh AUI panels/data. | 269 | Refresh AUI panels/data. |
271 | """ | 270 | """ |
272 | self.aui_manager.Update() | 271 | self.aui_manager.Update() |
273 | 272 | ||
274 | - | ||
275 | def CloseProject(self): | 273 | def CloseProject(self): |
276 | ps.Publisher().sendMessage('Close Project') | 274 | ps.Publisher().sendMessage('Close Project') |
277 | 275 | ||
@@ -353,38 +351,58 @@ class Frame(wx.Frame): | @@ -353,38 +351,58 @@ class Frame(wx.Frame): | ||
353 | """ | 351 | """ |
354 | ps.Publisher().sendMessage('Show save dialog', True) | 352 | ps.Publisher().sendMessage('Show save dialog', True) |
355 | 353 | ||
356 | - | ||
357 | - | ||
358 | -# ------------------------------------------------------------------------------ | ||
359 | -# ------------------------------------------------------------------------------ | ||
360 | -# TODO: what will appear on ivMenuBar? | ||
361 | -# Menu items ID's, necessary to bind events on them | ||
362 | - | 354 | +# ------------------------------------------------------------------ |
355 | +# ------------------------------------------------------------------ | ||
356 | +# ------------------------------------------------------------------ | ||
363 | 357 | ||
364 | class MenuBar(wx.MenuBar): | 358 | class MenuBar(wx.MenuBar): |
365 | - def __init__(self, parent=None): | 359 | + """ |
360 | + MenuBar which contains menus used to control project, tools and help. | ||
361 | + """ | ||
362 | + def __init__(self, parent): | ||
366 | wx.MenuBar.__init__(self) | 363 | wx.MenuBar.__init__(self) |
367 | 364 | ||
368 | self.parent = parent | 365 | self.parent = parent |
369 | 366 | ||
367 | + # Used to enable/disable menu items if project is opened or | ||
368 | + # not. Eg. save should only be available if a project is open | ||
369 | + self.enable_items = [const.ID_PROJECT_SAVE, | ||
370 | + const.ID_PROJECT_SAVE_AS, | ||
371 | + const.ID_PROJECT_CLOSE] | ||
370 | self.__init_items() | 372 | self.__init_items() |
371 | self.__bind_events() | 373 | self.__bind_events() |
372 | 374 | ||
375 | + self.SetStateProjectClose() | ||
376 | + | ||
377 | + def __bind_events(self): | ||
378 | + """ | ||
379 | + Bind events related to pubsub. | ||
380 | + """ | ||
381 | + # TODO: in future, possibly when wxPython 2.9 is available, | ||
382 | + # events should be binded directly from wx.Menu / wx.MenuBar | ||
383 | + # message "Binding events of wx.MenuBar" on [wxpython-users] | ||
384 | + # mail list in Oct 20 2008 | ||
385 | + ps.Publisher().subscribe(self.OnEnableState, "Enable state project") | ||
386 | + | ||
373 | def __init_items(self): | 387 | def __init_items(self): |
388 | + """ | ||
389 | + Create all menu and submenus, and add them to self. | ||
390 | + """ | ||
391 | + # TODO: This definetely needs improvements... ;) | ||
374 | 392 | ||
375 | # FILE | 393 | # FILE |
376 | file_menu = wx.Menu() | 394 | file_menu = wx.Menu() |
377 | - #file_menu.Append(const.ID_DICOM_LOAD_NET, "Import DICOM from Internet...") | ||
378 | file_menu.Append(const.ID_DICOM_IMPORT, _("Import DICOM...\tCtrl+I")) | 395 | file_menu.Append(const.ID_DICOM_IMPORT, _("Import DICOM...\tCtrl+I")) |
396 | + #file_menu.Append(const.ID_DICOM_LOAD_NET, _("Import DICOM from PACS...")) | ||
379 | file_menu.Append(const.ID_PROJECT_OPEN, _("Open Project...\tCtrl+O")) | 397 | file_menu.Append(const.ID_PROJECT_OPEN, _("Open Project...\tCtrl+O")) |
380 | file_menu.Append(const.ID_PROJECT_SAVE, _("Save Project\tCtrl+S")) | 398 | file_menu.Append(const.ID_PROJECT_SAVE, _("Save Project\tCtrl+S")) |
381 | file_menu.Append(const.ID_PROJECT_SAVE_AS, _("Save Project As...")) | 399 | file_menu.Append(const.ID_PROJECT_SAVE_AS, _("Save Project As...")) |
382 | file_menu.Append(const.ID_PROJECT_CLOSE, _("Close Project")) | 400 | file_menu.Append(const.ID_PROJECT_CLOSE, _("Close Project")) |
383 | file_menu.AppendSeparator() | 401 | file_menu.AppendSeparator() |
384 | - #file_menu.Append(const.ID_PROJECT_INFO, "Project Information...") | 402 | + #file_menu.Append(const.ID_PROJECT_INFO, _("Project Information...")) |
385 | #file_menu.AppendSeparator() | 403 | #file_menu.AppendSeparator() |
386 | - #file_menu.Append(const.ID_SAVE_SCREENSHOT, "Save Screenshot") | ||
387 | - #file_menu.Append(const.ID_PRINT_SCREENSHOT, "Print Screenshot") | 404 | + #file_menu.Append(const.ID_SAVE_SCREENSHOT, _("Save Screenshot")) |
405 | + #file_menu.Append(const.ID_PRINT_SCREENSHOT, _("Print Screenshot")) | ||
388 | #file_menu.AppendSeparator() | 406 | #file_menu.AppendSeparator() |
389 | #file_menu.Append(1, "C:\InvData\sample.inv") | 407 | #file_menu.Append(1, "C:\InvData\sample.inv") |
390 | #file_menu.AppendSeparator() | 408 | #file_menu.AppendSeparator() |
@@ -407,7 +425,6 @@ class MenuBar(wx.MenuBar): | @@ -407,7 +425,6 @@ class MenuBar(wx.MenuBar): | ||
407 | #view_layout_menu.Append(const.ID_TASK_BAR, "Task Bar") | 425 | #view_layout_menu.Append(const.ID_TASK_BAR, "Task Bar") |
408 | #view_layout_menu.Append(const.ID_VIEW_FOUR, "Four View") | 426 | #view_layout_menu.Append(const.ID_VIEW_FOUR, "Four View") |
409 | 427 | ||
410 | - | ||
411 | #view_menu = wx.Menu() | 428 | #view_menu = wx.Menu() |
412 | #view_menu.AppendMenu(-1, "Toolbars",view_tool_menu) | 429 | #view_menu.AppendMenu(-1, "Toolbars",view_tool_menu) |
413 | #view_menu.AppendMenu(-1, "Layout", view_layout_menu) | 430 | #view_menu.AppendMenu(-1, "Layout", view_layout_menu) |
@@ -433,12 +450,13 @@ class MenuBar(wx.MenuBar): | @@ -433,12 +450,13 @@ class MenuBar(wx.MenuBar): | ||
433 | help_menu.Append(const.ID_ABOUT, _("About...")) | 450 | help_menu.Append(const.ID_ABOUT, _("About...")) |
434 | #help_menu.Append(107, "Check For Updates Now...") | 451 | #help_menu.Append(107, "Check For Updates Now...") |
435 | 452 | ||
436 | - # TODO: Check what is necessary under MacOS to show Groo and not Python | 453 | + # TODO: Check what is necessary under MacOS to show |
454 | + # InVesalius and not Python | ||
437 | # first menu item... Didn't manage to solve it up to now, the 3 lines | 455 | # first menu item... Didn't manage to solve it up to now, the 3 lines |
438 | # bellow are a frustated test, based on wxPython Demo | 456 | # bellow are a frustated test, based on wxPython Demo |
439 | # TODO: Google about this | 457 | # TODO: Google about this |
440 | #test_menu = wx.Menu() | 458 | #test_menu = wx.Menu() |
441 | - #test_item = test_menu.Append(-1, '&About Groo', 'Groo RULES!!!') | 459 | + #test_item = test_menu.Append(-1, '&About InVesalius','InVesalius') |
442 | #wx.App.SetMacAboutMenuItemId(test_item.GetId()) | 460 | #wx.App.SetMacAboutMenuItemId(test_item.GetId()) |
443 | 461 | ||
444 | self.Append(file_menu, _("File")) | 462 | self.Append(file_menu, _("File")) |
@@ -449,104 +467,136 @@ class MenuBar(wx.MenuBar): | @@ -449,104 +467,136 @@ class MenuBar(wx.MenuBar): | ||
449 | self.Append(help_menu, _("Help")) | 467 | self.Append(help_menu, _("Help")) |
450 | 468 | ||
451 | 469 | ||
452 | - self.enable_items = [const.ID_PROJECT_SAVE, const.ID_PROJECT_SAVE_AS, | ||
453 | - const.ID_PROJECT_CLOSE] | ||
454 | - | ||
455 | - self.SetStateProjectClose() | ||
456 | - | ||
457 | def OnEnableState(self, pubsub_evt): | 470 | def OnEnableState(self, pubsub_evt): |
471 | + """ | ||
472 | + Based on given state, enables or disables menu items which | ||
473 | + depend if project is open or not. | ||
474 | + """ | ||
458 | state = pubsub_evt.data | 475 | state = pubsub_evt.data |
459 | if state: | 476 | if state: |
460 | self.SetStateProjectOpen() | 477 | self.SetStateProjectOpen() |
461 | else: | 478 | else: |
462 | self.SetStateProjectClose() | 479 | self.SetStateProjectClose() |
463 | 480 | ||
481 | + def SetStateProjectClose(self): | ||
482 | + """ | ||
483 | + Disable menu items (e.g. save) when project is closed. | ||
484 | + """ | ||
485 | + for item in self.enable_items: | ||
486 | + self.Enable(item, False) | ||
464 | 487 | ||
465 | def SetStateProjectOpen(self): | 488 | def SetStateProjectOpen(self): |
489 | + """ | ||
490 | + Enable menu items (e.g. save) when project is opened. | ||
491 | + """ | ||
466 | for item in self.enable_items: | 492 | for item in self.enable_items: |
467 | self.Enable(item, True) | 493 | self.Enable(item, True) |
468 | 494 | ||
469 | - def SetStateProjectClose(self): | ||
470 | - for item in self.enable_items: | ||
471 | - self.Enable(item, False) | ||
472 | - | ||
473 | - def __bind_events(self): | ||
474 | - # TODO: in future, possibly when wxPython 2.9 is available, | ||
475 | - # events should be binded directly from wx.Menu / wx.MenuBar | ||
476 | - # message "Binding events of wx.MenuBar" on [wxpython-users] | ||
477 | - # mail list in Oct 20 2008 | ||
478 | - ps.Publisher().subscribe(self.OnEnableState, "Enable state project") | 495 | +# ------------------------------------------------------------------ |
496 | +# ------------------------------------------------------------------ | ||
497 | +# ------------------------------------------------------------------ | ||
479 | 498 | ||
480 | 499 | ||
481 | -# ------------------------------------------------------------------ | ||
482 | class ProgressBar(wx.Gauge): | 500 | class ProgressBar(wx.Gauge): |
501 | + """ | ||
502 | + Progress bar / gauge. | ||
503 | + """ | ||
504 | + | ||
505 | + def __init__(self, parent): | ||
506 | + wx.Gauge.__init__(self, parent, -1, 100) | ||
507 | + self.parent = parent | ||
508 | + self._Layout() | ||
483 | 509 | ||
484 | - def __init__(self, parent): | ||
485 | - wx.Gauge.__init__(self, parent, -1, 100) | ||
486 | - self.parent = parent | ||
487 | - self.Reposition() | ||
488 | - self.__bind_events() | 510 | + self.__bind_events() |
489 | 511 | ||
490 | - def __bind_events(self): | ||
491 | - ps.Publisher().subscribe(self.Reposition, | 512 | + def __bind_events(self): |
513 | + """ | ||
514 | + Bind events related to pubsub. | ||
515 | + """ | ||
516 | + ps.Publisher().subscribe(self._Layout, | ||
492 | 'ProgressBar Reposition') | 517 | 'ProgressBar Reposition') |
493 | 518 | ||
494 | - def UpdateValue(self, value): | ||
495 | - #value = int(math.ceil(evt_pubsub.data[0])) | ||
496 | - self.SetValue(int(value)) | 519 | + def _Layout(self, evt_pubsub=None): |
520 | + """ | ||
521 | + Compute new size and position, according to parent resize | ||
522 | + """ | ||
523 | + rect = self.parent.GetFieldRect(2) | ||
524 | + self.SetPosition((rect.x + 2, rect.y + 2)) | ||
525 | + self.SetSize((rect.width - 4, rect.height - 4)) | ||
497 | 526 | ||
498 | - if (value >= 99): | ||
499 | - self.SetValue(0) | 527 | + def SetPercentage(self, value): |
528 | + """ | ||
529 | + Set value [0;100] into gauge, moving "status" percentage. | ||
530 | + """ | ||
531 | + self.SetValue(int(value)) | ||
532 | + if (value >= 99): | ||
533 | + self.SetValue(0) | ||
534 | + self.Refresh() | ||
535 | + self.Update() | ||
500 | 536 | ||
501 | - self.Refresh() | ||
502 | - self.Update() | 537 | +# ------------------------------------------------------------------ |
538 | +# ------------------------------------------------------------------ | ||
539 | +# ------------------------------------------------------------------ | ||
503 | 540 | ||
504 | - def Reposition(self, evt_pubsub = None): | ||
505 | - rect = self.Parent.GetFieldRect(2) | ||
506 | - self.SetPosition((rect.x + 2, rect.y + 2)) | ||
507 | - self.SetSize((rect.width - 4, rect.height - 4)) | ||
508 | 541 | ||
509 | -# ------------------------------------------------------------------ | ||
510 | class StatusBar(wx.StatusBar): | 542 | class StatusBar(wx.StatusBar): |
543 | + """ | ||
544 | + Control general status (both text and gauge) | ||
545 | + """ | ||
511 | def __init__(self, parent): | 546 | def __init__(self, parent): |
512 | wx.StatusBar.__init__(self, parent, -1) | 547 | wx.StatusBar.__init__(self, parent, -1) |
548 | + | ||
549 | + # General status configurations | ||
513 | self.SetFieldsCount(3) | 550 | self.SetFieldsCount(3) |
514 | self.SetStatusWidths([-2,-2,-1]) | 551 | self.SetStatusWidths([-2,-2,-1]) |
515 | self.SetStatusText(_("Ready"), 0) | 552 | self.SetStatusText(_("Ready"), 0) |
516 | self.SetStatusText("", 1) | 553 | self.SetStatusText("", 1) |
517 | self.SetStatusText("", 2) | 554 | self.SetStatusText("", 2) |
518 | 555 | ||
556 | + # Add gaugee | ||
519 | self.progress_bar = ProgressBar(self) | 557 | self.progress_bar = ProgressBar(self) |
520 | 558 | ||
521 | self.__bind_events() | 559 | self.__bind_events() |
522 | 560 | ||
523 | def __bind_events(self): | 561 | def __bind_events(self): |
524 | - ps.Publisher().subscribe(self.UpdateStatus, | 562 | + """ |
563 | + Bind events related to pubsub. | ||
564 | + """ | ||
565 | + ps.Publisher().subscribe(self._SetProgressValue, | ||
525 | 'Update status in GUI') | 566 | 'Update status in GUI') |
526 | - ps.Publisher().subscribe(self.UpdateStatusLabel, | 567 | + ps.Publisher().subscribe(self._SetProgressLabel, |
527 | 'Update status text in GUI') | 568 | 'Update status text in GUI') |
528 | 569 | ||
529 | - def UpdateStatus(self, pubsub_evt): | 570 | + def _SetProgressValue(self, pubsub_evt): |
571 | + """ | ||
572 | + Set both percentage value in gauge and text progress label in | ||
573 | + status. | ||
574 | + """ | ||
530 | value, label = pubsub_evt.data | 575 | value, label = pubsub_evt.data |
531 | - self.progress_bar.UpdateValue(value) | 576 | + self.progress_bar.SetPercentage(value) |
532 | self.SetStatusText(label, 0) | 577 | self.SetStatusText(label, 0) |
533 | if (int(value) >= 99): | 578 | if (int(value) >= 99): |
534 | self.SetStatusText("",0) | 579 | self.SetStatusText("",0) |
535 | if sys.platform == 'win32': | 580 | if sys.platform == 'win32': |
581 | + #TODO: temporary fix necessary in the Windows XP 64 Bits | ||
582 | + #BUG in wxWidgets http://trac.wxwidgets.org/ticket/10896 | ||
536 | try: | 583 | try: |
537 | #wx.SafeYield() | 584 | #wx.SafeYield() |
538 | wx.Yield() | 585 | wx.Yield() |
539 | - #TODO: temporary fix necessary in the Windows XP 64 Bits | ||
540 | - #BUG in wxWidgets http://trac.wxwidgets.org/ticket/10896 | ||
541 | except(wx._core.PyAssertionError): | 586 | except(wx._core.PyAssertionError): |
542 | utils.debug("wx._core.PyAssertionError") | 587 | utils.debug("wx._core.PyAssertionError") |
543 | 588 | ||
544 | - def UpdateStatusLabel(self, pubsub_evt): | 589 | + def _SetProgressLabel(self, pubsub_evt): |
590 | + """ | ||
591 | + Set text progress label. | ||
592 | + """ | ||
545 | label = pubsub_evt.data | 593 | label = pubsub_evt.data |
546 | self.SetStatusText(label, 0) | 594 | self.SetStatusText(label, 0) |
547 | 595 | ||
548 | 596 | ||
549 | # ------------------------------------------------------------------ | 597 | # ------------------------------------------------------------------ |
598 | +# ------------------------------------------------------------------ | ||
599 | +# ------------------------------------------------------------------ | ||
550 | 600 | ||
551 | class TaskBarIcon(wx.TaskBarIcon): | 601 | class TaskBarIcon(wx.TaskBarIcon): |
552 | def __init__(self, parent=None): | 602 | def __init__(self, parent=None): |
@@ -564,13 +614,16 @@ class TaskBarIcon(wx.TaskBarIcon): | @@ -564,13 +614,16 @@ class TaskBarIcon(wx.TaskBarIcon): | ||
564 | def OnTaskBarActivate(self): | 614 | def OnTaskBarActivate(self): |
565 | pass | 615 | pass |
566 | 616 | ||
617 | + | ||
618 | +# ------------------------------------------------------------------ | ||
619 | +# ------------------------------------------------------------------ | ||
567 | # ------------------------------------------------------------------ | 620 | # ------------------------------------------------------------------ |
568 | 621 | ||
569 | class ProjectToolBar(wx.ToolBar): | 622 | class ProjectToolBar(wx.ToolBar): |
570 | def __init__(self, parent): | 623 | def __init__(self, parent): |
571 | wx.ToolBar.__init__(self, parent, -1, wx.DefaultPosition, | 624 | wx.ToolBar.__init__(self, parent, -1, wx.DefaultPosition, |
572 | wx.DefaultSize, | 625 | wx.DefaultSize, |
573 | - wx.TB_FLAT|wx.TB_NODIVIDER | wx.TB_DOCKABLE) | 626 | + wx.TB_FLAT|wx.TB_NODIVIDER| wx.TB_DOCKABLE) |
574 | 627 | ||
575 | self.SetToolBitmapSize(wx.Size(32,32)) | 628 | self.SetToolBitmapSize(wx.Size(32,32)) |
576 | 629 | ||
@@ -686,9 +739,9 @@ class ProjectToolBar(wx.ToolBar): | @@ -686,9 +739,9 @@ class ProjectToolBar(wx.ToolBar): | ||
686 | event.Skip() | 739 | event.Skip() |
687 | 740 | ||
688 | 741 | ||
689 | - | ||
690 | - | ||
691 | - # ------------------------------------------------------------------ | 742 | +# ------------------------------------------------------------------ |
743 | +# ------------------------------------------------------------------ | ||
744 | +# ------------------------------------------------------------------ | ||
692 | 745 | ||
693 | class ObjectToolBar(wx.ToolBar): | 746 | class ObjectToolBar(wx.ToolBar): |
694 | def __init__(self, parent): | 747 | def __init__(self, parent): |
@@ -816,7 +869,10 @@ class ObjectToolBar(wx.ToolBar): | @@ -816,7 +869,10 @@ class ObjectToolBar(wx.ToolBar): | ||
816 | if state: | 869 | if state: |
817 | self.ToggleTool(id, False) | 870 | self.ToggleTool(id, False) |
818 | 871 | ||
819 | -# ------------------------------------------------------------------- | 872 | + |
873 | +# ------------------------------------------------------------------ | ||
874 | +# ------------------------------------------------------------------ | ||
875 | +# ------------------------------------------------------------------ | ||
820 | 876 | ||
821 | class SliceToolBar(wx.ToolBar): | 877 | class SliceToolBar(wx.ToolBar): |
822 | def __init__(self, parent): | 878 | def __init__(self, parent): |
@@ -905,10 +961,12 @@ class SliceToolBar(wx.ToolBar): | @@ -905,10 +961,12 @@ class SliceToolBar(wx.ToolBar): | ||
905 | if id == const.SLICE_STATE_CROSS: | 961 | if id == const.SLICE_STATE_CROSS: |
906 | ps.Publisher().sendMessage('Set cross visibility', 0) | 962 | ps.Publisher().sendMessage('Set cross visibility', 0) |
907 | 963 | ||
908 | -# --------------------------------------------------------------------- | 964 | + |
965 | +# ------------------------------------------------------------------ | ||
966 | +# ------------------------------------------------------------------ | ||
967 | +# ------------------------------------------------------------------ | ||
909 | 968 | ||
910 | class LayoutToolBar(wx.ToolBar): | 969 | class LayoutToolBar(wx.ToolBar): |
911 | - # TODO: what will appear in menubar? | ||
912 | def __init__(self, parent): | 970 | def __init__(self, parent): |
913 | wx.ToolBar.__init__(self, parent, -1, wx.DefaultPosition, | 971 | wx.ToolBar.__init__(self, parent, -1, wx.DefaultPosition, |
914 | wx.DefaultSize, | 972 | wx.DefaultSize, |