Exemple #1
0
    def configureAction(self):
        """
        FALCON
        """
        if self.falconMode is not None:
            if self.falconAction is None and self.falconNumber > 1:
                """
                create action
                """
                cameras = []
                for i in range(self.falconNumber):
                    cameras.append("Camera %d" % i)

                self.falconAction = QubListAction(
                    items=cameras,
                    name='Select Falcon Camera',
                    place=self.falconMode,
                    actionInfo='Select Falcon Camera',
                    group='Tools')
                self.connect(self.falconAction, qt.PYSIGNAL("ItemSelected"),
                             self.cameraSelected)

                if self.view is not None:
                    actions = []
                    actions.append(self.falconAction)
                    self.view.addAction(actions)
        else:
            if self.falconAction is not None:
                """
                remove action
                """
                if self.view is not None:
                    self.view.delAction([
                        "Select Falcon Camera",
                    ])
                """
                del action from view
                """
                self.disconnect(self.falconAction, qt.PYSIGNAL("ItemSelected"),
                                self.cameraSelected)
                self.falconAction = None

        if self.falconHwo is not None:
            try:
                data = {'type': 'tango', 'name': 'VideoInput'}
                vi = self.falconHwo.addChannel(data, 'VideoInput')
                videoinput = self.falconHwo.getChannelObject("VideoInput")
                val = int(videoinput.getValue())
                self.falconAction.setItemIndex(val - 1)
            except BaseException:
                s = "Cannot get video input attribute"
                logging.getLogger("Brick").error(s)
        else:
            logging.getLogger("Brick").error("No Falcon defined")