Oh, that's a bit nasty. The Analysis part of the data model has a class
called SpectrumWindowView. There is one spectrumWindowView for each
window and spectrum (it's used to store information such as whether the
contours are drawn in that window, etc.). It seems that somehow the
spectrumWindowView object passed into the ChangeAxisMappingPopup is
pointing to nothing, rather than to a valid spectrum. This is not a good
situation to be in. Now which spectrum a spectrumWindowView object is
pointing to is determined on the fly, each time you access the link. It
stores the spectrum key (i.e. the spectrum serial and the
spectrum.experiment serial) and uses that to figure out what the spectrum
should be. So it thinks the spectrum for that key no longer exists. I'm
not sure why it got into that state. If this problem persists for that
project we might have to go into the XML files and edit by hand. (Either
remove that spectrumWindowView if it does not belong, or fix the key.)
Wayne
On Tue, 16 Jan 2007, Justin Douglas wrote:
> I'm got the error message below when trying to tranpose a spectrum (that is
> change the dim mappings). I'm not exactly sure what is happening. I've
> done this in several projects with the same spectrum as the one with which I
> raised the below exception. At any rate,
>
> Exception in Tkinter callback
> Traceback (most recent call last):
> File "/sw/lib/python2.4/lib-tk/Tkinter.py", line 1345, in __call__
> return self.func(*args)
> File
> "/home/douglas/Documents/Programs/software/analysis/ccpnmr/ccpnmr1.0/python/memops/gui/Scrol
> edMatrix.py", line 576, in mouseDoubleClick
> self.editCell(row,col)
> File
> "/home/douglas/Documents/Programs/software/analysis/ccpnmr/ccpnmr1.0/python/memops/gui/Scrol
> edMatrix.py", line 523, in editCell
> editGetCallback(self.currentObject)
> File
> "/home/douglas/Documents/Programs/software/analysis/ccpnmr/ccpnmr1.0/python/ccpnmr/analysis/
> ditWindowSpectraPopup.py", line 223, in changeViewMapping
> popup = ChangeAxisMappingPopup(self, view)
> File
> "/home/douglas/Documents/Programs/software/analysis/ccpnmr/ccpnmr1.0/python/ccpnmr/analysis/
> hangeAxisMappingPopup.py", line 71, in __init__
> modal=True, transient=False, **kw)
> File
> "/home/douglas/Documents/Programs/software/analysis/ccpnmr/ccpnmr1.0/python/ccpnmr/analysis/
> asePopup.py", line 77, in __init__
> memops.editor.BasePopup.BasePopup.__init__(self, parent, *args, **kw)
> File
> "/home/douglas/Documents/Programs/software/analysis/ccpnmr/ccpnmr1.0/python/memops/editor/Ba
> ePopup.py", line 84, in __init__
> memops.gui.BasePopup.BasePopup.__init__(self, parent, *args, **kw)
> File
> "/home/douglas/Documents/Programs/software/analysis/ccpnmr/ccpnmr1.0/python/memops/gui/BaseP
> pup.py", line 125, in __init__
> self.initial_focus = self.body(frame)
> File
> "/home/douglas/Documents/Programs/software/analysis/ccpnmr/ccpnmr1.0/python/ccpnmr/analysis/
> hangeAxisMappingPopup.py", line 76, in body
> self.ndim = spectrum.numDim
> AttributeError: 'NoneType' object has no attribute 'numDim'
>
|