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