/* * Copyright (c) 2013-2017 Chris Newland. * Licensed under https://github.com/AdoptOpenJDK/jitwatch/blob/master/LICENSE-BSD * Instructions: https://github.com/AdoptOpenJDK/jitwatch/wiki */ package org.adoptopenjdk.jitwatch.ui.main; import org.adoptopenjdk.jitwatch.core.JITWatchConfig; import org.adoptopenjdk.jitwatch.ui.stage.StageManager; import org.adoptopenjdk.jitwatch.util.UserInterfaceUtil; import javafx.beans.value.ChangeListener; import javafx.beans.value.ObservableValue; import javafx.event.ActionEvent; import javafx.event.EventHandler; import javafx.geometry.Insets; import javafx.geometry.Pos; import javafx.scene.Scene; import javafx.scene.control.Button; import javafx.scene.control.CheckBox; import javafx.scene.control.Label; import javafx.scene.control.Tooltip; import javafx.scene.layout.HBox; import javafx.scene.layout.VBox; import javafx.scene.text.Text; import javafx.stage.Stage; import javafx.stage.StageStyle; public class NothingMountedStage extends Stage { public NothingMountedStage(final JITWatchUI parent, final JITWatchConfig config) { initStyle(StageStyle.DECORATED); VBox vbox = new VBox(); vbox.setSpacing(20); vbox.setPadding(new Insets(10)); Scene scene = UserInterfaceUtil.getScene(vbox, 530, 200); setTitle("No classes or sources mounted"); Label lblMsg1 = new Label("I see you've not configured any source or class locations?"); Text lblMsg2 = new Text("JITWatch will try and work out the classpath from the JIT log but if I miss\nanything then you might need to configure the paths manually!"); CheckBox cbShowWarning = new CheckBox("Don't show this warning again."); cbShowWarning.setTooltip(new Tooltip("Don't show warning about no source or class files added.")); cbShowWarning.setSelected(false); cbShowWarning.selectedProperty().addListener(new ChangeListener<Boolean>() { @Override public void changed(ObservableValue<? extends Boolean> ov, Boolean oldVal, Boolean newVal) { config.setShowNothingMounted(!newVal); config.saveConfig(); } }); HBox hboxButtons = new HBox(); hboxButtons.setSpacing(20); hboxButtons.setPadding(new Insets(10)); hboxButtons.setAlignment(Pos.CENTER); Button btnOpenConfig = new Button("Open Config"); Button btnDismiss = new Button("Dismiss"); btnOpenConfig.setOnAction(new EventHandler<ActionEvent>() { @Override public void handle(ActionEvent e) { close(); parent.openConfigStage(); parent.handleStageClosed(NothingMountedStage.this); } }); btnDismiss.setOnAction(StageManager.getCloseHandler(this)); hboxButtons.getChildren().add(btnDismiss); hboxButtons.getChildren().add(btnOpenConfig); vbox.getChildren().add(lblMsg1); vbox.getChildren().add(lblMsg2); //vbox.getChildren().add(lblMsg3); vbox.getChildren().add(cbShowWarning); vbox.getChildren().add(hboxButtons); setScene(scene); } }