コード例 #1
0
ファイル: ExtrasSwitcher.py プロジェクト: staldates/aldatesx
    def initUI(self):
        layout = QGridLayout()
        self.setLayout(layout)

        inputs = QButtonGroup()

        btnE1 = InputButton(self)
        btnE1.setText("Extras 1")
        layout.addWidget(btnE1, 0, 0)
        inputs.addButton(btnE1, 1)

        btnE2 = InputButton(self)
        btnE2.setText("Extras 2")
        layout.addWidget(btnE2, 0, 1)
        inputs.addButton(btnE2, 2)

        btnE3 = InputButton(self)
        btnE3.setText("Extras 3")
        layout.addWidget(btnE3, 0, 2)
        inputs.addButton(btnE3, 3)

        btnE4 = InputButton(self)
        btnE4.setText("Extras 4")
        layout.addWidget(btnE4, 0, 3)
        inputs.addButton(btnE4, 4)

        btnEVideo = InputButton(self)
        btnEVideo.setText("Visuals PC video")
        layout.addWidget(btnEVideo, 0, 4)
        inputs.addButton(btnEVideo, 8)

        self.inputs = inputs

        if self.controller.hasDevice("Extras Scan Converter"):
            scControl = OverscanFreezeWidget()
            layout.addWidget(scControl, 1, 4)
            scControl.btnOverscan.toggled.connect(self.toggleOverscan)
            scControl.btnFreeze.toggled.connect(self.toggleFreeze)

        btnPrevMix = OutputButton(1)
        btnPrevMix.setText("Preview / PC Mix")
        layout.addWidget(btnPrevMix, 2, 0, 1, 5)

        btnPrevMix.clicked.connect(self.takePreview)
コード例 #2
0
ファイル: OutputsGrid.py プロジェクト: staldates/aldatesx
    def __init__(self):
        QFrame.__init__(self)
        layout = QGridLayout()

        self.btnProjectors = OutputButton(ID=2)
        self.btnProjectors.setText("Projectors")
        layout.addWidget(self.btnProjectors, 0, 1)

        self.btnChurch = OutputButton(ID=4)
        self.btnChurch.setText("Church")
        layout.addWidget(self.btnChurch, 1, 0)
        self.btnSpecial = OutputButton(ID=7)
        self.btnSpecial.setText("Special")
        layout.addWidget(self.btnSpecial, 1, 1)

        self.btnGallery = OutputButton(ID=6)
        self.btnGallery.setText("Gallery")
        layout.addWidget(self.btnGallery, 2, 0)
        self.btnWelcome = OutputButton(ID=5)
        self.btnWelcome.setText("Welcome")
        layout.addWidget(self.btnWelcome, 2, 1)

        self.btnFont = OutputButton(ID=3)
        self.btnFont.setText("Font")
        layout.addWidget(self.btnFont, 3, 0)
        self.btnRecord = OutputButton(ID=8)
        self.btnRecord.setText("Record")
        layout.addWidget(self.btnRecord, 3, 1)

        self.btnPCMix = OutputButton(ID=2)
        self.btnPCMix.setText("PC Mix")
        layout.addWidget(self.btnPCMix, 4, 0)
        self.btnAll = IDedButton(ID=0)
        self.btnAll.setText("All")
        layout.addWidget(self.btnAll, 4, 1)

        self.outputButtons = {2: self.btnProjectors, 3: self.btnFont, 4: self.btnChurch, 5: self.btnWelcome, 6: self.btnGallery, 7: self.btnSpecial, 8: self.btnRecord}

        layout.setColumnMinimumWidth(0, 100)
        layout.setColumnMinimumWidth(1, 100)
        layout.setColumnStretch(0, 1)
        layout.setColumnStretch(1, 1)

        self.setLayout(layout)
コード例 #3
0
ファイル: OutputsGrid.py プロジェクト: staldates/aldatesx
class OutputsGrid(QFrame):
    '''
    Grid of output buttons.
    '''

    inputNames = {0: "Blank", 1: "Camera 1", 2: "Camera 2", 3: "Camera 3", 4: "DVD", 5: "Extras", 6: "Visuals PC"}

    def __init__(self):
        QFrame.__init__(self)
        layout = QGridLayout()

        self.btnProjectors = OutputButton(ID=2)
        self.btnProjectors.setText("Projectors")
        layout.addWidget(self.btnProjectors, 0, 1)

        self.btnChurch = OutputButton(ID=4)
        self.btnChurch.setText("Church")
        layout.addWidget(self.btnChurch, 1, 0)
        self.btnSpecial = OutputButton(ID=7)
        self.btnSpecial.setText("Special")
        layout.addWidget(self.btnSpecial, 1, 1)

        self.btnGallery = OutputButton(ID=6)
        self.btnGallery.setText("Gallery")
        layout.addWidget(self.btnGallery, 2, 0)
        self.btnWelcome = OutputButton(ID=5)
        self.btnWelcome.setText("Welcome")
        layout.addWidget(self.btnWelcome, 2, 1)

        self.btnFont = OutputButton(ID=3)
        self.btnFont.setText("Font")
        layout.addWidget(self.btnFont, 3, 0)
        self.btnRecord = OutputButton(ID=8)
        self.btnRecord.setText("Record")
        layout.addWidget(self.btnRecord, 3, 1)

        self.btnPCMix = OutputButton(ID=2)
        self.btnPCMix.setText("PC Mix")
        layout.addWidget(self.btnPCMix, 4, 0)
        self.btnAll = IDedButton(ID=0)
        self.btnAll.setText("All")
        layout.addWidget(self.btnAll, 4, 1)

        self.outputButtons = {2: self.btnProjectors, 3: self.btnFont, 4: self.btnChurch, 5: self.btnWelcome, 6: self.btnGallery, 7: self.btnSpecial, 8: self.btnRecord}

        layout.setColumnMinimumWidth(0, 100)
        layout.setColumnMinimumWidth(1, 100)
        layout.setColumnStretch(0, 1)
        layout.setColumnStretch(1, 1)

        self.setLayout(layout)

    def connectMainOutputs(self, function):
        self.btnProjectors.clicked.connect(function)
        self.btnChurch.clicked.connect(function)
        self.btnSpecial.clicked.connect(function)
        self.btnGallery.clicked.connect(function)
        self.btnWelcome.clicked.connect(function)
        self.btnFont.clicked.connect(function)
        self.btnRecord.clicked.connect(function)
        self.btnAll.clicked.connect(function)

    def connectPreviewOutputs(self, function):
        self.btnPCMix.clicked.connect(function)

    def updateOutputMappings(self, mapping):
        if 'Main' in mapping:
            for outp, inp in mapping['Main'].iteritems():
                if outp in self.outputButtons.keys():
                    self.outputButtons[outp].setInputText(self.inputNames[inp])
                elif outp == 0:
                    for button in self.outputButtons.values():
                        button.setInputText(self.inputNames[inp])
        if 'Preview' in mapping:
            if 2 in mapping['Preview']:
                inp = mapping['Preview'][2]
                if inp == 6:  # HACK HACK HACK because of crossed wiring in church
                    inp = 5
                self.btnPCMix.setInputText(self.inputNames[inp])