Commit 618278420364c5a7c6a1acb1ef0ad687097f9f46

Authored by tfmoraes
1 parent f6d61f6d

FIX: Resolve a problem about what the next surface's index is

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