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 | 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") | ... | ... |