示例#1
0
class GUIController(object):
    """
    This class has the responsibility of do the change between menus & initialize the GUI.
    """
    def initialize(self):
        """
        Initialize the GUI and load the Main Menu.
        """

        app = QApplication(sys.argv)
        mainWindow = MainWindow()
        self.centralWidget = QStackedWidget()
        mainWindow.setCentralWidget(self.centralWidget)

        self.db = RAM_DB()
        self.mainMenuWidget = MainMenu(self)
        self.audioController = AudioController()

        self.centralWidget.addWidget(self.mainMenuWidget)
        self.centralWidget.setCurrentWidget(self.mainMenuWidget)

        sys.exit(app.exec_())

    def changeToMenu(self, menuname):
        """
        Changes to the menu passed by parameter.

        :param menuname: String with the name of the menu.
        """

        if (menuname == "MainMenu"):
            self.db.setCurrentMenu("MainMenu")
            self.centralWidget.setCurrentWidget(self.mainMenuWidget)

        elif (menuname == "SelectAudioMenu"):
            self.db.setCurrentMenu("SelectAudioMenu")
            self.selectAudioMenuWidget = SelectAudioMenu(self)
            self.centralWidget.addWidget(self.selectAudioMenuWidget)
            self.centralWidget.setCurrentWidget(self.selectAudioMenuWidget)

        elif (menuname == "PlayAudioMenu"):
            self.db.setCurrentMenu("PlayAudioMenu")
            self.playAudioMenuWidget = PlayAudioMenu(self)
            #Observer pattern register
            self.audioController.register(self.playAudioMenuWidget)
            self.centralWidget.addWidget(self.playAudioMenuWidget)
            self.centralWidget.setCurrentWidget(self.playAudioMenuWidget)

        elif (menuname == "PlayRadioMenu"):
            self.db.setCurrentMenu("PlayRadioMenu")
            self.playRadioMenuWidget = PlayRadioMenu(self)
            # Observer pattern register
            self.audioController.register(self.playRadioMenuWidget)
            self.centralWidget.addWidget(self.playRadioMenuWidget)
            self.centralWidget.setCurrentWidget(self.playRadioMenuWidget)
示例#2
0
    def __init__(self, controller, parent=None):
        """
        Constructor of the MainMenu class.

        :param controller: GUIController object.
        """

        super(MainMenu, self).__init__(parent)

        audioController = AudioController()
        optionsButton = Button_Options_MM(controller).createButton(269, 100)
        optionsButton.setOppacity(0.3)
        poffButton = Button_POff_MM().createButton(269, 100)

        mainMenuAudioWidget = MainMenuAudioWidget()
        mainMenuButtonsWidget = MainMenuButtonsWidget(controller)

        # Observer
        audioController.register(mainMenuAudioWidget)

        # Setting the layouts
        verticalBoxLayout = QVBoxLayout()
        hMainMenuTopWidgets = QHBoxLayout()
        hButtonsMenuBox = QHBoxLayout()

        verticalBoxLayout.setContentsMargins(0, 0, 0, 0)
        verticalBoxLayout.addStretch()
        verticalBoxLayout.addStretch()

        hMainMenuTopWidgets.addStretch()
        hMainMenuTopWidgets.addWidget(mainMenuAudioWidget)
        verticalBoxLayout.addLayout(hMainMenuTopWidgets)
        verticalBoxLayout.addStretch()

        verticalBoxLayout.addWidget(mainMenuButtonsWidget)
        verticalBoxLayout.addStretch()

        hButtonsMenuBox.addWidget(optionsButton)

        hButtonsMenuBox.addStretch()
        hButtonsMenuBox.addWidget(poffButton)
        verticalBoxLayout.addLayout(hButtonsMenuBox)

        self.setLayout(verticalBoxLayout)
示例#3
0
    def __init__(self, controller, parent=None):
        """
        Constructor of the PlayRadioMenu class.

        :param controller: GUIController object.
        """

        super(PlayRadioMenu, self).__init__(parent)

        self.controller = controller
        audioController = AudioController()
        self.db = RAM_DB()
        radioMenuChannelMemoryWidget = RadioMenuChannelMemory()
        # Observer
        audioController.register(radioMenuChannelMemoryWidget)

        self.backButton = Button_Back_PRM(self.controller).createButton(269, 100)
        self.upFreqButton = Button_Upfreq_PRM(self.controller).createButton(60, 60)
        self.downFreqButton = Button_Downfreq_PRM(self.controller).createButton(60, 60)
        self.seekBackButton = Button_SeekBack_PRM(self.controller).createButton(60, 60)
        self.seekForwardButton = Button_SeekForward_PRM(self.controller).createButton(60, 60)

        if(audioController.getPlayingRadio() == False or audioController.getGUICoolDown() == True):
            self.upFreqButton.setOppacity(0.3)
            self.downFreqButton.setOppacity(0.3)
            self.seekBackButton.setOppacity(0.3)
            self.seekForwardButton.setOppacity(0.3)

        audioController.initRadio()

        self.freqLabel = CustomLabel().createLabel(str(audioController.getCurrentFMFrequency()) + " FM", Qt.AlignCenter, 30)

        verticalBoxLayout = QVBoxLayout()
        verticalBoxLayout.setContentsMargins(0, 0, 0, 0)

        verticalBoxLayout.addStretch()
        verticalBoxLayout.addStretch()
        verticalBoxLayout.addWidget(self.freqLabel)
        verticalBoxLayout.addStretch()

        hMenuBox = QHBoxLayout()
        hMenuBox.addStretch()
        hMenuBox.addWidget(self.seekBackButton)
        hMenuBox.addStretch()
        hMenuBox.addWidget(self.downFreqButton)
        hMenuBox.addStretch()
        hMenuBox.addWidget(self.upFreqButton)
        hMenuBox.addStretch()
        hMenuBox.addWidget(self.seekForwardButton)
        hMenuBox.addStretch()
        verticalBoxLayout.addLayout(hMenuBox)

        verticalBoxLayout.addStretch()

        verticalBoxLayout.addWidget(radioMenuChannelMemoryWidget)

        verticalBoxLayout.addStretch()

        hbox = QHBoxLayout()

        hbox.addWidget(self.backButton)
        hbox.addStretch()

        verticalBoxLayout.addLayout(hbox)

        self.setLayout(verticalBoxLayout)