@Override public void fragmentChanged(FragmentChangedEvent source) { // used by the back and forward browser button if (source == null || source.getUriFragmentUtility() == null || source.getUriFragmentUtility().getFragment() == null) return; String uriFragment = source.getUriFragmentUtility().getFragment(); HistoryEntry entry = historyStack.get(uriFragment); if (entry == null) { if (fire404OnUnknownURI) { eventBus.fireEvent(new Show404ViewEvent()); } } else { setCurrentViewCausedByHistoryChange = true; // fire the events that are needed to get to the state of uri fragment for (com.mvplite.event.Event e : entry.eventsToFire) { eventBus.fireEvent(e); } setCurrentViewCausedByHistoryChange = false; } }
/** * Diese Methode löscht das übergeben Projekt und aktualisiert die View. * * @param project : Das zu entfernende Projekt * @author Marco Glaser */ public void removeProject(Project project) { persistenceService.removeProject(this.user, project); logger.debug("Projekt aus User entfernt"); projectListView.setProjects(user.getProjects()); // eventBus.fireEvent(new ProjectRemoveEvent(project)); getView().showView(projectListView, projectDetailsView); eventBus.fireEvent(new ShowProjectDetailsEvent()); logger.debug("ProjekteRemove Event gefeuert"); }
// wird durch den Click-Listener des Logout-Button in der InitinalScreen-View aufgerufen public void doLogout() { // speichert die Projekte in der externen Datei persistenceService.saveProjects(); logger.debug("Projekte gespeichert"); try { // ruft doLogout im Authentication Service auf und entfernt User aus allen eingeloggten Usern authenticationService.doLogout(userProxy.getSelectedUser()); logger.debug("LogoutEvent gefeuert"); eventBus.fireEvent(new LogoutEvent()); } catch (UserNotLoggedInException e) { // TODO Auto-generated catch block e.printStackTrace(); } }
/** * Dieser Event wird zu Beginn von der BHApplication (nach dem Einloggen) abgesetzt. Dabei wird * auf der linken Seite die Projekt-Liste und auf der rechten Seite der Detailscreen für die * Projekte eingefügt * * @author Christian Scherer, Marco Glaser * @param event :das ShowInitialScreenViewEvent, welches das angemeldete User-Objekt beinhaltet */ @EventHandler public void onShowInitialScreen(ShowInitialScreenViewEvent event) { logger.debug("ShowInitialScreenViewEvent empfangen"); user = userProxy.getSelectedUser(); // getView().showUserData(user.getFullName()); getView().showView(projectListView, projectDetailsView); getView().clearProgressBar(); projectDetailsView.clearProjectDetails(); logger.debug("Views mit Projekt und Infoview geladen"); eventBus.fireEvent(new ShowProjectListEvent(user)); logger.debug("ShowProjectListEvent gefeuert"); // eventBus.fireEvent(new ShowInfosEvent()); logger.debug("ShowInfosEvent gefeuert"); }
/** * Diese Methode per Event nach dem Upload der zu importierenden Projektdatei aufgerufen. Sie löst * das Auslesen der in der Datei enthaltenen Projektdaten und das Importieren aus. Nach dem Import * wird das ShowProjectListEvent geworfen, um die angezeigte Liste zu aktualisieren. * * @param event ImportUploadFinishedEvent, dass als Parameter den Dateinamen der hochgeladenen * Datei enthält. * @author Tobias Lindner */ @EventHandler public void onUploadFinishedImport(ImportUploadFinishedEvent event) { String notImported = null; // in diesen String wird der Rückgabewert, der String mit den Projektnamen, die nicht // importiert werden konnten gespeichert logger.debug("ImportUploadFinishedEvent empfangen"); notImported = persistenceService.importAllProjects(user, event.getfileName()); logger.debug("PersistenceService Import-Funktion im Presenter aufgerufen"); // //Ausgabe der Fehlermeldung, falls nicht alle Projekte importiert werden konnten // if (notImported != null) { // getView().showErrorMessage(notImported); // } // Aktualisieren der Antwort eventBus.fireEvent(new ShowProjectListEvent(user)); logger.debug("ShowProjectListEvent geworfen"); }
public void showInitialScreen() { eventBus.fireEvent(new ShowInitialScreenViewEvent(user)); eventBus.fireEvent(new ShowInitialTopButtonsEvent()); }
@EventHandler public void onShowMethodSelectionView(ShowProcessStepEvent event) { project = projectProxy.getSelectedProject(); persistenceService.saveProjects(); switch (event.getScreen()) { case METHODSELECTION: buttonsMiddleView.setInitialButtons(); methodScreenView.setRadioValues(); getView().showView(buttonsMiddleView, methodScreenView); getView() .setPageDescription( "./images/icons/newIcons/1418831828_editor_memo_note_pad-128.png", "Schritt 1", new String[] {"Wählen Sie die Methoden", "zur Berechnung"}); getView().setProgress("./images/progressBar/progress_1.png"); setScreen1Buttons(); break; case PARAMETER: buttonsMiddleView.setGoToStep(3); if (projectProxy.getSelectedProject().getProjectInputType().isStochastic()) { buttonsMiddleView.setStochasticParameter(); getView() .setPageDescription( "./images/icons/newIcons/1418831298_common_calendar_month-128.png", "Schritt 2", new String[] {"Stochastische Methode", "Bitte geben Sie die Parameter ein"}); logger.debug("Stochastische Buttons gesetzt"); } else { buttonsMiddleView.setDeterministicParameter(); getView() .setPageDescription( "./images/icons/newIcons/1418831298_common_calendar_month-128.png", "Schritt 2", new String[] {"Deterministische Methode", "Bitte geben Sie die Parameter ein"}); logger.debug("Deterministische Buttons gesetzt"); } getView().showView(buttonsMiddleView, parameterInputView); getView().setProgress("./images/progressBar/progress_2.png"); setScreen2Buttons(); break; case PERIODS: buttonsMiddleView.setGoToStep(4); getView().showView(buttonsMiddleView, periodScreenView); periodScreenView.setMethod(); String text = periodScreenView.getPageDescription(); getView() .setPageDescription( "./images/icons/newIcons/1418831563_circle_backup_time_history_recent_time-machine_-128.png", "Schritt 3", new String[] {text, "Bitte geben Sie die Parameter ein"}); getView().setProgress("./images/progressBar/progress_3.png"); setScreen3Buttons(); break; case SCENARIOS: buttonsMiddleView.setGoToStep(5); getView().showView(buttonsMiddleView, scenarioScreenView); getView() .setPageDescription( "./images/icons/newIcons/1418831239_editor_attachment_paper_clip_2-128.png", "Schritt 4", new String[] {"Bitte geben Sie Szenarien an", "falls erwünscht"}); getView().setProgress("./images/progressBar/progress_4.png"); setScreen4Buttons(); break; case RESULT: buttonsMiddleView.hideStepButton(); if (project.getScenarios().size() > 1) { getView().showExtendedView(resultScreenView); } else { getView().showView(buttonsMiddleView, resultScreenView); } getView() .setPageDescription( "./images/icons/newIcons/1418775155_device_board_presentation_content_chart-128.png", "Schritt 5", "Ergebnisausgabe"); getView().setProgress("./images/progressBar/progress_5.png"); setScreen5Buttons(); eventBus.fireEvent(new ShowOutputViewEvent()); break; default: break; } }
/** * Diese Methode setzt die View zum Bearbeiten eines neuen Projektes in den rechten Bereich und * feuert ein Event um die Buttons in der Buttonleiste anzupassen. * * @author Marco Glaser */ public void showProjectEditScreen() { getView().showView(startCalculationButtonView, projectCreationView); projectCreationView.setInitialScreen(this.getView()); eventBus.fireEvent(new ShowProjectEditButtonsEvent(userProxy.getSelectedUser())); }