Commit 618278420364c5a7c6a1acb1ef0ad687097f9f46
1 parent
f6d61f6d
Exists in
master
and in
5 other branches
FIX: Resolve a problem about what the next surface's index is
Showing
4 changed files
with
8 additions
and
24 deletions
Show diff stats
invesalius/control.py
@@ -248,9 +248,6 @@ class Controller(): | @@ -248,9 +248,6 @@ class Controller(): | ||
248 | mask._set_class_index(proj.last_mask_index) | 248 | mask._set_class_index(proj.last_mask_index) |
249 | self.mask_dict_copy = proj.mask_dict.copy() | 249 | self.mask_dict_copy = proj.mask_dict.copy() |
250 | 250 | ||
251 | - surface = srf.Surface() | ||
252 | - surface._set_class_index(proj.last_surface_index) | ||
253 | - | ||
254 | self.LoadProject() | 251 | self.LoadProject() |
255 | 252 | ||
256 | Publisher.sendMessage('Update threshold limits', | 253 | Publisher.sendMessage('Update threshold limits', |
invesalius/data/surface.py
@@ -315,13 +315,12 @@ class SurfaceManager(): | @@ -315,13 +315,12 @@ class SurfaceManager(): | ||
315 | # self.actors_dict. | 315 | # self.actors_dict. |
316 | proj = prj.Project() | 316 | proj = prj.Project() |
317 | surface = proj.surface_dict[index] | 317 | surface = proj.surface_dict[index] |
318 | - if surface.is_shown: | ||
319 | - Publisher.sendMessage('Update surface info in GUI', | ||
320 | - (index, surface.name, | ||
321 | - surface.colour, surface.volume, | ||
322 | - surface.transparency)) | 318 | + Publisher.sendMessage('Update surface info in GUI', |
319 | + (index, surface.name, | ||
320 | + surface.colour, surface.volume, | ||
321 | + surface.transparency)) | ||
323 | self.last_surface_index = index | 322 | self.last_surface_index = index |
324 | - #self.ShowActor(index, True) | 323 | + self.ShowActor(index, True) |
325 | 324 | ||
326 | 325 | ||
327 | def OnLoadSurfaceDict(self, pubsub_evt): | 326 | def OnLoadSurfaceDict(self, pubsub_evt): |
invesalius/gui/data_notebook.py
@@ -685,10 +685,9 @@ class SurfacesListCtrlPanel(wx.ListCtrl, listmix.TextEditMixin): | @@ -685,10 +685,9 @@ class SurfacesListCtrlPanel(wx.ListCtrl, listmix.TextEditMixin): | ||
685 | def __bind_events_wx(self): | 685 | def __bind_events_wx(self): |
686 | self.Bind(wx.EVT_LIST_ITEM_ACTIVATED, self.OnItemActivated) | 686 | self.Bind(wx.EVT_LIST_ITEM_ACTIVATED, self.OnItemActivated) |
687 | self.Bind(wx.EVT_LIST_END_LABEL_EDIT, self.OnEditLabel) | 687 | self.Bind(wx.EVT_LIST_END_LABEL_EDIT, self.OnEditLabel) |
688 | - self.Bind(wx.EVT_LIST_ITEM_SELECTED, self.OnItemSelected_) | 688 | + #self.Bind(wx.EVT_LIST_ITEM_SELECTED, self.OnItemSelected_) |
689 | self.Bind(wx.EVT_KEY_UP, self.OnKeyEvent) | 689 | self.Bind(wx.EVT_KEY_UP, self.OnKeyEvent) |
690 | 690 | ||
691 | - | ||
692 | def OnKeyEvent(self, event): | 691 | def OnKeyEvent(self, event): |
693 | keycode = event.GetKeyCode() | 692 | keycode = event.GetKeyCode() |
694 | # Delete key | 693 | # Delete key |
@@ -697,13 +696,11 @@ class SurfacesListCtrlPanel(wx.ListCtrl, listmix.TextEditMixin): | @@ -697,13 +696,11 @@ class SurfacesListCtrlPanel(wx.ListCtrl, listmix.TextEditMixin): | ||
697 | elif (keycode == wx.WXK_DELETE): | 696 | elif (keycode == wx.WXK_DELETE): |
698 | self.RemoveSurfaces() | 697 | self.RemoveSurfaces() |
699 | 698 | ||
700 | - | ||
701 | def OnHideSurface(self, pubsub_evt): | 699 | def OnHideSurface(self, pubsub_evt): |
702 | surface_dict = pubsub_evt.data | 700 | surface_dict = pubsub_evt.data |
703 | for key in surface_dict: | 701 | for key in surface_dict: |
704 | if not surface_dict[key].is_shown: | 702 | if not surface_dict[key].is_shown: |
705 | self.SetItemImage(key, False) | 703 | self.SetItemImage(key, False) |
706 | - | ||
707 | 704 | ||
708 | def RemoveSurfaces(self): | 705 | def RemoveSurfaces(self): |
709 | """ | 706 | """ |
@@ -729,7 +726,6 @@ class SurfacesListCtrlPanel(wx.ListCtrl, listmix.TextEditMixin): | @@ -729,7 +726,6 @@ class SurfacesListCtrlPanel(wx.ListCtrl, listmix.TextEditMixin): | ||
729 | else: | 726 | else: |
730 | dlg.SurfaceSelectionRequiredForRemoval() | 727 | dlg.SurfaceSelectionRequiredForRemoval() |
731 | 728 | ||
732 | - | ||
733 | def OnCloseProject(self, pubsub_evt): | 729 | def OnCloseProject(self, pubsub_evt): |
734 | self.DeleteAllItems() | 730 | self.DeleteAllItems() |
735 | self.surface_list_index = {} | 731 | self.surface_list_index = {} |
@@ -790,7 +786,6 @@ class SurfacesListCtrlPanel(wx.ListCtrl, listmix.TextEditMixin): | @@ -790,7 +786,6 @@ class SurfacesListCtrlPanel(wx.ListCtrl, listmix.TextEditMixin): | ||
790 | 786 | ||
791 | self.image_gray = Image.open("../icons/object_colour.jpg") | 787 | self.image_gray = Image.open("../icons/object_colour.jpg") |
792 | 788 | ||
793 | - | ||
794 | def OnEditLabel(self, evt): | 789 | def OnEditLabel(self, evt): |
795 | Publisher.sendMessage('Change surface name', (evt.GetIndex(), evt.GetLabel())) | 790 | Publisher.sendMessage('Change surface name', (evt.GetIndex(), evt.GetLabel())) |
796 | evt.Skip() | 791 | evt.Skip() |
@@ -798,7 +793,6 @@ class SurfacesListCtrlPanel(wx.ListCtrl, listmix.TextEditMixin): | @@ -798,7 +793,6 @@ class SurfacesListCtrlPanel(wx.ListCtrl, listmix.TextEditMixin): | ||
798 | def OnItemActivated(self, evt): | 793 | def OnItemActivated(self, evt): |
799 | self.ToggleItem(evt.m_itemIndex) | 794 | self.ToggleItem(evt.m_itemIndex) |
800 | evt.Skip() | 795 | evt.Skip() |
801 | - | ||
802 | 796 | ||
803 | def OnCheckItem(self, index, flag): | 797 | def OnCheckItem(self, index, flag): |
804 | Publisher.sendMessage('Show surface', (index, flag)) | 798 | Publisher.sendMessage('Show surface', (index, flag)) |
@@ -836,8 +830,6 @@ class SurfacesListCtrlPanel(wx.ListCtrl, listmix.TextEditMixin): | @@ -836,8 +830,6 @@ class SurfacesListCtrlPanel(wx.ListCtrl, listmix.TextEditMixin): | ||
836 | if index not in self.surface_list_index: | 830 | if index not in self.surface_list_index: |
837 | image = self.CreateColourBitmap(colour) | 831 | image = self.CreateColourBitmap(colour) |
838 | image_index = self.imagelist.Add(image) | 832 | image_index = self.imagelist.Add(image) |
839 | - | ||
840 | - | ||
841 | 833 | ||
842 | index_list = self.surface_list_index.keys() | 834 | index_list = self.surface_list_index.keys() |
843 | self.surface_list_index[index] = image_index | 835 | self.surface_list_index[index] = image_index |
@@ -847,8 +839,6 @@ class SurfacesListCtrlPanel(wx.ListCtrl, listmix.TextEditMixin): | @@ -847,8 +839,6 @@ class SurfacesListCtrlPanel(wx.ListCtrl, listmix.TextEditMixin): | ||
847 | else: | 839 | else: |
848 | self.InsertNewItem(index, name, volume, transparency, colour) | 840 | self.InsertNewItem(index, name, volume, transparency, colour) |
849 | 841 | ||
850 | - | ||
851 | - | ||
852 | def InsertNewItem(self, index=0, label="Surface 1", volume="0 mm3", | 842 | def InsertNewItem(self, index=0, label="Surface 1", volume="0 mm3", |
853 | transparency="0%%", colour=None): | 843 | transparency="0%%", colour=None): |
854 | self.InsertStringItem(index, "") | 844 | self.InsertStringItem(index, "") |
@@ -865,7 +855,6 @@ class SurfacesListCtrlPanel(wx.ListCtrl, listmix.TextEditMixin): | @@ -865,7 +855,6 @@ class SurfacesListCtrlPanel(wx.ListCtrl, listmix.TextEditMixin): | ||
865 | self.SetStringItem(index, 2, volume) | 855 | self.SetStringItem(index, 2, volume) |
866 | self.SetStringItem(index, 3, transparency) | 856 | self.SetStringItem(index, 3, transparency) |
867 | self.SetItemImage(index, 1) | 857 | self.SetItemImage(index, 1) |
868 | - | ||
869 | 858 | ||
870 | def CreateColourBitmap(self, colour): | 859 | def CreateColourBitmap(self, colour): |
871 | """ | 860 | """ |
invesalius/project.py
@@ -303,13 +303,13 @@ class Project(object): | @@ -303,13 +303,13 @@ class Project(object): | ||
303 | m = msk.Mask() | 303 | m = msk.Mask() |
304 | m.OpenPList(filepath) | 304 | m.OpenPList(filepath) |
305 | self.mask_dict[m.index] = m | 305 | self.mask_dict[m.index] = m |
306 | - self.surface_dict = {} | ||
307 | 306 | ||
308 | # Opening the surfaces | 307 | # Opening the surfaces |
308 | + self.surface_dict = {} | ||
309 | for index in project["surfaces"]: | 309 | for index in project["surfaces"]: |
310 | filename = project["surfaces"][index] | 310 | filename = project["surfaces"][index] |
311 | filepath = os.path.join(dirpath, filename) | 311 | filepath = os.path.join(dirpath, filename) |
312 | - s = srf.Surface() | 312 | + s = srf.Surface(int(index)) |
313 | s.OpenPList(filepath) | 313 | s.OpenPList(filepath) |
314 | self.surface_dict[s.index] = s | 314 | self.surface_dict[s.index] = s |
315 | 315 | ||
@@ -322,7 +322,6 @@ class Project(object): | @@ -322,7 +322,6 @@ class Project(object): | ||
322 | measure.Load(measurements[index]) | 322 | measure.Load(measurements[index]) |
323 | self.measurement_dict[int(index)] = measure | 323 | self.measurement_dict[int(index)] = measure |
324 | 324 | ||
325 | - | ||
326 | def Compress(folder, filename): | 325 | def Compress(folder, filename): |
327 | tmpdir, tmpdir_ = os.path.split(folder) | 326 | tmpdir, tmpdir_ = os.path.split(folder) |
328 | current_dir = os.path.abspath(".") | 327 | current_dir = os.path.abspath(".") |