Commit fd9af9765ad832e7ef49a8fa9acb206b3d310cbc
1 parent
2e98f651
Exists in
master
and in
68 other branches
ENC: Changed GUI related to raycasting set/not set and type
Showing
2 changed files
with
18 additions
and
5 deletions
Show diff stats
invesalius/constants.py
@@ -160,4 +160,5 @@ RAYCASTING_TYPES = [filename.split(".")[0] for filename in | @@ -160,4 +160,5 @@ RAYCASTING_TYPES = [filename.split(".")[0] for filename in | ||
160 | RAYCASTING_TYPES.append(' Off') | 160 | RAYCASTING_TYPES.append(' Off') |
161 | RAYCASTING_TYPES.sort() | 161 | RAYCASTING_TYPES.sort() |
162 | RAYCASTING_OFF_LABEL = ' Off' | 162 | RAYCASTING_OFF_LABEL = ' Off' |
163 | +RAYCASTING_TOOLS = ["Plane cutter"] | ||
163 | 164 |
invesalius/gui/default_viewers.py
@@ -188,6 +188,7 @@ ID_TO_BMP = {const.VOL_FRONT: ["Front", "../icons/view_front.png"], | @@ -188,6 +188,7 @@ ID_TO_BMP = {const.VOL_FRONT: ["Front", "../icons/view_front.png"], | ||
188 | } | 188 | } |
189 | 189 | ||
190 | ID_TO_NAME = {} | 190 | ID_TO_NAME = {} |
191 | +ID_TO_TOOL = {} | ||
191 | 192 | ||
192 | class VolumeViewerCover(wx.Panel): | 193 | class VolumeViewerCover(wx.Panel): |
193 | def __init__(self, parent): | 194 | def __init__(self, parent): |
@@ -215,6 +216,15 @@ class VolumeToolPanel(wx.Panel): | @@ -215,6 +216,15 @@ class VolumeToolPanel(wx.Panel): | ||
215 | if name == const.RAYCASTING_OFF_LABEL: | 216 | if name == const.RAYCASTING_OFF_LABEL: |
216 | item.Check(1) | 217 | item.Check(1) |
217 | ID_TO_NAME[id] = name | 218 | ID_TO_NAME[id] = name |
219 | + | ||
220 | + menu.AppendSeparator() | ||
221 | + submenu = wx.Menu() | ||
222 | + for tool in const.RAYCASTING_TOOLS: | ||
223 | + id = wx.NewId() | ||
224 | + item = wx.MenuItem(submenu, id, name, kind=wx.ITEM_CHECK) | ||
225 | + submenu.AppendItem(item) | ||
226 | + ID_TO_TOOL[id] = name | ||
227 | + | ||
218 | self.menu_raycasting = menu | 228 | self.menu_raycasting = menu |
219 | menu.Bind(wx.EVT_MENU, self.OnMenuRaycasting) | 229 | menu.Bind(wx.EVT_MENU, self.OnMenuRaycasting) |
220 | 230 | ||
@@ -262,11 +272,13 @@ class VolumeToolPanel(wx.Panel): | @@ -262,11 +272,13 @@ class VolumeToolPanel(wx.Panel): | ||
262 | 272 | ||
263 | def OnMenuRaycasting(self, evt): | 273 | def OnMenuRaycasting(self, evt): |
264 | """Events from raycasting menu.""" | 274 | """Events from raycasting menu.""" |
265 | - ps.Publisher().sendMessage('Load raycasting preset', | ||
266 | - ID_TO_NAME[evt.GetId()]) | ||
267 | - # ps.Publisher().sendMessage('Set raycasting preset', None) | ||
268 | - # ps.Publisher().sendMessage('Render volume viewer') | ||
269 | - | 275 | + id = evt.GetId() |
276 | + if id in ID_TO_NAME.keys(): | ||
277 | + ps.Publisher().sendMessage('Load raycasting preset', | ||
278 | + ID_TO_NAME[evt.GetId()]) | ||
279 | + else: | ||
280 | + ps.Publisher().sendMessage('Enable raycasting tool', | ||
281 | + ID_TO_TOOL(evt.GetId()) | ||
270 | 282 | ||
271 | def OnMenuView(self, evt): | 283 | def OnMenuView(self, evt): |
272 | """Events from button menus.""" | 284 | """Events from button menus.""" |