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,13 +21,15 @@ import wx
21 import wx.lib.foldpanelbar as fpb 21 import wx.lib.foldpanelbar as fpb
22 import wx.lib.pubsub as ps 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 import task_exporter as exporter 27 import task_exporter as exporter
25 import task_slice as slice_ 28 import task_slice as slice_
26 import task_importer as importer 29 import task_importer as importer
27 import task_surface as surface 30 import task_surface as surface
28 import task_tools as tools 31 import task_tools as tools
29 -  
30 -import data_notebook as nb 32 +import task_navigator as navigator
31 33
32 def GetCollapsedIconData(): 34 def GetCollapsedIconData():
33 return \ 35 return \
@@ -200,71 +202,53 @@ class UpperTaskPanel(wx.Panel): @@ -200,71 +202,53 @@ class UpperTaskPanel(wx.Panel):
200 self.enable_items = [] 202 self.enable_items = []
201 self.overwrite = False 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 fold_panel.Expand(fold_panel.GetFoldPanel(0)) 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 self.fold_panel = fold_panel 247 self.fold_panel = fold_panel
263 248
264 self.SetStateProjectClose() 249 self.SetStateProjectClose()
265 self.__bind_events() 250 self.__bind_events()
266 251
267 -  
268 def __bind_events(self): 252 def __bind_events(self):
269 self.fold_panel.Bind(fpb.EVT_CAPTIONBAR, self.OnFoldPressCaption) 253 self.fold_panel.Bind(fpb.EVT_CAPTIONBAR, self.OnFoldPressCaption)
270 ps.Publisher().subscribe(self.OnEnableState, "Enable state project") 254 ps.Publisher().subscribe(self.OnEnableState, "Enable state project")