diff --git a/larch/wxxas/taskpanel.py b/larch/wxxas/taskpanel.py index 24061bd21..325c96f38 100644 --- a/larch/wxxas/taskpanel.py +++ b/larch/wxxas/taskpanel.py @@ -240,6 +240,11 @@ def ensure_xas_processed(self, dgroup): if self.is_xasgroup(dgroup) and (not hasattr(dgroup, 'norm') or not hasattr(dgroup, 'e0')): self.parent.process_normalization(dgroup, force=True) + if not hasattr(dgroup, 'xplot'): + if hasattr(dgroup, 'xdat'): + dgroup.xplot = deepcopy(dgroup.xdat) + elif hasattr(dgroup, 'energy'): + dgroup.xplot = deepcopy(dgroup.energy) def make_fit_xspace_widgets(self, elo=-1, ehi=1): self.wids['fitspace_label'] = SimpleText(self.panel, 'Fit Range (eV):') diff --git a/larch/wxxas/xasnorm_panel.py b/larch/wxxas/xasnorm_panel.py index bf1369cd7..216d1e6e7 100644 --- a/larch/wxxas/xasnorm_panel.py +++ b/larch/wxxas/xasnorm_panel.py @@ -63,7 +63,6 @@ def get_auto_nnorm(norm1, norm2): if nrange < 30: nnorm = 0 return nnorm - class XASNormPanel(TaskPanel): """XAS normalization Panel""" def __init__(self, parent, controller=None, **kws): @@ -1083,11 +1082,7 @@ def plot(self, dgroup, title=None, plot_yarrays=None, yoff=0, if groupname is None: return - if not hasattr(dgroup, 'xplot'): - if hasattr(dgroup, 'xdat'): - dgroup.xplot = deepcopy(dgroup.xdat) - elif hasattr(dgroup, 'energy'): - dgroup.xplot = deepcopy(dgroup.energy) + self.ensure_xas_processed(dgroup) if ((getattr(dgroup, 'plot_yarrays', None) is None or getattr(dgroup, 'energy', None) is None or