Skip to content

Commit ab623a0

Browse files
Merge pull request #1078 from mantidproject/1071_fix_gdos_intensity_bug
Fix for crash when changing GDOS on interactive cut
2 parents 09be8f4 + a211b3e commit ab623a0

File tree

3 files changed

+33
-15
lines changed

3 files changed

+33
-15
lines changed

src/mslice/plotting/plot_window/interactive_cut.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -160,7 +160,7 @@ def flip_axis(self):
160160
self.plot_cut(*self.rect.extents)
161161

162162
def window_closing(self):
163-
self.slice_plot.toggle_interactive_cuts(False)
163+
self.slice_plot.toggle_interactive_cuts()
164164
self.slice_plot.plot_window.action_interactive_cuts.setChecked(False)
165165

166166
def refresh_rect_selector(self, ax):

src/mslice/plotting/plot_window/slice_plot.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -520,11 +520,11 @@ def _update_lines(self):
520520
self.update_legend()
521521
self._canvas.draw()
522522

523-
def toggle_interactive_cuts(self, store=True):
524-
self.toggle_icut_button(store)
523+
def toggle_interactive_cuts(self):
524+
self.toggle_icut_button()
525525
self.toggle_icut()
526526

527-
def toggle_icut_button(self, store=True):
527+
def toggle_icut_button(self):
528528
if not self.icut:
529529
self.manager.picking_connected(False)
530530
if self.plot_window.action_zoom_in.isChecked():
@@ -545,7 +545,7 @@ def toggle_icut_button(self, store=True):
545545
self.plot_window.action_flip_axis.setVisible(False)
546546
self._canvas.setCursor(Qt.ArrowCursor)
547547
self.icut.set_icut_intensity_category(self.intensity_type)
548-
self.icut.store_icut_cut_upon_toggle_and_reset(store)
548+
self.icut.store_icut_cut_upon_toggle_and_reset(True)
549549
self.plot_window.menu_intensity.setDisabled(False)
550550

551551
def toggle_icut(self):

src/mslice/presenters/cut_plotter_presenter.py

Lines changed: 28 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,10 @@
99
from mslice.models.cut.cut_functions import compute_cut
1010
from mslice.models.labels import generate_legend
1111
from mslice.models.workspacemanager.workspace_algorithms import export_workspace_to_ads
12-
from mslice.models.workspacemanager.workspace_provider import get_workspace_handle
12+
from mslice.models.workspacemanager.workspace_provider import (
13+
add_workspace,
14+
get_workspace_handle,
15+
)
1316
import mslice.plotting.pyplot as plt
1417
from mslice.presenters.presenter_utility import PresenterUtility
1518
from mslice.plotting.plot_window.overplot_interface import (
@@ -18,7 +21,6 @@
1821
)
1922
from mslice.models.powder.powder_functions import compute_powder_line
2023
from mslice.models.intensity_correction_algs import sample_temperature
21-
from mslice.models.workspacemanager.workspace_provider import add_workspace
2224
from mslice.models.axis import Axis
2325
from mslice.util.intensity_correction import IntensityType, IntensityCache
2426
import warnings
@@ -350,24 +352,40 @@ def _show_intensity(self, cut_cache, intensity_correction):
350352
self._temp_cut_cache = []
351353

352354
def show_scattering_function(self, axes):
353-
self._show_intensity(
354-
self._cut_cache_dict[axes], IntensityType.SCATTERING_FUNCTION
355-
)
355+
for key, value in self._cut_cache_dict.items():
356+
if key == axes:
357+
self._show_intensity(value, IntensityType.SCATTERING_FUNCTION)
358+
break
356359

357360
def show_dynamical_susceptibility(self, axes):
358-
self._show_intensity(self._cut_cache_dict[axes], IntensityType.CHI)
361+
for key, value in self._cut_cache_dict.items():
362+
if key == axes:
363+
self._show_intensity(value, IntensityType.CHI)
364+
break
359365

360366
def show_dynamical_susceptibility_magnetic(self, axes):
361-
self._show_intensity(self._cut_cache_dict[axes], IntensityType.CHI_MAGNETIC)
367+
for key, value in self._cut_cache_dict.items():
368+
if key == axes:
369+
self._show_intensity(value, IntensityType.CHI_MAGNETIC)
370+
break
362371

363372
def show_d2sigma(self, axes):
364-
self._show_intensity(self._cut_cache_dict[axes], IntensityType.D2SIGMA)
373+
for key, value in self._cut_cache_dict.items():
374+
if key == axes:
375+
self._show_intensity(value, IntensityType.D2SIGMA)
376+
break
365377

366378
def show_symmetrised(self, axes):
367-
self._show_intensity(self._cut_cache_dict[axes], IntensityType.SYMMETRISED)
379+
for key, value in self._cut_cache_dict.items():
380+
if key == axes:
381+
self._show_intensity(value, IntensityType.SYMMETRISED)
382+
break
368383

369384
def show_gdos(self, axes):
370-
self._show_intensity(self._cut_cache_dict[axes], IntensityType.GDOS)
385+
for key, value in self._cut_cache_dict.items():
386+
if key == axes:
387+
self._show_intensity(value, IntensityType.GDOS)
388+
break
371389

372390
def set_sample_temperature(self, axes, ws_name, temp):
373391
cut_dict = {}

0 commit comments

Comments
 (0)