Ejemplo n.º 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")
    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:
                s = "Cannot get video input attribute"
                logging.getLogger("Brick").error(s)
        else:
            logging.getLogger("Brick").error("No Falcon defined")
Ejemplo n.º 3
0
class CameraToolsBrick(BlissWidget):
    def __init__(self, parent, name):
        BlissWidget.__init__(self, parent, name)
        """
        variables
        """
        self.view = None
        self.firstCall = True
        """
        property
        """
        """
        falcon select mode properties
        """
        self.addProperty("Falcon Select", "combo",
                         ("none", "toolbar", "popup"), "none")
        self.falconMode = None
        self.falconAction = None

        self.addProperty("Falcon", "string", "")
        self.falconHwo = None

        self.addProperty("Falcon #", "integer", 1)
        self.falconNumber = None
        """
        Signal
        """
        self.defineSignal('getView', ())
        """
        Slot
        """
        """
        widgets - NO APPEARANCE
        """
        self.setFixedSize(0, 0)

    def propertyChanged(self, prop, oldValue, newValue):
        """
        FALCON
        """
        if prop == "Falcon Select":
            self.falconMode = newValue
            if newValue == "none":
                self.falconMode = None
            if newValue == "popup":
                self.falconMode = "contextmenu"

        if prop == "Falcon":
            self.falconHwo = self.getHardwareObject(newValue)

        if prop == "Falcon #":
            self.falconNumber = newValue

        if not self.firstCall:
            self.configureAction()

    def run(self):
        """
        get view
        """
        view = {}
        self.emit(qt.PYSIGNAL("getView"), (view, ))
        try:
            self.drawing = view["drawing"]
            self.view = view["view"]
        except BaseException:
            print "No View"

        self.configureAction()

        self.firstCall = False

    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")

    """
    FALCON
    """

    def cameraSelected(self, idx, camera):
        if self.falconHwo is not None:
            try:
                self.falconHwo.getChannelObject("VideoInput").setValue(idx + 1)
            except BaseException:
                logging.getLogger("Brick").error(
                    "Cannot set video input attribute")
class CameraToolsBrick(BlissWidget):
    def __init__(self, parent, name):
        BlissWidget.__init__(self, parent, name)
        
        """
        variables
        """        
        self.view = None
        self.firstCall = True

        """
        property
        """
        """
        falcon select mode properties
        """
        self.addProperty("Falcon Select", "combo",
                         ("none", "toolbar", "popup"), "none")
        self.falconMode = None
        self.falconAction = None
                
        self.addProperty("Falcon", "string", "")
        self.falconHwo = None

        self.addProperty("Falcon #", "integer", 1)
        self.falconNumber = None
                
        """
        Signal
        """
        self.defineSignal('getView',())
 
        """
        Slot
        """

        """
        widgets - NO APPEARANCE
        """
        self.setFixedSize(0, 0)
                        
               
    def propertyChanged(self, prop, oldValue, newValue):
        """
        FALCON
        """
        if prop == "Falcon Select":
            self.falconMode = newValue
            if newValue == "none":
                self.falconMode = None
            if newValue == "popup":
                self.falconMode = "contextmenu"
            
        if prop == "Falcon":
            self.falconHwo = self.getHardwareObject(newValue)

        if prop == "Falcon #":
            self.falconNumber = newValue
        
        if not self.firstCall:
            self.configureAction()
            
    def run(self):
        """
        get view
        """
        view = {}
        self.emit(qt.PYSIGNAL("getView"), (view,))
        try:
            self.drawing = view["drawing"]
            self.view = view["view"]        
        except:
            print("No View")
                    
        self.configureAction()
        
        self.firstCall = False
    
    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:
                s = "Cannot get video input attribute"
                logging.getLogger("Brick").error(s)
        else:
            logging.getLogger("Brick").error("No Falcon defined")
                        
    """
    FALCON
    """                                                           
    def cameraSelected(self, idx, camera):
        if self.falconHwo is not None:
            try:
                self.falconHwo.getChannelObject("VideoInput").setValue(idx+1)
            except:
                logging.getLogger("Brick").error("Cannot set video input attribute")