BCDA-APS / mdaviz

Data visualization for mda
https://bcda-aps.github.io/mdaviz/
Other
3 stars 0 forks source link

Replace button triggers update_basic_maths with error #63

Closed rodolakis closed 8 months ago

rodolakis commented 8 months ago
doPlot called with action: replace, args: ('replace', {'Y': [1, 6, 12], 'X': 0})
[]
Traceback (most recent call last):
  File "/Users/fannysimoes/src/mdaviz/mdaviz/chartview.py", line 307, in update_basic_math
    x = self.line2D[current_label][1]
        ~~~~~~~~~~~^^^^^^^^^^^^^^^
KeyError: 'mda_0006: S:SRcurrentAI.VAL  (mA)'
['mda_0006: S:SRcurrentAI.VAL  (mA)']
[]
Traceback (most recent call last):
  File "/Users/fannysimoes/src/mdaviz/mdaviz/chartview.py", line 307, in update_basic_math
    x = self.line2D[current_label][1]
        ~~~~~~~~~~~^^^^^^^^^^^^^^^
KeyError: 'mda_0006: S:SRcurrentAI.VAL  (mA)'
['mda_0006: S:SRcurrentAI.VAL  (mA)', 'mda_0006: 29idb:ca1:read  (a.u.)']
[]
Traceback (most recent call last):
  File "/Users/fannysimoes/src/mdaviz/mdaviz/chartview.py", line 307, in update_basic_math
    x = self.line2D[current_label][1]
        ~~~~~~~~~~~^^^^^^^^^^^^^^^
KeyError: 'mda_0006: S:SRcurrentAI.VAL  (mA)'
['mda_0006: S:SRcurrentAI.VAL  (mA)', 'mda_0006: 29idb:ca1:read  (a.u.)', 'mda_0006: 29idb:ca12:read  (a.u.)']

if I try to disconnect replace button:

    # try:
    #     self.replaceButton.clicked.disconnect()
    # except TypeError:
    #     pass  # No connection exists

I get crazy trigger:

pplication started ...
Folder path: '/Users/fannysimoes/src/mdaviz/mdaviz/data/test_folder1'
Selected file: mda_0006.mda
doPlot called with action: replace, args: ('replace', {'X': 0, 'Y': [1]})
['mda_0006: S:SRcurrentAI.VAL  (mA)']
doPlot called with action: add, args: ('add', {'Y': [1], 'X': 0})
doPlot called with action: add, args: ('add', {'Y': [1], 'X': 0})
doPlot called with action: add, args: ('add', {'Y': [1], 'X': 0})
doPlot called with action: add, args: ('add', {'Y': [1], 'X': 0})
doPlot called with action: add, args: ('add', {'Y': [1, 10, 16], 'X': 0})
['mda_0006: S:SRcurrentAI.VAL  (mA)', 'mda_0006: 29idb:ca5:read  (a.u.)']
['mda_0006: S:SRcurrentAI.VAL  (mA)', 'mda_0006: 29idb:ca5:read  (a.u.)', 'mda_0006: 29idc:ca1:read  (a.u.)']
doPlot called with action: add, args: ('add', {'Y': [1, 10, 16], 'X': 0})
doPlot called with action: add, args: ('add', {'Y': [1, 10, 16], 'X': 0})
doPlot called with action: add, args: ('add', {'Y': [1, 10, 16], 'X': 0})
doPlot called with action: replace, args: ('replace', {'Y': [1, 10, 16], 'X': 0})
['mda_0006: S:SRcurrentAI.VAL  (mA)', 'mda_0006: 29idb:ca5:read  (a.u.)', 'mda_0006: 29idc:ca1:read  (a.u.)']
['mda_0006: S:SRcurrentAI.VAL  (mA)']
['mda_0006: S:SRcurrentAI.VAL  (mA)', 'mda_0006: 29idb:ca5:read  (a.u.)', 'mda_0006: 29idc:ca1:read  (a.u.)']
['mda_0006: S:SRcurrentAI.VAL  (mA)', 'mda_0006: 29idb:ca5:read  (a.u.)']
['mda_0006: S:SRcurrentAI.VAL  (mA)', 'mda_0006: 29idb:ca5:read  (a.u.)', 'mda_0006: 29idc:ca1:read  (a.u.)']
['mda_0006: S:SRcurrentAI.VAL  (mA)', 'mda_0006: 29idb:ca5:read  (a.u.)', 'mda_0006: 29idc:ca1:read  (a.u.)']
doPlot called with action: replace, args: ('replace', {'Y': [1, 10, 16], 'X': 0})
['mda_0006: S:SRcurrentAI.VAL  (mA)', 'mda_0006: 29idb:ca5:read  (a.u.)', 'mda_0006: 29idc:ca1:read  (a.u.)']
['mda_0006: S:SRcurrentAI.VAL  (mA)', 'mda_0006: 29idb:ca5:read  (a.u.)', 'mda_0006: 29idc:ca1:read  (a.u.)']
['mda_0006: S:SRcurrentAI.VAL  (mA)']
['mda_0006: S:SRcurrentAI.VAL  (mA)', 'mda_0006: 29idb:ca5:read  (a.u.)', 'mda_0006: 29idc:ca1:read  (a.u.)']
['mda_0006: S:SRcurrentAI.VAL  (mA)', 'mda_0006: 29idb:ca5:read  (a.u.)', 'mda_0006: 29idc:ca1:read  (a.u.)']
['mda_0006: S:SRcurrentAI.VAL  (mA)', 'mda_0006: 29idb:ca5:read  (a.u.)']
['mda_0006: S:SRcurrentAI.VAL  (mA)', 'mda_0006: 29idb:ca5:read  (a.u.)', 'mda_0006: 29idc:ca1:read  (a.u.)']
['mda_0006: S:SRcurrentAI.VAL  (mA)', 'mda_0006: 29idb:ca5:read  (a.u.)', 'mda_0006: 29idc:ca1:read  (a.u.)']
['mda_0006: S:SRcurrentAI.VAL  (mA)', 'mda_0006: 29idb:ca5:read  (a.u.)', 'mda_0006: 29idc:ca1:read  (a.u.)']
doPlot called with action: replace, args: ('replace', {'Y': [1, 10, 16], 'X': 0})
['mda_0006: S:SRcurrentAI.VAL  (mA)', 'mda_0006: 29idb:ca5:read  (a.u.)', 'mda_0006: 29idc:ca1:read  (a.u.)']
['mda_0006: S:SRcurrentAI.VAL  (mA)', 'mda_0006: 29idb:ca5:read  (a.u.)', 'mda_0006: 29idc:ca1:read  (a.u.)']
['mda_0006: S:SRcurrentAI.VAL  (mA)', 'mda_0006: 29idb:ca5:read  (a.u.)', 'mda_0006: 29idc:ca1:read  (a.u.)']
['mda_0006: S:SRcurrentAI.VAL  (mA)']
['mda_0006: S:SRcurrentAI.VAL  (mA)', 'mda_0006: 29idb:ca5:read  (a.u.)', 'mda_0006: 29idc:ca1:read  (a.u.)']
['mda_0006: S:SRcurrentAI.VAL  (mA)', 'mda_0006: 29idb:ca5:read  (a.u.)', 'mda_0006: 29idc:ca1:read  (a.u.)']
['mda_0006: S:SRcurrentAI.VAL  (mA)', 'mda_0006: 29idb:ca5:read  (a.u.)', 'mda_0006: 29idc:ca1:read  (a.u.)']
['mda_0006: S:SRcurrentAI.VAL  (mA)', 'mda_0006: 29idb:ca5:read  (a.u.)']
['mda_0006: S:SRcurrentAI.VAL  (mA)', 'mda_0006: 29idb:ca5:read  (a.u.)', 'mda_0006: 29idc:ca1:read  (a.u.)']
['mda_0006: S:SRcurrentAI.VAL  (mA)', 'mda_0006: 29idb:ca5:read  (a.u.)', 'mda_0006: 29idc:ca1:read  (a.u.)']
['mda_0006: S:SRcurrentAI.VAL  (mA)', 'mda_0006: 29idb:ca5:read  (a.u.)', 'mda_0006: 29idc:ca1:read  (a.u.)']
['mda_0006: S:SRcurrentAI.VAL  (mA)', 'mda_0006: 29idb:ca5:read  (a.u.)', 'mda_0006: 29idc:ca1:read  (a.u.)']
doPlot called with action: replace, args: ('replace', {'Y': [1, 10, 16], 'X': 0})
['mda_0006: S:SRcurrentAI.VAL  (mA)', 'mda_0006: 29idb:ca5:read  (a.u.)', 'mda_0006: 29idc:ca1:read  (a.u.)']
['mda_0006: S:SRcurrentAI.VAL  (mA)', 'mda_0006: 29idb:ca5:read  (a.u.)', 'mda_0006: 29idc:ca1:read  (a.u.)']
['mda_0006: S:SRcurrentAI.VAL  (mA)', 'mda_0006: 29idb:ca5:read  (a.u.)', 'mda_0006: 29idc:ca1:read  (a.u.)']
['mda_0006: S:SRcurrentAI.VAL  (mA)', 'mda_0006: 29idb:ca5:read  (a.u.)', 'mda_0006: 29idc:ca1:read  (a.u.)']
['mda_0006: S:SRcurrentAI.VAL  (mA)']
['mda_0006: S:SRcurrentAI.VAL  (mA)', 'mda_0006: 29idb:ca5:read  (a.u.)', 'mda_0006: 29idc:ca1:read  (a.u.)']
['mda_0006: S:SRcurrentAI.VAL  (mA)', 'mda_0006: 29idb:ca5:read  (a.u.)', 'mda_0006: 29idc:ca1:read  (a.u.)']
['mda_0006: S:SRcurrentAI.VAL  (mA)', 'mda_0006: 29idb:ca5:read  (a.u.)', 'mda_0006: 29idc:ca1:read  (a.u.)']
['mda_0006: S:SRcurrentAI.VAL  (mA)', 'mda_0006: 29idb:ca5:read  (a.u.)', 'mda_0006: 29idc:ca1:read  (a.u.)']
['mda_0006: S:SRcurrentAI.VAL  (mA)', 'mda_0006: 29idb:ca5:read  (a.u.)']
['mda_0006: S:SRcurrentAI.VAL  (mA)', 'mda_0006: 29idb:ca5:read  (a.u.)', 'mda_0006: 29idc:ca1:read  (a.u.)']
['mda_0006: S:SRcurrentAI.VAL  (mA)', 'mda_0006: 29idb:ca5:read  (a.u.)', 'mda_0006: 29idc:ca1:read  (a.u.)']
['mda_0006: S:SRcurrentAI.VAL  (mA)', 'mda_0006: 29idb:ca5:read  (a.u.)', 'mda_0006: 29idc:ca1:read  (a.u.)']
['mda_0006: S:SRcurrentAI.VAL  (mA)', 'mda_0006: 29idb:ca5:read  (a.u.)', 'mda_0006: 29idc:ca1:read  (a.u.)']
['mda_0006: S:SRcurrentAI.VAL  (mA)', 'mda_0006: 29idb:ca5:read  (a.u.)', 'mda_0006: 29idc:ca1:read  (a.u.)']
doPlot called with action: replace, args: ('replace', {'Y': [1, 10, 16], 'X': 0})
['mda_0006: S:SRcurrentAI.VAL  (mA)', 'mda_0006: 29idb:ca5:read  (a.u.)', 'mda_0006: 29idc:ca1:read  (a.u.)']
['mda_0006: S:SRcurrentAI.VAL  (mA)', 'mda_0006: 29idb:ca5:read  (a.u.)', 'mda_0006: 29idc:ca1:read  (a.u.)']
['mda_0006: S:SRcurrentAI.VAL  (mA)', 'mda_0006: 29idb:ca5:read  (a.u.)', 'mda_0006: 29idc:ca1:read  (a.u.)']
['mda_0006: S:SRcurrentAI.VAL  (mA)', 'mda_0006: 29idb:ca5:read  (a.u.)', 'mda_0006: 29idc:ca1:read  (a.u.)']
['mda_0006: S:SRcurrentAI.VAL  (mA)', 'mda_0006: 29idb:ca5:read  (a.u.)', 'mda_0006: 29idc:ca1:read  (a.u.)']
['mda_0006: S:SRcurrentAI.VAL  (mA)']
['mda_0006: S:SRcurrentAI.VAL  (mA)', 'mda_0006: 29idb:ca5:read  (a.u.)', 'mda_0006: 29idc:ca1:read  (a.u.)']
['mda_0006: S:SRcurrentAI.VAL  (mA)', 'mda_0006: 29idb:ca5:read  (a.u.)', 'mda_0006: 29idc:ca1:read  (a.u.)']
['mda_0006: S:SRcurrentAI.VAL  (mA)', 'mda_0006: 29idb:ca5:read  (a.u.)', 'mda_0006: 29idc:ca1:read  (a.u.)']
['mda_0006: S:SRcurrentAI.VAL  (mA)', 'mda_0006: 29idb:ca5:read  (a.u.)', 'mda_0006: 29idc:ca1:read  (a.u.)']
['mda_0006: S:SRcurrentAI.VAL  (mA)', 'mda_0006: 29idb:ca5:read  (a.u.)', 'mda_0006: 29idc:ca1:read  (a.u.)']
['mda_0006: S:SRcurrentAI.VAL  (mA)', 'mda_0006: 29idb:ca5:read  (a.u.)']
['mda_0006: S:SRcurrentAI.VAL  (mA)', 'mda_0006: 29idb:ca5:read  (a.u.)', 'mda_0006: 29idc:ca1:read  (a.u.)']
['mda_0006: S:SRcurrentAI.VAL  (mA)', 'mda_0006: 29idb:ca5:read  (a.u.)', 'mda_0006: 29idc:ca1:read  (a.u.)']
['mda_0006: S:SRcurrentAI.VAL  (mA)', 'mda_0006: 29idb:ca5:read  (a.u.)', 'mda_0006: 29idc:ca1:read  (a.u.)']
['mda_0006: S:SRcurrentAI.VAL  (mA)', 'mda_0006: 29idb:ca5:read  (a.u.)', 'mda_0006: 29idc:ca1:read  (a.u.)']
['mda_0006: S:SRcurrentAI.VAL  (mA)', 'mda_0006: 29idb:ca5:read  (a.u.)', 'mda_0006: 29idc:ca1:read  (a.u.)']
['mda_0006: S:SRcurrentAI.VAL  (mA)', 'mda_0006: 29idb:ca5:read  (a.u.)', 'mda_0006: 29idc:ca1:read  (a.u.)']

doPlot called with action: replace, args: ('replace', {'Y': [1, 10, 16], 'X': 0})
['mda_0006: S:SRcurrentAI.VAL  (mA)', 'mda_0006: 29idb:ca5:read  (a.u.)', 'mda_0006: 29idc:ca1:read  (a.u.)']
['mda_0006: S:SRcurrentAI.VAL  (mA)', 'mda_0006: 29idb:ca5:read  (a.u.)', 'mda_0006: 29idc:ca1:read  (a.u.)']
['mda_0006: S:SRcurrentAI.VAL  (mA)', 'mda_0006: 29idb:ca5:read  (a.u.)', 'mda_0006: 29idc:ca1:read  (a.u.)']
['mda_0006: S:SRcurrentAI.VAL  (mA)', 'mda_0006: 29idb:ca5:read  (a.u.)', 'mda_0006: 29idc:ca1:read  (a.u.)']
['mda_0006: S:SRcurrentAI.VAL  (mA)', 'mda_0006: 29idb:ca5:read  (a.u.)', 'mda_0006: 29idc:ca1:read  (a.u.)']
['mda_0006: S:SRcurrentAI.VAL  (mA)', 'mda_0006: 29idb:ca5:read  (a.u.)', 'mda_0006: 29idc:ca1:read  (a.u.)']
['mda_0006: S:SRcurrentAI.VAL  (mA)']
['mda_0006: S:SRcurrentAI.VAL  (mA)', 'mda_0006: 29idb:ca5:read  (a.u.)', 'mda_0006: 29idc:ca1:read  (a.u.)']
['mda_0006: S:SRcurrentAI.VAL  (mA)', 'mda_0006: 29idb:ca5:read  (a.u.)', 'mda_0006: 29idc:ca1:read  (a.u.)']
['mda_0006: S:SRcurrentAI.VAL  (mA)', 'mda_0006: 29idb:ca5:read  (a.u.)', 'mda_0006: 29idc:ca1:read  (a.u.)']
['mda_0006: S:SRcurrentAI.VAL  (mA)', 'mda_0006: 29idb:ca5:read  (a.u.)', 'mda_0006: 29idc:ca1:read  (a.u.)']
['mda_0006: S:SRcurrentAI.VAL  (mA)', 'mda_0006: 29idb:ca5:read  (a.u.)', 'mda_0006: 29idc:ca1:read  (a.u.)']
['mda_0006: S:SRcurrentAI.VAL  (mA)', 'mda_0006: 29idb:ca5:read  (a.u.)', 'mda_0006: 29idc:ca1:read  (a.u.)']
['mda_0006: S:SRcurrentAI.VAL  (mA)', 'mda_0006: 29idb:ca5:read  (a.u.)']
['mda_0006: S:SRcurrentAI.VAL  (mA)', 'mda_0006: 29idb:ca5:read  (a.u.)', 'mda_0006: 29idc:ca1:read  (a.u.)']
['mda_0006: S:SRcurrentAI.VAL  (mA)', 'mda_0006: 29idb:ca5:read  (a.u.)', 'mda_0006: 29idc:ca1:read  (a.u.)']
['mda_0006: S:SRcurrentAI.VAL  (mA)', 'mda_0006: 29idb:ca5:read  (a.u.)', 'mda_0006: 29idc:ca1:read  (a.u.)']
['mda_0006: S:SRcurrentAI.VAL  (mA)', 'mda_0006: 29idb:ca5:read  (a.u.)', 'mda_0006: 29idc:ca1:read  (a.u.)']
['mda_0006: S:SRcurrentAI.VAL  (mA)', 'mda_0006: 29idb:ca5:read  (a.u.)', 'mda_0006: 29idc:ca1:read  (a.u.)']
['mda_0006: S:SRcurrentAI.VAL  (mA)', 'mda_0006: 29idb:ca5:read  (a.u.)', 'mda_0006: 29idc:ca1:read  (a.u.)']
['mda_0006: S:SRcurrentAI.VAL  (mA)', 'mda_0006: 29idb:ca5:read  (a.u.)', 'mda_0006: 29idc:ca1:read  (a.u.)']
rodolakis commented 8 months ago

The Add button does not appear to have similar problem. But if I try to remove a curve, I get a similar issue:

doPlot called with action: add, args: ('add', {'Y': [1, 6, 12], 'X': 0})
doPlot called with action: add, args: ('add', {'Y': [1, 6, 12], 'X': 0})
doPlot called with action: add, args: ('add', {'Y': [1, 6, 12], 'X': 0})
doPlot called with action: add, args: ('add', {'Y': [1, 6, 12], 'X': 0})
doPlot called with action: add, args: ('add', {'Y': [1, 6, 12], 'X': 0})
doPlot called with action: add, args: ('add', {'Y': [1, 6, 12], 'X': 0})
doPlot called with action: add, args: ('add', {'Y': [1, 6, 12], 'X': 0})
doPlot called with action: add, args: ('add', {'Y': [1, 6, 12], 'X': 0})
doPlot called with action: add, args: ('add', {'Y': [1, 6, 12], 'X': 0})
doPlot called with action: add, args: ('add', {'Y': [1, 6, 12], 'X': 0})
doPlot called with action: add, args: ('add', {'Y': [1, 6, 12], 'X': 0})
[]
Traceback (most recent call last):
  File "/Users/fannysimoes/src/mdaviz/mdaviz/chartview.py", line 307, in update_basic_math
    x = self.line2D[current_label][1]
        ~~~~~~~~~~~^^^^^^^^^^^^^^^
KeyError: 'mda_0006: 29idb:ca12:read  (a.u.)'
['mda_0006: 29idb:ca12:read  (a.u.)', 'mda_0006: S:SRcurrentAI.VAL  (mA)']
rodolakis commented 8 months ago
doPlot called with action: replace, args: ('replace', {'Y': [1], 'X': 0})
['mda_0002: S:SRcurrentAI.VAL  (mA)']
['mda_0002: S:SRcurrentAI.VAL  (mA)']
['mda_0002: S:SRcurrentAI.VAL  (mA)']
[]
Traceback (most recent call last):
  File "/Users/fannysimoes/src/mdaviz/mdaviz/chartview.py", line 319, in updateBasicMathInfo
    x = self.line2D[current_label][1]
        ~~~~~~~~~~~^^^^^^^^^^^^^^^
KeyError: 'mda_0002: S:SRcurrentAI.VAL  (mA)'
['mda_0002: S:SRcurrentAI.VAL  (mA)']
Application quitting ...

This could should have been caught by:

def updateBasicMathInfo(self, *args):
        if self.curveBox.count():

Adding: if self.curveBox.count() and list(self.line2D.keys()): seems to fix that.

rodolakis commented 8 months ago

Tried many things but nothing I could do works:

        try:
            self.curveBox.currentTextChanged.disconnect(self.updateBasicMathInfo)
        except TypeError:
            # If there was no connection, this will catch the exception
            pass
        self.curveBox.currentTextChanged.connect(self.updateBasicMathInfo)

or a flag:

        self.isCurveBoxConnected = False
        self.setupConnections()
        [...]

    def setupConnections(self):
        # Ensure the signal is connected only once
        if not self.isCurveBoxConnected:
            self.curveBox.currentTextChanged.connect(self.updateBasicMathInfo)
            self.isCurveBoxConnected = True

But the same behavior continues. In the output below we can see that it does keep old connections (one of which has 3 curves instead of just the one). I am lost @prjemian :(

(mdaviz) (base) iMac:mdaviz fannysimoes$ mdaviz
Settings are saved in: /Users/fannysimoes/.config/BCDA-APS/mdaviz.ini
Application started ...
Folder path: '/Users/fannysimoes/src/mdaviz/mdaviz/data/test_folder1'
Selected file: mda_0006.mda
doPlot called with action: replace, args: ('replace', {'X': 0, 'Y': [1]})
['mda_0006: S:SRcurrentAI.VAL  (mA)']
doPlot called with action: add, args: ('add', {'Y': [1, 7], 'X': 0})
['mda_0006: S:SRcurrentAI.VAL  (mA)', 'mda_0006: 29idb:ca2:read  (a.u.)']
doPlot called with action: add, args: ('add', {'Y': [1, 7, 11], 'X': 0})
['mda_0006: S:SRcurrentAI.VAL  (mA)', 'mda_0006: 29idb:ca2:read  (a.u.)', 'mda_0006: 29idb:ca10:read  (a.u.)']
doPlot called with action: replace, args: ('replace', {'Y': [1, 7, 11], 'X': 0})
['mda_0006: S:SRcurrentAI.VAL  (mA)', 'mda_0006: 29idb:ca2:read  (a.u.)', 'mda_0006: 29idb:ca10:read  (a.u.)']
['mda_0006: S:SRcurrentAI.VAL  (mA)']
['mda_0006: S:SRcurrentAI.VAL  (mA)', 'mda_0006: 29idb:ca2:read  (a.u.)', 'mda_0006: 29idb:ca10:read  (a.u.)']
['mda_0006: S:SRcurrentAI.VAL  (mA)', 'mda_0006: 29idb:ca2:read  (a.u.)']
['mda_0006: S:SRcurrentAI.VAL  (mA)', 'mda_0006: 29idb:ca2:read  (a.u.)', 'mda_0006: 29idb:ca10:read  (a.u.)']
['mda_0006: S:SRcurrentAI.VAL  (mA)', 'mda_0006: 29idb:ca2:read  (a.u.)', 'mda_0006: 29idb:ca10:read  (a.u.)']
['mda_0006: S:SRcurrentAI.VAL  (mA)', 'mda_0006: 29idb:ca2:read  (a.u.)', 'mda_0006: 29idb:ca10:read  (a.u.)']
['mda_0006: 29idb:ca2:read  (a.u.)', 'mda_0006: 29idb:ca10:read  (a.u.)']
['mda_0006: S:SRcurrentAI.VAL  (mA)', 'mda_0006: 29idb:ca2:read  (a.u.)', 'mda_0006: 29idb:ca10:read  (a.u.)']
['mda_0006: 29idb:ca10:read  (a.u.)']
doPlot called with action: replace, args: ('replace', {'Y': [1, 7, 11], 'X': 0})
['mda_0006: S:SRcurrentAI.VAL  (mA)', 'mda_0006: 29idb:ca2:read  (a.u.)', 'mda_0006: 29idb:ca10:read  (a.u.)']
['mda_0006: S:SRcurrentAI.VAL  (mA)']
['mda_0006: S:SRcurrentAI.VAL  (mA)', 'mda_0006: 29idb:ca2:read  (a.u.)', 'mda_0006: 29idb:ca10:read  (a.u.)']
['mda_0006: S:SRcurrentAI.VAL  (mA)', 'mda_0006: 29idb:ca2:read  (a.u.)']
['mda_0006: S:SRcurrentAI.VAL  (mA)', 'mda_0006: 29idb:ca2:read  (a.u.)', 'mda_0006: 29idb:ca10:read  (a.u.)']
['mda_0006: S:SRcurrentAI.VAL  (mA)', 'mda_0006: 29idb:ca2:read  (a.u.)', 'mda_0006: 29idb:ca10:read  (a.u.)']
['mda_0006: S:SRcurrentAI.VAL  (mA)', 'mda_0006: 29idb:ca2:read  (a.u.)', 'mda_0006: 29idb:ca10:read  (a.u.)']
['mda_0006: 29idb:ca2:read  (a.u.)', 'mda_0006: 29idb:ca10:read  (a.u.)']
['mda_0006: S:SRcurrentAI.VAL  (mA)', 'mda_0006: 29idb:ca2:read  (a.u.)', 'mda_0006: 29idb:ca10:read  (a.u.)']
['mda_0006: 29idb:ca10:read  (a.u.)']
doPlot called with action: replace, args: ('replace', {'Y': [1], 'X': 0})
['mda_0006: S:SRcurrentAI.VAL  (mA)', 'mda_0006: 29idb:ca2:read  (a.u.)', 'mda_0006: 29idb:ca10:read  (a.u.)']
['mda_0006: S:SRcurrentAI.VAL  (mA)']
doPlot called with action: replace, args: ('replace', {'Y': [1], 'X': 0})
['mda_0006: S:SRcurrentAI.VAL  (mA)', 'mda_0006: 29idb:ca2:read  (a.u.)', 'mda_0006: 29idb:ca10:read  (a.u.)']
['mda_0006: S:SRcurrentAI.VAL  (mA)']
doPlot called with action: replace, args: ('replace', {'Y': [1], 'X': 0})
['mda_0006: S:SRcurrentAI.VAL  (mA)', 'mda_0006: 29idb:ca2:read  (a.u.)', 'mda_0006: 29idb:ca10:read  (a.u.)']
['mda_0006: S:SRcurrentAI.VAL  (mA)']
['mda_0006: S:SRcurrentAI.VAL  (mA)']
doPlot called with action: replace, args: ('replace', {'Y': [1], 'X': 0})
['mda_0006: S:SRcurrentAI.VAL  (mA)', 'mda_0006: 29idb:ca2:read  (a.u.)', 'mda_0006: 29idb:ca10:read  (a.u.)']
['mda_0006: S:SRcurrentAI.VAL  (mA)']
['mda_0006: S:SRcurrentAI.VAL  (mA)']
['mda_0006: S:SRcurrentAI.VAL  (mA)']
doPlot called with action: replace, args: ('replace', {'Y': [1], 'X': 0})
['mda_0006: S:SRcurrentAI.VAL  (mA)', 'mda_0006: 29idb:ca2:read  (a.u.)', 'mda_0006: 29idb:ca10:read  (a.u.)']
['mda_0006: S:SRcurrentAI.VAL  (mA)']
['mda_0006: S:SRcurrentAI.VAL  (mA)']
['mda_0006: S:SRcurrentAI.VAL  (mA)']
['mda_0006: S:SRcurrentAI.VAL  (mA)']
rodolakis commented 8 months ago

Note that initially, I did not have that connector. I was updating the info for the selected curve in subsequent method, but since it kept coming everywhere the selected curve changes, it seemed more elegant to have a signal/slot connection to update the info every time the QComboBox selection changes. But maybe that was a bad idea after all.