package net.krazyweb.starmodmanager.dialogue;
import javafx.geometry.Pos;
import javafx.scene.Scene;
import javafx.scene.layout.VBox;
import javafx.scene.text.Text;
import javafx.stage.Modality;
import javafx.stage.Stage;
import net.krazyweb.jfx.controls.ProgressIndicatorBar;
import net.krazyweb.starmodmanager.data.SettingsFactory;
import net.krazyweb.starmodmanager.data.SettingsModelInterface;
import net.krazyweb.starmodmanager.view.LoaderView;
public class ProgressDialogue {
private Stage stage;
private ProgressIndicatorBar bar;
private Text text;
public ProgressDialogue(final String windowTitle) {
build(windowTitle);
}
private void build(final String windowTitle) {
SettingsModelInterface settings = new SettingsFactory().getInstance();
bar = new ProgressIndicatorBar();
bar.setSize(250.0, 56.0);
text = new Text();
text.setId("progress-text");
VBox box = new VBox();
box.getChildren().addAll(
text,
bar
);
box.setAlignment(Pos.CENTER);
box.setSpacing(34);
Scene scene = new Scene(box, 450, 300);
scene.getStylesheets().add(LoaderView.class.getClassLoader().getResource("theme_base.css").toString());
scene.getStylesheets().add(LoaderView.class.getClassLoader().getResource(settings.getPropertyString("theme")).toString());
stage = new Stage();
stage.setScene(scene);
stage.setTitle(windowTitle);
stage.initModality(Modality.APPLICATION_MODAL);
stage.centerOnScreen();
}
public void close() {
stage.close();
}
public ProgressIndicatorBar getProgressBar() {
return bar;
}
public Text getText() {
return text;
}
public void start() {
stage.show();
}
}