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