Commit c281f9ee553c47f67b39f1531c89093b27289d44
1 parent
9005b9a8
Exists in
master
and in
6 other branches
FIX: Measurements removal
Showing
2 changed files
with
16 additions
and
6 deletions
Show diff stats
invesalius/gui/data_notebook.py
@@ -954,25 +954,32 @@ class MeasuresListCtrlPanel(wx.ListCtrl, listmix.TextEditMixin): | @@ -954,25 +954,32 @@ class MeasuresListCtrlPanel(wx.ListCtrl, listmix.TextEditMixin): | ||
954 | """ | 954 | """ |
955 | Remove items selected. | 955 | Remove items selected. |
956 | """ | 956 | """ |
957 | + print "data_notebook: RemoveMeasurements" | ||
957 | # it is necessary to update internal dictionary | 958 | # it is necessary to update internal dictionary |
958 | # that maps bitmap given item index | 959 | # that maps bitmap given item index |
959 | selected_items = self.GetSelected() | 960 | selected_items = self.GetSelected() |
961 | + selected_items.sort(reverse=True) | ||
962 | + print "selected_items", selected_items | ||
960 | old_dict = self._list_index | 963 | old_dict = self._list_index |
961 | new_dict = {} | 964 | new_dict = {} |
965 | + print " self._list_index before", self._list_index | ||
962 | if selected_items: | 966 | if selected_items: |
963 | for index in selected_items: | 967 | for index in selected_items: |
968 | + print "----- index", index | ||
964 | self.DeleteItem(index) | 969 | self.DeleteItem(index) |
970 | + print "----- old_dict before", old_dict | ||
965 | for i in old_dict: | 971 | for i in old_dict: |
966 | if i < index: | 972 | if i < index: |
967 | new_dict[i] = old_dict[i] | 973 | new_dict[i] = old_dict[i] |
968 | if i > index: | 974 | if i > index: |
969 | new_dict[i-1] = old_dict[i] | 975 | new_dict[i-1] = old_dict[i] |
970 | old_dict = new_dict | 976 | old_dict = new_dict |
977 | + print "----- old_dict after", old_dict | ||
971 | self._list_index = new_dict | 978 | self._list_index = new_dict |
972 | - | ||
973 | ps.Publisher().sendMessage('Remove measurements', selected_items) | 979 | ps.Publisher().sendMessage('Remove measurements', selected_items) |
974 | else: | 980 | else: |
975 | - dlg.MeasureSelectionRequiredForRemoval() | 981 | + dlg.MeasureSelectionRequiredForRemoval() |
982 | + print " self._list_index after", self._list_index | ||
976 | 983 | ||
977 | 984 | ||
978 | def OnCloseProject(self, pubsub_evt): | 985 | def OnCloseProject(self, pubsub_evt): |
@@ -1095,14 +1102,16 @@ class MeasuresListCtrlPanel(wx.ListCtrl, listmix.TextEditMixin): | @@ -1095,14 +1102,16 @@ class MeasuresListCtrlPanel(wx.ListCtrl, listmix.TextEditMixin): | ||
1095 | 1102 | ||
1096 | 1103 | ||
1097 | def AddItem_(self, pubsub_evt): | 1104 | def AddItem_(self, pubsub_evt): |
1105 | + print "notebook: AddItem_" | ||
1106 | + print "self._list_index before:", self._list_index | ||
1098 | index = pubsub_evt.data[0] | 1107 | index = pubsub_evt.data[0] |
1108 | + print "index", index | ||
1099 | name = pubsub_evt.data[1] | 1109 | name = pubsub_evt.data[1] |
1100 | colour = pubsub_evt.data[2] | 1110 | colour = pubsub_evt.data[2] |
1101 | location = pubsub_evt.data[3] | 1111 | location = pubsub_evt.data[3] |
1102 | type_ = pubsub_evt.data[4] | 1112 | type_ = pubsub_evt.data[4] |
1103 | value = pubsub_evt.data[5] | 1113 | value = pubsub_evt.data[5] |
1104 | 1114 | ||
1105 | - | ||
1106 | if index not in self._list_index: | 1115 | if index not in self._list_index: |
1107 | image = self.CreateColourBitmap(colour) | 1116 | image = self.CreateColourBitmap(colour) |
1108 | image_index = self.imagelist.Add(image) | 1117 | image_index = self.imagelist.Add(image) |
@@ -1119,6 +1128,7 @@ class MeasuresListCtrlPanel(wx.ListCtrl, listmix.TextEditMixin): | @@ -1119,6 +1128,7 @@ class MeasuresListCtrlPanel(wx.ListCtrl, listmix.TextEditMixin): | ||
1119 | 1128 | ||
1120 | def InsertNewItem(self, index=0, label="Measurement 1", colour=None, | 1129 | def InsertNewItem(self, index=0, label="Measurement 1", colour=None, |
1121 | type_="LINEAR", location="SURFACE", value="0 mm"): | 1130 | type_="LINEAR", location="SURFACE", value="0 mm"): |
1131 | + print "InsertNewItem" | ||
1122 | self.InsertStringItem(index, "") | 1132 | self.InsertStringItem(index, "") |
1123 | self.SetStringItem(index, 1, label, | 1133 | self.SetStringItem(index, 1, label, |
1124 | imageId = self._list_index[index]) | 1134 | imageId = self._list_index[index]) |
@@ -1126,16 +1136,18 @@ class MeasuresListCtrlPanel(wx.ListCtrl, listmix.TextEditMixin): | @@ -1126,16 +1136,18 @@ class MeasuresListCtrlPanel(wx.ListCtrl, listmix.TextEditMixin): | ||
1126 | self.SetStringItem(index, 3, location) | 1136 | self.SetStringItem(index, 3, location) |
1127 | self.SetStringItem(index, 4, value) | 1137 | self.SetStringItem(index, 4, value) |
1128 | self.SetItemImage(index, 1) | 1138 | self.SetItemImage(index, 1) |
1139 | + self.Refresh() | ||
1129 | 1140 | ||
1130 | def UpdateItemInfo(self, index=0, label="Measurement 1", colour=None, | 1141 | def UpdateItemInfo(self, index=0, label="Measurement 1", colour=None, |
1131 | type_="LINEAR", location="SURFACE", value="0 mm"): | 1142 | type_="LINEAR", location="SURFACE", value="0 mm"): |
1143 | + print "UpdateItemInfo" | ||
1132 | self.SetStringItem(index, 1, label, | 1144 | self.SetStringItem(index, 1, label, |
1133 | imageId = self._list_index[index]) | 1145 | imageId = self._list_index[index]) |
1134 | self.SetStringItem(index, 2, type_) | 1146 | self.SetStringItem(index, 2, type_) |
1135 | self.SetStringItem(index, 3, location) | 1147 | self.SetStringItem(index, 3, location) |
1136 | self.SetStringItem(index, 4, value) | 1148 | self.SetStringItem(index, 4, value) |
1137 | self.SetItemImage(index, 1) | 1149 | self.SetItemImage(index, 1) |
1138 | - | 1150 | + self.Refresh() |
1139 | 1151 | ||
1140 | def CreateColourBitmap(self, colour): | 1152 | def CreateColourBitmap(self, colour): |
1141 | """ | 1153 | """ |
invesalius/project.py
@@ -171,9 +171,7 @@ class Project(object): | @@ -171,9 +171,7 @@ class Project(object): | ||
171 | if i > index: | 171 | if i > index: |
172 | new_dict[i-1] = self.measurement_dict[i] | 172 | new_dict[i-1] = self.measurement_dict[i] |
173 | new_dict[i-1].index = i-1 | 173 | new_dict[i-1].index = i-1 |
174 | - print " dict before:", self.measurement_dict | ||
175 | self.measurement_dict = new_dict | 174 | self.measurement_dict = new_dict |
176 | - print " dict after:", self.measurement_dict | ||
177 | 175 | ||
178 | 176 | ||
179 | def SetAcquisitionModality(self, type_=None): | 177 | def SetAcquisitionModality(self, type_=None): |