Commit a59c7159a0487b49cf3d42f245d84a05bc4b84d2

Authored by tatiana
1 parent 789863a9

ADD: Using mode set in session file to configure tasks in default task panel

Showing 1 changed file with 43 additions and 59 deletions   Show diff stats
invesalius/gui/default_tasks.py
... ... @@ -21,13 +21,15 @@ import wx
21 21 import wx.lib.foldpanelbar as fpb
22 22 import wx.lib.pubsub as ps
23 23  
  24 +import constants as const
  25 +import data_notebook as nb
  26 +import session as ses
24 27 import task_exporter as exporter
25 28 import task_slice as slice_
26 29 import task_importer as importer
27 30 import task_surface as surface
28 31 import task_tools as tools
29   -
30   -import data_notebook as nb
  32 +import task_navigator as navigator
31 33  
32 34 def GetCollapsedIconData():
33 35 return \
... ... @@ -200,71 +202,53 @@ class UpperTaskPanel(wx.Panel):
200 202 self.enable_items = []
201 203 self.overwrite = False
202 204  
203   - # Fold 1 - Import
  205 + session = ses.Session()
  206 + print "session mode: ", session.mode
  207 + if int(session.mode) == const.MODE_RP:
  208 + tasks = [(_("InVesalius start"), importer.TaskPanel),
  209 + (_("Select region of interest"), slice_.TaskPanel),
  210 + (_("Configure 3D surface"), surface.TaskPanel),
  211 + (_("Export data"), exporter.TaskPanel)]
  212 + elif int(session.mode) == const.MODE_NAVIGATOR:
  213 + tasks = [(_("InVesalius start"), importer.TaskPanel),
  214 + (_("Select region of interest"), slice_.TaskPanel),
  215 + (_("Configure 3D surface"), surface.TaskPanel),
  216 + (_("Utilize navigation system"), navigator.TaskPanel)]
  217 +
  218 + for i in xrange(len(tasks)):
  219 + (name, panel) = tasks[i]
  220 + # Create panel
  221 + item = fold_panel.AddFoldPanel("%d. %s"%(i+1, name),
  222 + collapsed=True,
  223 + foldIcons=image_list)
  224 + style = fold_panel.GetCaptionStyle(item)
  225 + col = style.GetFirstColour()
  226 +
  227 + # Add panel to FoldPanel
  228 + fold_panel.AddFoldPanelWindow(item,
  229 + panel(item),
  230 + Spacing= 0,
  231 + leftSpacing=0,
  232 + rightSpacing=0)
  233 +
  234 + # All items, except the first one, should be disabled if.
  235 + # no data has been imported initially.
  236 + if i != 0:
  237 + self.enable_items.append(item)
  238 +
  239 + # If it is related to mask, this value should be kept
  240 + # It is used as reference to set mouse cursor related to
  241 + # slice editor.
  242 + if name == _("Select region of interest"):
  243 + self.__id_slice = item.GetId()
204 244  
205   - item = fold_panel.AddFoldPanel(_("1. InVesalius start"), collapsed=True,
206   - foldIcons=image_list)
207   - style = fold_panel.GetCaptionStyle(item)
208   - col = style.GetFirstColour()
209   -
210   -
211 245  
212   - fold_panel.AddFoldPanelWindow(item, importer.TaskPanel(item), Spacing= 0,
213   - leftSpacing=0, rightSpacing=0)
214 246 fold_panel.Expand(fold_panel.GetFoldPanel(0))
215   -
216   - # Fold 2 - Mask for segmentation and edition
217   -
218   - item = fold_panel.AddFoldPanel(_("2. Select region of interest"),
219   - collapsed=True, foldIcons=image_list)
220   -
221   -
222   - self.enable_items.append(item)
223   -
224   - style = fold_panel.GetCaptionStyle(item)
225   - col = style.GetFirstColour()
226   - slice_panel = slice_.TaskPanel(item)
227   - fold_panel.AddFoldPanelWindow(item, slice_panel, Spacing= 0,
228   - leftSpacing=0, rightSpacing=0)
229   - self.__id_slice = item.GetId()
230   - self.slice_panel = slice_panel
231   - #fold_panel.Expand(fold_panel.GetFoldPanel(1))
232   -
233   - # Fold 3
234   - # select mask - combo
235   - # mesh quality - combo?
236   - # apply button
237   - # Contour - slider
238   - # enable / disable Fill holes
239   - item = fold_panel.AddFoldPanel(_("3. Configure 3D surface"), collapsed=True,
240   - foldIcons=image_list)
241   - style = fold_panel.GetCaptionStyle(item)
242   - col = style.GetFirstColour()
243   -
244   - fold_panel.AddFoldPanelWindow(item, surface.TaskPanel(item),
245   - Spacing= 0, leftSpacing=0, rightSpacing=0)
246   - #fold_panel.Expand(fold_panel.GetFoldPanel(2))
247   -
248   - self.enable_items.append(item)
249   -
250   -
251   - # Fold 4
252   - # Export volume
253   - item = fold_panel.AddFoldPanel(_("4. Export data"), collapsed=True,
254   - foldIcons=image_list)
255   - style = fold_panel.GetCaptionStyle(item)
256   - col = style.GetFirstColour()
257   - self.enable_items.append(item)
258   -
259   - fold_panel.AddFoldPanelWindow(item, exporter.TaskPanel(item),
260   - Spacing= 0, leftSpacing=0, rightSpacing=0)
261   -
262 247 self.fold_panel = fold_panel
263 248  
264 249 self.SetStateProjectClose()
265 250 self.__bind_events()
266 251  
267   -
268 252 def __bind_events(self):
269 253 self.fold_panel.Bind(fpb.EVT_CAPTIONBAR, self.OnFoldPressCaption)
270 254 ps.Publisher().subscribe(self.OnEnableState, "Enable state project")
... ...