Пример #1
0
    def onInit(self):

        # Put your List Populating code/ and GUI startup stuff here
        self.spinControls = []

        self.displayHelper = DisplayHelper()
        self.audioHelper = AudioHelper()
        self.alienFXControls = AlienFXLights(self)
        self.hdmiinhelper = HDMIInHelper()

        # Video Controls
        self.displayResolutionApplyButtonState = True
        self.displayResolutions = self.displayHelper.getAllDisplayResolutions()
        self.displayResolutionSpinControl = SpinControl(
            self, DISPLAY_RESOLUTION_GROUP_CONTROL,
            DISPLAY_RESOLUTION_LABEL_CONTROL, self.displayResolutionChanged,
            self.displayResolutionUpCallback,
            self.displayResolutionDownCallback, self.displayResolutions,
            DISPLAY_RESOLUTION_SPIN_LEFT, DISPLAY_RESOLUTION_SPIN_RIGHT,
            DISPLAY_RESOLUTION_LEFT_FOCUS, DISPLAY_RESOLUTION_RIGHT_FOCUS)
        self.displayResolutionSpinControl.selectText(
            self.displayHelper.getSelectedDisplayResolution())
        self.displayResolutionApplyButton = self.getControl(
            VIDEO_APPLY_BUTTON_CONTROL)

        self.refreshRates = self.displayHelper.getAllRefreshRates()
        self.refreshRateSpinControl = SpinControl(
            self, REFRESH_RATE_GROUP_CONTROL, REFRESH_RATE_LABEL_CONTROL,
            self.refreshRateChanged, self.refreshRateUpCallback,
            self.refreshRateDownCallback, self.refreshRates,
            REFRESH_RATE_SPIN_LEFT, REFRESH_RATE_SPIN_RIGHT,
            REFRESH_RATE_LEFT_FOCUS, REFRESH_RATE_RIGHT_FOCUS)
        self.refreshRateSpinControl.selectText(
            self.displayHelper.getSelectedRefreshRate())

        self.setDisplayApplyButtonState()

        # Audio Controls
        self.audioOutputApplyButtonState = True

        self.audioOutputSpinControl = SpinControl(
            self, AUDIO_OUTPUT_GROUP_CONTROL, AUDIO_OUTPUT_LABEL_CONTROL,
            self.audioOutputChanged,
            self.audioOutputUpCallback, self.audioOutputDownCallback,
            self.audioHelper.getOutputs(), AUDIO_OUTPUT_SPIN_LEFT,
            AUDIO_OUTPUT_SPIN_RIGHT, AUDIO_OUTPUT_LEFT_FOCUS,
            AUDIO_OUTPUT_RIGHT_FOCUS)
        self.audioOutputSpinControl.selectText(
            self.audioHelper.getSelectedOutput())
        self.audioOutputApplyButton = self.getControl(
            AUDIO_OUTPUT_APPLY_BUTTON)

        self.audioVolumeImageControl = self.getControl(
            AUDIO_VOLUME_IMAGE_CONTROL)

        self.setAudioOutputApplyButtonState()

        audioOptions = []
        alienFxBrightness = []

        for x in range(0, 101):
            audioOptions.append('{0}%'.format(x))
            alienFxBrightness.append('{0}%'.format(x))

        self.audioVolumeSpinControl = SpinControl(
            self, AUDIO_VOLUME_GROUP_CONTROL, AUDIO_VOLUME_LABEL_CONTROL,
            self.audioVolumeChanged, None, None, audioOptions,
            AUDIO_VOLUME_SPIN_LEFT, AUDIO_VOLUME_SPIN_RIGHT,
            AUDIO_VOLUME_LEFT_FOCUS, AUDIO_VOLUME_RIGHT_FOCUS)
        audioLevel = self.audioHelper.getVolume()
        self.audioVolumeSpinControl.selectText('{0}%'.format(audioLevel))
        self.setAudioVolumeImage(audioLevel)

        # Customization Controls

        self.alienFxHeadSpinControl = SpinControl(
            self, ALIENFX_HEAD_GROUP_CONTROL, ALIENFX_HEAD_LABEL_CONTROL,
            self.alienFxHeadColorChanged, self.alienFxHeadUpCallback,
            self.alienFxHeadDownCallback, self.alienFXControls.colors,
            ALIENFX_HEAD_SPIN_LEFT, ALIENFX_HEAD_SPIN_RIGHT,
            ALIENFX_HEAD_LEFT_FOCUS, ALIENFX_HEAD_RIGHT_FOCUS)
        self.alienFxHeadSpinControl.selectText(
            self.alienFXControls.zone1SelectedColor)

        self.alienFxCornerSpinControl = SpinControl(
            self, ALIENFX_CORNER_GROUP_CONTROL, ALIENFX_CORNER_LABEL_CONTROL,
            self.alienFxCornerColorChanged, self.alienFxCornerUpCallback,
            self.alienFxCornerDownCallback, self.alienFXControls.colors,
            ALIENFX_CORNER_SPIN_LEFT, ALIENFX_CORNER_SPIN_RIGHT,
            ALIENFX_CORNER_LEFT_FOCUS, ALIENFX_CORNER_RIGHT_FOCUS)
        self.alienFxCornerSpinControl.selectText(
            self.alienFXControls.zone2SelectedColor)

        self.alienFxBrightnessImageControl = self.getControl(
            ALIENFX_BRIGHTNESS_IMAGE_CONTROL)
        self.alienFxBrightnessSpinControl = SpinControl(
            self, ALIENFX_BRIGHTNESS_GROUP_CONTROL,
            ALIENFX_BRIGHTNESS_LABEL_CONTROL, self.alienFxBrightnessChanged,
            self.alienFxBrightnessUpCallback,
            self.alienFxBrightnessDownCallback, alienFxBrightness,
            ALIENFX_BRIGHTNESS_SPIN_LEFT, ALIENFX_BRIGHTNESS_SPIN_RIGHT,
            ALIENFX_BRIGHTNESS_LEFT_FOCUS, ALIENFX_BRIGHTNESS_RIGHT_FOCUS)
        self.alienFxBrightnessSpinControl.selectText('{0}%'.format(
            self.alienFXControls.brightnessSpinIndex))
        self.setAlienFxBrightnessImage(
            self.alienFXControls.brightnessSpinIndex)

        self.networklistcontrol = self.getControl(NETWORK_LIST_CONTROL)
        self.wifilist = self.getControl(WIFI_LIST_CONTROL)
        self.wifihelper = WiFiHelper(self.wifilist)

        self.hdmiinbutton = self.getControl(HDMIIN_BUTTON_CONTROL)

        self.spinControls.append(self.displayResolutionSpinControl)
        self.spinControls.append(self.refreshRateSpinControl)
        self.spinControls.append(self.audioOutputSpinControl)
        self.spinControls.append(self.audioVolumeSpinControl)
        self.spinControls.append(self.alienFxHeadSpinControl)
        self.spinControls.append(self.alienFxCornerSpinControl)
        self.spinControls.append(self.alienFxBrightnessSpinControl)

        self.lock = thread.allocate_lock()

        self.IsInitDone = True

        # start all timer now
        self.hdmistatechecktimer = Timer(1.0, self.refreshTimer)
        self.hdmistatechecktimer.start()

        pass