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