Commit 27fc72c2fff36b9780fb7b4b75862db45366a68c
1 parent
c9ebe754
Exists in
master
and in
54 other branches
Removing incomplete measures when the measure style is disabled
Showing
2 changed files
with
26 additions
and
0 deletions
Show diff stats
invesalius/data/measures.py
... | ... | @@ -38,6 +38,8 @@ class MeasurementManager(object): |
38 | 38 | Publisher.subscribe(self._remove_measurements, "Remove measurements") |
39 | 39 | Publisher.subscribe(self._set_visibility, "Show measurement") |
40 | 40 | Publisher.subscribe(self._load_measurements, "Load measurement dict") |
41 | + Publisher.subscribe(self._rm_incomplete_measurements, | |
42 | + "Remove incomplete measurements") | |
41 | 43 | |
42 | 44 | def _load_measurements(self, pubsub_evt): |
43 | 45 | try: |
... | ... | @@ -207,6 +209,27 @@ class MeasurementManager(object): |
207 | 209 | else: |
208 | 210 | Publisher.sendMessage('Update slice viewer') |
209 | 211 | |
212 | + def _rm_incomplete_measurements(self, pubsub_evt): | |
213 | + if self.current is None: | |
214 | + return | |
215 | + | |
216 | + mr = self.current[1] | |
217 | + print "RM INC M", self.current, mr.IsComplete() | |
218 | + if not mr.IsComplete(): | |
219 | + print "---To REMOVE" | |
220 | + actors = mr.GetActors() | |
221 | + slice_number = self.current[0].slice_number | |
222 | + Publisher.sendMessage(('Remove actors ' + str(self.current[0].location)), | |
223 | + (actors, slice_number)) | |
224 | + if self.current[0].location == const.SURFACE: | |
225 | + Publisher.sendMessage('Render volume viewer') | |
226 | + else: | |
227 | + Publisher.sendMessage('Update slice viewer') | |
228 | + | |
229 | + if self.measures: | |
230 | + self.measures.pop() | |
231 | + self.current = None | |
232 | + | |
210 | 233 | |
211 | 234 | class Measurement(): |
212 | 235 | general_index = -1 | ... | ... |
invesalius/data/styles.py
... | ... | @@ -314,6 +314,9 @@ class LinearMeasureInteractorStyle(DefaultInteractorStyle): |
314 | 314 | slice_number, self.radius)) |
315 | 315 | self.viewer.interactor.Render() |
316 | 316 | |
317 | + def CleanUp(self): | |
318 | + Publisher.sendMessage("Remove incomplete measurements") | |
319 | + | |
317 | 320 | |
318 | 321 | class AngularMeasureInteractorStyle(DefaultInteractorStyle): |
319 | 322 | """ | ... | ... |