コード例 #1
0
    def __init__(self, parent=None):
        QtGui.QWidget.__init__(self, parent)
        #self.timeScale = 1.0
        #self.scale = 1.0
        self.offset = 0.0
        self.ui = Ui_Form()
        self.ui.setupUi(self)
        self.ui.functionText.setFontFamily('Courier')
        self.ui.errorText.setVisible(False)

        self.advancedMode = None  ## if True, then the current state was generated in advanced
        ## mode. Otherwise, it was generated from the simple stim tree.
        self.lockMode = False  ## used to temporarily block changes to self.advancedMode

        self.pSpace = None  ## cached sequence parameter space

        self.cache = {}  ## cached waveforms
        self.cacheRate = None
        self.cacheNPts = None

        self.meta = {  ## holds some extra information about signals (units, expected scale and range, etc)
            ## mostly information useful in configuring SpinBoxes
            'x': {},
            'y': {},
            'xy': {}  ## values that are the product of x and y values
        }

        ## variables that are added into the function evaluation namespace.
        self.extraParams = {}

        ## Simple stim generator
        self.stimParams = StimParamSet()
        self.ui.stimulusTree.setParameters(self.stimParams, showTop=False)
        self.stimParams.sigTreeStateChanged.connect(self.stimParamsChanged)

        ## advanced stim generator
        self.seqParams = SequenceParamSet()
        self.ui.seqTree.setParameters(self.seqParams, showTop=False)

        self.setAdvancedMode(False)
        self.setError()

        self.updateWidgets()

        self.seqParams.sigTreeStateChanged.connect(self.seqParamsChanged)
        self.ui.functionText.textChanged.connect(self.funcChanged)

        self.ui.updateBtn.clicked.connect(self.update)
        self.ui.autoUpdateCheck.clicked.connect(self.autoUpdateClicked)

        self.ui.errorBtn.clicked.connect(self.updateWidgets)
        self.ui.helpBtn.clicked.connect(self.updateWidgets)
        self.ui.advancedBtn.toggled.connect(self.updateWidgets)
        self.ui.forceAdvancedBtn.clicked.connect(self.forceAdvancedClicked)
        self.ui.forceSimpleBtn.clicked.connect(self.forceSimpleClicked)