diff --git a/invesalius/gui/default_tasks.py b/invesalius/gui/default_tasks.py index 848abbf..72a461e 100755 --- a/invesalius/gui/default_tasks.py +++ b/invesalius/gui/default_tasks.py @@ -21,13 +21,15 @@ import wx import wx.lib.foldpanelbar as fpb import wx.lib.pubsub as ps +import constants as const +import data_notebook as nb +import session as ses import task_exporter as exporter import task_slice as slice_ import task_importer as importer import task_surface as surface import task_tools as tools - -import data_notebook as nb +import task_navigator as navigator def GetCollapsedIconData(): return \ @@ -200,71 +202,53 @@ class UpperTaskPanel(wx.Panel): self.enable_items = [] self.overwrite = False - # Fold 1 - Import + session = ses.Session() + print "session mode: ", session.mode + if int(session.mode) == const.MODE_RP: + tasks = [(_("InVesalius start"), importer.TaskPanel), + (_("Select region of interest"), slice_.TaskPanel), + (_("Configure 3D surface"), surface.TaskPanel), + (_("Export data"), exporter.TaskPanel)] + elif int(session.mode) == const.MODE_NAVIGATOR: + tasks = [(_("InVesalius start"), importer.TaskPanel), + (_("Select region of interest"), slice_.TaskPanel), + (_("Configure 3D surface"), surface.TaskPanel), + (_("Utilize navigation system"), navigator.TaskPanel)] + + for i in xrange(len(tasks)): + (name, panel) = tasks[i] + # Create panel + item = fold_panel.AddFoldPanel("%d. %s"%(i+1, name), + collapsed=True, + foldIcons=image_list) + style = fold_panel.GetCaptionStyle(item) + col = style.GetFirstColour() + + # Add panel to FoldPanel + fold_panel.AddFoldPanelWindow(item, + panel(item), + Spacing= 0, + leftSpacing=0, + rightSpacing=0) + + # All items, except the first one, should be disabled if. + # no data has been imported initially. + if i != 0: + self.enable_items.append(item) + + # If it is related to mask, this value should be kept + # It is used as reference to set mouse cursor related to + # slice editor. + if name == _("Select region of interest"): + self.__id_slice = item.GetId() - item = fold_panel.AddFoldPanel(_("1. InVesalius start"), collapsed=True, - foldIcons=image_list) - style = fold_panel.GetCaptionStyle(item) - col = style.GetFirstColour() - - - fold_panel.AddFoldPanelWindow(item, importer.TaskPanel(item), Spacing= 0, - leftSpacing=0, rightSpacing=0) fold_panel.Expand(fold_panel.GetFoldPanel(0)) - - # Fold 2 - Mask for segmentation and edition - - item = fold_panel.AddFoldPanel(_("2. Select region of interest"), - collapsed=True, foldIcons=image_list) - - - self.enable_items.append(item) - - style = fold_panel.GetCaptionStyle(item) - col = style.GetFirstColour() - slice_panel = slice_.TaskPanel(item) - fold_panel.AddFoldPanelWindow(item, slice_panel, Spacing= 0, - leftSpacing=0, rightSpacing=0) - self.__id_slice = item.GetId() - self.slice_panel = slice_panel - #fold_panel.Expand(fold_panel.GetFoldPanel(1)) - - # Fold 3 - # select mask - combo - # mesh quality - combo? - # apply button - # Contour - slider - # enable / disable Fill holes - item = fold_panel.AddFoldPanel(_("3. Configure 3D surface"), collapsed=True, - foldIcons=image_list) - style = fold_panel.GetCaptionStyle(item) - col = style.GetFirstColour() - - fold_panel.AddFoldPanelWindow(item, surface.TaskPanel(item), - Spacing= 0, leftSpacing=0, rightSpacing=0) - #fold_panel.Expand(fold_panel.GetFoldPanel(2)) - - self.enable_items.append(item) - - - # Fold 4 - # Export volume - item = fold_panel.AddFoldPanel(_("4. Export data"), collapsed=True, - foldIcons=image_list) - style = fold_panel.GetCaptionStyle(item) - col = style.GetFirstColour() - self.enable_items.append(item) - - fold_panel.AddFoldPanelWindow(item, exporter.TaskPanel(item), - Spacing= 0, leftSpacing=0, rightSpacing=0) - self.fold_panel = fold_panel self.SetStateProjectClose() self.__bind_events() - def __bind_events(self): self.fold_panel.Bind(fpb.EVT_CAPTIONBAR, self.OnFoldPressCaption) ps.Publisher().subscribe(self.OnEnableState, "Enable state project") -- libgit2 0.21.2