Search in sources :

Example 36 with TextInputDialog

use of javafx.scene.control.TextInputDialog in project Smartcity-Smarthouse by TechnionYP5777.

the class MainSensorListController method initialize.

/*
     * (non-Javadoc)
     * 
     * @see
     * il.ac.technion.cs.smarthouse.gui_controller.GuiController#initialize(java
     * .lang.Object, il.ac.technion.cs.smarthouse.gui_controller.GuiController,
     * java.net.URL, java.util.ResourceBundle)
     */
@Override
protected <T extends GuiController<SensorsSimulator>> void initialize(SensorsSimulator model1, T parent1, URL location, ResourceBundle b) {
    Consumer<GenericSensor> addConsumer = x -> {
        this.sensors.add(new Pair<String, String>(model1.getSensorId(x), x.getCommname() + "(" + x.getAlias() + ")"));
        sensors.sort(new Comparator<Pair<String, String>>() {

            @Override
            public int compare(Pair<String, String> o1, Pair<String, String> o2) {
                return o1.getValue().compareTo(o2.getValue());
            }
        });
    };
    model1.addListenerWhen(SensorsSimulator.Action.ADD, addConsumer);
    sensorTable.setItems(sensors);
    nameColumn.prefWidthProperty().bind(sensorTable.widthProperty().multiply(0.7));
    nameColumn.setResizable(false);
    nameColumn.setCellValueFactory(cellData -> new ReadOnlyStringWrapper(cellData.getValue().getValue()));
    configColumn.prefWidthProperty().bind(sensorTable.widthProperty().multiply(0.1));
    configColumn.setResizable(false);
    configColumn.setCellValueFactory(param -> new SimpleBooleanProperty(param.getValue() != null));
    configColumn.setCellFactory(p -> {
        final ButtonCell $ = new ButtonCell();
        $.setAction(new EventHandler<ActionEvent>() {

            @Override
            public void handle(ActionEvent e) {
                final TextInputDialog dialog = new TextInputDialog();
                dialog.setGraphic(new ImageView(new Image(getClass().getResourceAsStream("/Homeicon.png"))));
                dialog.setTitle("Sensor simulator");
                dialog.setHeaderText("Clone Sensor");
                dialog.setContentText("Please enter the cloned sensor alias:");
                final Optional<String> result = dialog.showAndWait();
                if (!result.isPresent())
                    return;
                final String name = result.get();
                MainSensorListController.this.getModel().cloneSensor($.getTableView().getItems().get($.getIndex()).getKey(), name);
            }
        });
        $.setImage(new ImageView(new Image(getClass().getResourceAsStream("/Copy.png"))));
        $.setAlignment(Pos.CENTER);
        return $;
    });
    messageColumn.prefWidthProperty().bind(sensorTable.widthProperty().multiply(0.1));
    messageColumn.setResizable(false);
    messageColumn.setCellValueFactory(param -> new SimpleBooleanProperty(param.getValue() != null));
    messageColumn.setCellFactory(p -> {
        final ButtonCell $ = new ButtonCell();
        $.setAction(new EventHandler<ActionEvent>() {

            @Override
            public void handle(ActionEvent e) {
                setSelectedSensor($.getTableView().getItems().get($.getIndex()).getKey());
                ((DeveloperSimulatorController) MainSensorListController.this.getParentController()).openMessageWindow();
            }
        });
        $.setImage(new ImageView(new Image(getClass().getResourceAsStream("/Message.png"))));
        $.setAlignment(Pos.CENTER);
        return $;
    });
    deleteColumn.prefWidthProperty().bind(sensorTable.widthProperty().multiply(0.1));
    deleteColumn.setResizable(false);
    deleteColumn.setCellValueFactory(param -> new SimpleBooleanProperty(param.getValue() != null));
    deleteColumn.setCellFactory(p -> {
        final ButtonCell $ = new ButtonCell();
        $.setAction(new EventHandler<ActionEvent>() {

            @Override
            public void handle(ActionEvent e) {
                Alert alert = new Alert(AlertType.CONFIRMATION);
                alert.setTitle("Confirmation Dialog");
                alert.setHeaderText("Are you sure?");
                alert.setContentText("The sensor will be deleted forever!");
                Optional<ButtonType> result = alert.showAndWait();
                if (result.get() != ButtonType.OK)
                    return;
                final Pair<String, String> currentSensor = $.getTableView().getItems().get($.getIndex());
                model1.removeSensor(currentSensor.getKey());
                MainSensorListController.this.sensors.remove(currentSensor);
            }
        });
        $.setImage(new ImageView(new Image(getClass().getResourceAsStream("/Delete.png"))));
        $.setAlignment(Pos.CENTER);
        return $;
    });
    addButton.setOnAction(new EventHandler<ActionEvent>() {

        @Override
        public void handle(ActionEvent e) {
            ((DeveloperSimulatorController) MainSensorListController.this.getParentController()).moveToConfiguration();
        }
    });
}
Also used : EventHandler(javafx.event.EventHandler) Button(javafx.scene.control.Button) Pos(javafx.geometry.Pos) URL(java.net.URL) GuiController(il.ac.technion.cs.smarthouse.gui_controller.GuiController) ButtonType(javafx.scene.control.ButtonType) FXCollections(javafx.collections.FXCollections) TableColumn(javafx.scene.control.TableColumn) TableCell(javafx.scene.control.TableCell) ResourceBundle(java.util.ResourceBundle) AlertType(javafx.scene.control.Alert.AlertType) TableView(javafx.scene.control.TableView) Alert(javafx.scene.control.Alert) Pair(javafx.util.Pair) SensorsSimulator(il.ac.technion.cs.smarthouse.sensors.simulator.SensorsSimulator) ReadOnlyStringWrapper(javafx.beans.property.ReadOnlyStringWrapper) Consumer(java.util.function.Consumer) FXML(javafx.fxml.FXML) ActionEvent(javafx.event.ActionEvent) SimpleBooleanProperty(javafx.beans.property.SimpleBooleanProperty) GenericSensor(il.ac.technion.cs.smarthouse.sensors.simulator.GenericSensor) ImageView(javafx.scene.image.ImageView) TextInputDialog(javafx.scene.control.TextInputDialog) Optional(java.util.Optional) ObservableList(javafx.collections.ObservableList) Comparator(java.util.Comparator) Image(javafx.scene.image.Image) SimpleBooleanProperty(javafx.beans.property.SimpleBooleanProperty) Optional(java.util.Optional) ReadOnlyStringWrapper(javafx.beans.property.ReadOnlyStringWrapper) ActionEvent(javafx.event.ActionEvent) Image(javafx.scene.image.Image) Comparator(java.util.Comparator) Alert(javafx.scene.control.Alert) ImageView(javafx.scene.image.ImageView) GenericSensor(il.ac.technion.cs.smarthouse.sensors.simulator.GenericSensor) Pair(javafx.util.Pair) TextInputDialog(javafx.scene.control.TextInputDialog)

Example 37 with TextInputDialog

use of javafx.scene.control.TextInputDialog in project jvarkit by lindenb.

the class IndexCovJfx method askGoto.

/**
 * show dialog with textfield and invoke askGoto(string)
 */
private void askGoto() {
    final TextInputDialog dialog = new TextInputDialog("Enter position");
    dialog.setTitle("Go To...");
    dialog.setHeaderText("Enter a position");
    dialog.setContentText("chrom:pos");
    // Traditional way to get the response value.
    final Optional<String> result = dialog.showAndWait();
    if (!result.isPresent()) {
        new Alert(AlertType.WARNING, "No input", ButtonType.OK).showAndWait();
        return;
    }
    askGoto(result.get());
}
Also used : Alert(javafx.scene.control.Alert) TextInputDialog(javafx.scene.control.TextInputDialog)

Example 38 with TextInputDialog

use of javafx.scene.control.TextInputDialog in project jvarkit by lindenb.

the class JfxNgs method openVcfUrl.

void openVcfUrl(final Window owner) {
    final String lastkey = "last.vcf.url";
    final TextInputDialog dialog = new TextInputDialog(this.preferences.get(lastkey, ""));
    dialog.setContentText("URL:");
    dialog.setTitle("Get VCF URL");
    dialog.setHeaderText("Input VCF URL");
    final Optional<String> choice = dialog.showAndWait();
    if (!choice.isPresent())
        return;
    VcfFile input = null;
    try {
        input = VcfFile.newInstance(choice.get());
        this.preferences.put(lastkey, choice.get());
        VcfStage stage = new VcfStage(JfxNgs.this, input);
        stage.show();
    } catch (final Exception err) {
        CloserUtil.close(input);
        showExceptionDialog(owner, err);
    }
}
Also used : ScriptException(javax.script.ScriptException) BackingStoreException(java.util.prefs.BackingStoreException) IOException(java.io.IOException) TextInputDialog(javafx.scene.control.TextInputDialog)

Aggregations

TextInputDialog (javafx.scene.control.TextInputDialog)38 Alert (javafx.scene.control.Alert)12 FXML (javafx.fxml.FXML)9 ActionEvent (javafx.event.ActionEvent)8 EventHandler (javafx.event.EventHandler)8 KeyFrame (javafx.animation.KeyFrame)7 Timeline (javafx.animation.Timeline)7 Stage (javafx.stage.Stage)7 ReplyUtil (eu.ggnet.dwoss.common.ReplyUtil)6 AccessableAction (eu.ggnet.saft.core.auth.AccessableAction)6 ActionEvent (java.awt.event.ActionEvent)6 Dl (eu.ggnet.saft.Dl)5 Ui (eu.ggnet.saft.Ui)5 Reply (eu.ggnet.saft.api.Reply)5 IOException (java.io.IOException)4 Guardian (eu.ggnet.saft.core.auth.Guardian)3 Point (java.awt.Point)3 Optional (java.util.Optional)3 StringUtils (org.apache.commons.lang3.StringUtils)3 CircuitState (com.cas.sim.tis.app.state.CircuitState)2