Commit a59c7159a0487b49cf3d42f245d84a05bc4b84d2
1 parent
789863a9
Exists in
master
and in
6 other branches
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") |