Ejemplo n.º 1
0
 ModulesDashboardTile(Module module) {
   getStyleClass().addAll("dashboard-modules-tile");
   Label titleLabel = new Label(module.descriptor().getName());
   titleLabel.getStyleClass().add("dashboard-modules-tile-title");
   titleLabel.setGraphic(module.graphic());
   Label textLabel = new Label(module.descriptor().getDescription());
   textLabel.getStyleClass().add("dashboard-modules-tile-text");
   textLabel.setMinHeight(USE_PREF_SIZE);
   topTile.getChildren().addAll(titleLabel, textLabel);
   button.getStyleClass().add("dashboard-modules-invisible-button");
   button.setMaxSize(Double.MAX_VALUE, Double.MAX_VALUE);
   button.setOnAction(e -> eventStudio().broadcast(activeteModule(module.id())));
   armed.bind(button.armedProperty());
   VBox inner = new VBox(new StackPane(topTile, button));
   prefHeightProperty().bind(inner.heightProperty());
   setMaxHeight(USE_PREF_SIZE);
   setMinHeight(USE_PREF_SIZE);
   inner.getStyleClass().add("dashboard-modules-tile-inner");
   getChildren().add(inner);
   module
       .descriptor()
       .getSupportURL()
       .ifPresent(
           url -> {
             Button playButton = AwesomeDude.createIconButton(AwesomeIcon.YOUTUBE_PLAY, "");
             playButton.getStyleClass().add("pdfsam-toolbar-button");
             playButton.setOnAction(e -> eventStudio().broadcast(new OpenUrlRequest(url)));
             toolButtons.getChildren().add(playButton);
             toolButtons.getStyleClass().add("dashboard-modules-toolbar");
             inner.getChildren().add(toolButtons);
           });
 }
Ejemplo n.º 2
0
  /** Initialisation de l'UI. */
  private void init(Stage primaryStage) throws Exception {
    primaryStage.setTitle("RestoFX");

    // Scene root
    StackPane root = new StackPane();
    root.setPadding(new Insets(16));

    // Scene
    Scene scene = new Scene(root, 480, 320);

    // Buttons
    notGood = new Button();
    notGood.setMaxSize(Double.MAX_VALUE, Double.MAX_VALUE);
    notGood.setText("Pas bien");
    notGood.setOnAction(new NotGoodFetchMenuActionHandler());

    good = new Button();
    good.setMaxSize(Double.MAX_VALUE, Double.MAX_VALUE);
    good.setText("Bien");
    good.setOnAction(new GoodFetchMenuActionHandler());

    // Label
    text = new TextArea();
    text.setMaxSize(Double.MAX_VALUE, Double.MAX_VALUE);
    VBox.setVgrow(text, Priority.ALWAYS);

    // Progress Bar
    progress = new ProgressBar();
    progress.setMaxSize(Double.MAX_VALUE, Double.MAX_VALUE);
    progress.setProgress(1);

    // Vertical layout
    VBox vbox = new VBox(16);
    vbox.setAlignment(Pos.TOP_LEFT);

    // Scene tree
    vbox.getChildren().addAll(notGood, good, text, progress);
    root.getChildren().add(vbox);

    // Set stage scene
    primaryStage.setScene(scene);

    // Setup RestoFX HTTP Client
    restoFXClient = new RestoFXClient("http://127.0.0.1:" + HTTP_PORT + "/");
  }
Ejemplo n.º 3
0
  public ButtonedSlider(double minValue, double maxValue, double currentValue) {
    double diff = Math.max(0, maxValue - minValue);
    slider = new Slider(minValue, maxValue, currentValue);
    slider.setPadding(new Insets(3));
    BorderPane.setAlignment(slider, Pos.CENTER);
    setCenter(slider);

    Button minusButton = new Button("-");
    minusButton.setMinSize(16, 16);
    minusButton.setPrefSize(16, 16);
    minusButton.setMaxSize(16, 16);
    BorderPane.setAlignment(minusButton, Pos.CENTER);
    minusButton.setOnAction(e -> slider.setValue(slider.getValue() - diff / 20.0));
    setLeft(minusButton);

    Button plusButton = new Button("+");
    plusButton.setMinSize(16, 16);
    plusButton.setPrefSize(16, 16);
    plusButton.setMaxSize(16, 16);
    BorderPane.setAlignment(plusButton, Pos.CENTER);
    plusButton.setOnAction(e -> slider.setValue(slider.getValue() + diff / 20.0));
    setRight(plusButton);
  }
Ejemplo n.º 4
0
  public Veld2Verkeerstechniek(
      LeerlingController llnCntrl, SchermController schermCtrl, EvaController evaCtrl) {
    evaController = evaCtrl;
    schermController = schermCtrl;
    llnController = llnCntrl;
    llnController.getLeerling().addView(this);
    hoogte = schermController.getHoogte();
    breedte = schermController.getBreedte();
    mainGP = new GridPane();

    // evaSelector
    eva = new EvaSelector(evaController);

    // labels
    kleur = new Button("Kleur kiezen");
    venster = new Button("Extra venster");

    kleur.setMinSize(120, 30);
    kleur.setMaxSize(120, 30);
    venster.setMinSize(120, 30);
    venster.setMaxSize(120, 30);

    kleur.setStyle(
        "-fx-border-color: black; -fx-border-width:1; -fx-border-style: solid; -fx-background-color: WHITE");
    kleur.setAlignment(Pos.CENTER);
    venster.setStyle(
        "-fx-border-color: black; -fx-border-width:1; -fx-border-style: solid; -fx-background-color: WHITE");
    venster.setAlignment(Pos.CENTER);

    kleur.setOnMouseClicked(
        new EventHandler<MouseEvent>() {
          @Override
          public void handle(MouseEvent e) {
            selecteerKleur();
          }
        });
    venster.setOnMouseClicked(
        new EventHandler<MouseEvent>() {
          @Override
          public void handle(MouseEvent e) {
            selecteerVenster();
          }
        });

    labels = new HBox();
    labels.setSpacing(15);
    labels.setTranslateY(-hoogte * 0.75);
    labels.setTranslateX(20);
    labels.getChildren().addAll(kleur, venster);

    // alle afbeeldingen
    // Links
    links = new GridPane();
    openbareWegImg =
        new Onderdeel("resource/Verkeerstechniek/openbareWeg", -140, 160, evaController);
    openbareWegImg.setOnMouseClicked(
        new EventHandler<MouseEvent>() {
          @Override
          public void handle(MouseEvent e) {
            Veld2Verkeerstechniek.this.schermController.setScherm(
                MainApp.VELD2VERKEERSTECHNIEKPLAATS_ID);
          }
        });
    richtingaanwijzersImg =
        new Onderdeel("resource/Verkeerstechniek/richtingaanwijzers", 120, 140, evaController);
    richtingaanwijzersImg.setOnMouseClicked(
        new EventHandler<MouseEvent>() {
          @Override
          public void handle(MouseEvent e) {
            Veld2Verkeerstechniek.this.schermController.setScherm(
                MainApp.VELD2VERKEERSTECHNIEKRICHTINGAANWIJZERS_ID);
          }
        });
    rechtsafImg = new Onderdeel("resource/Verkeerstechniek/rechtsaf", 220, 160, evaController);
    rechtsafImg.setOnMouseClicked(
        new EventHandler<MouseEvent>() {
          @Override
          public void handle(MouseEvent e) {
            Veld2Verkeerstechniek.this.schermController.setScherm(
                MainApp.VELD2VERKEERSTECHNIEKRECHTSAF_ID);
          }
        });
    linksafImg = new Onderdeel("resource/Verkeerstechniek/linksaf", 120, 190, evaController);
    linksafImg.setOnMouseClicked(
        new EventHandler<MouseEvent>() {
          @Override
          public void handle(MouseEvent e) {
            Veld2Verkeerstechniek.this.schermController.setScherm(
                MainApp.VELD2VERKEERSTECHNIEKLINKSAF_ID);
          }
        });
    kruisenImg = new Onderdeel("resource/Verkeerstechniek/kruisen", 60, 155, evaController);
    kruisenImg.setOnMouseClicked(
        new EventHandler<MouseEvent>() {
          @Override
          public void handle(MouseEvent e) {
            Veld2Verkeerstechniek.this.schermController.setScherm(
                MainApp.VELD2VERKEERSTECHNIEKKRUISEN_ID);
          }
        });
    // Rechts
    rechts = new GridPane();
    voorrangImg = new Onderdeel("resource/Verkeerstechniek/voorrang", -140, 160, evaController);
    voorrangImg.setOnMouseClicked(
        new EventHandler<MouseEvent>() {
          @Override
          public void handle(MouseEvent e) {
            Veld2Verkeerstechniek.this.schermController.setScherm(
                MainApp.VELD2VERKEERSTECHNIEKVOORRANG_ID);
          }
        });
    verkeerstekensImg =
        new Onderdeel("resource/Verkeerstechniek/verkeerstekens", -25, 140, evaController);
    verkeerstekensImg.setOnMouseClicked(
        new EventHandler<MouseEvent>() {
          @Override
          public void handle(MouseEvent e) {
            Veld2Verkeerstechniek.this.schermController.setScherm(
                MainApp.VELD2VERKEERSTECHNIEKVERKEERSTEKENS_ID);
          }
        });
    snelheidImg = new Onderdeel("resource/Verkeerstechniek/snelheid", 30, 155, evaController);
    snelheidImg.setOnMouseClicked(
        new EventHandler<MouseEvent>() {
          @Override
          public void handle(MouseEvent e) {
            Veld2Verkeerstechniek.this.schermController.setScherm(
                MainApp.VELD2VERKEERSTECHNIEKSNELHEID_ID);
          }
        });
    afstandImg = new Onderdeel("resource/Verkeerstechniek/afstand", -25, 190, evaController);
    afstandImg.setOnMouseClicked(
        new EventHandler<MouseEvent>() {
          @Override
          public void handle(MouseEvent e) {
            Veld2Verkeerstechniek.this.schermController.setScherm(
                MainApp.VELD2VERKEERSTECHNIEKAFSTAND_ID);
          }
        });
    inhalenImg = new Onderdeel("resource/Verkeerstechniek/inhalen", 220, 160, evaController);
    inhalenImg.setOnMouseClicked(
        new EventHandler<MouseEvent>() {
          @Override
          public void handle(MouseEvent e) {
            Veld2Verkeerstechniek.this.schermController.setScherm(
                MainApp.VELD2VERKEERSTECHNIEKINHALEN_ID);
          }
        });
    // pijlen center
    pijlen = new Pijlen(evaController, 300);

    // GridPane links
    links.add(inhalenImg, 0, 0);
    links.add(richtingaanwijzersImg, 0, 1);
    links.add(kruisenImg, 0, 2);
    links.add(linksafImg, 0, 3);
    links.add(rechtsafImg, 0, 4);

    // GridPane rechts
    rechts.add(voorrangImg, 0, 0);
    rechts.add(verkeerstekensImg, 0, 1);
    rechts.add(snelheidImg, 0, 2);
    rechts.add(afstandImg, 0, 3);
    rechts.add(openbareWegImg, 0, 4);

    // opmaak
    // algemeen
    mainGP.setHgap(50);
    // links
    links.setAlignment(Pos.CENTER);
    links.setVgap(20);
    links.setMaxWidth(80);
    inhalenImg.setFitHeight(80);
    inhalenImg.setFitWidth(80);
    inhalenImg.setTranslateX(180);
    richtingaanwijzersImg.setFitHeight(80);
    richtingaanwijzersImg.setFitWidth(80);
    richtingaanwijzersImg.setTranslateX(75);
    richtingaanwijzersImg.setTranslateY(-30);
    kruisenImg.setFitHeight(80);
    kruisenImg.setFitWidth(80);
    kruisenImg.setTranslateX(10);
    linksafImg.setFitHeight(80);
    linksafImg.setFitWidth(80);
    linksafImg.setTranslateX(75);
    linksafImg.setTranslateY(30);
    rechtsafImg.setFitHeight(80);
    rechtsafImg.setFitWidth(80);
    rechtsafImg.setTranslateX(180);
    // rechts
    rechts.setAlignment(Pos.CENTER);
    rechts.setVgap(20);
    rechts.setMaxWidth(80);
    voorrangImg.setFitHeight(80);
    voorrangImg.setFitWidth(80);
    voorrangImg.setTranslateX(-180);
    verkeerstekensImg.setFitHeight(80);
    verkeerstekensImg.setFitWidth(80);
    verkeerstekensImg.setTranslateX(-75);
    verkeerstekensImg.setTranslateY(-30);
    snelheidImg.setFitHeight(80);
    snelheidImg.setFitWidth(80);
    snelheidImg.setTranslateX(-10);
    afstandImg.setFitHeight(80);
    afstandImg.setFitWidth(80);
    afstandImg.setTranslateX(-75);
    afstandImg.setTranslateY(30);
    openbareWegImg.setFitHeight(80);
    openbareWegImg.setFitWidth(80);
    openbareWegImg.setTranslateX(-180);
    // pijlen center
    pijlen.setAlignment(Pos.CENTER);
    pijlen.setTranslateY(10);

    // Exit button
    exit = new Button("Ga terug");
    exit.setTranslateX(50);
    exit.setTranslateY(75);

    eva.setTranslateX(-50);
    eva.setTranslateY(75);

    // eventhandler
    exit.setOnAction(
        new EventHandler<ActionEvent>() {
          @Override
          public void handle(ActionEvent e) {
            exitVerkeerstechniek();
          }
        });
    exit.setStyle("-fx-background-color: #5F6A95; -fx-text-fill:white");

    for (Node c : links.getChildren()) {
      if (c instanceof Onderdeel) {
        c.setOnMouseClicked(
            new EventHandler<MouseEvent>() {
              @Override
              public void handle(MouseEvent e) {
                KleurKiezerHouder.show(links, (Onderdeel) c);
              }
            });
      }
    }

    for (Node c : rechts.getChildren()) {
      if (c instanceof Onderdeel) {
        c.setOnMouseClicked(
            new EventHandler<MouseEvent>() {
              @Override
              public void handle(MouseEvent e) {
                KleurKiezerHouder.show(rechts, (Onderdeel) c);
              }
            });
      }
    }

    eva.setOnMouseClicked(
        new EventHandler<MouseEvent>() {
          @Override
          public void handle(MouseEvent e) {
            update();
          }
        });
    this.setOnMouseClicked(
        new EventHandler<MouseEvent>() {
          @Override
          public void handle(MouseEvent e) {
            update();
          }
        });

    // achtergrond
    achtergrond = new ImageView("resource/Verkeerstechniek/achtergrondVt.png");
    achtergrond.setTranslateX(breedte / 2);
    mainGP.setTranslateX(-breedte * 0.53);
    mainGP.setTranslateY(5);
    mainGP.setMinWidth(breedte);
    mainGP.setMaxWidth(breedte);

    // Alle Gridpanes toevoegen an hoofd GridPane
    // volgorde is belangrijk, niet aanpassen!
    mainGP.add(pijlen, 2, 0);
    mainGP.add(rechts, 3, 0);
    mainGP.add(links, 1, 0);
    mainGP.add(exit, 3, 1);
    mainGP.add(labels, 2, 1);
    mainGP.add(eva, 1, 1);
    mainGP.setAlignment(Pos.CENTER);
    // mainGP.setStyle("-fx-background-color: #003399");

    this.getChildren().add(achtergrond);
    this.getChildren().add(mainGP);
    this.setAlignment(Pos.CENTER);

    selecteerKleur();
    update();
  }