2023-03-28 20:42:22 +02:00

68 lines
2.3 KiB
Java

package at.fos.ermodel.gui;
import javafx.scene.control.Alert;
import javafx.scene.control.ButtonType;
import javafx.scene.control.ScrollPane;
import javafx.scene.control.Tab;
import javafx.scene.input.KeyEvent;
import javafx.scene.layout.StackPane;
import java.io.File;
import java.util.Optional;
public class U1
extends Tab {
public final A3 canvas;
public final StackPane stackpane;
public final ScrollPane scrollpane;
public U1(B3 view, String name, File modelInFile) {
this.stackpane = new StackPane();
this.stackpane.setBackground(C2.AppBackground);
this.canvas = new A3(view, modelInFile, this);
this.stackpane.getChildren().add(this.canvas);
this.scrollpane = new ScrollPane(this.stackpane);
this.stackpane.setFocusTraversable(true);
this.scrollpane.setFocusTraversable(true);
this.scrollpane.setVmin(0.0D);
this.scrollpane.setVmax(this.canvas.getCanvasHeight());
this.scrollpane.setHmin(0.0D);
this.scrollpane.setHmax(this.canvas.getCanvasWidth());
this.stackpane.addEventFilter(KeyEvent.ANY, e -> this.scrollpane.requestFocus());
this.scrollpane.addEventFilter(KeyEvent.ANY, e -> this.scrollpane.requestFocus());
setOnCloseRequest(e -> {
if (getTabPane().getTabs().size() <= 1) {
e.consume();
return;
}
C1 alert = new C1(null, Alert.AlertType.CONFIRMATION, "Close Tab", "", "Do you really want to close", Boolean.TRUE, C2.applicationImageIconAsICO, "OK", "Cancel", C2.ButtonBackgroundColor, C2.MouseSelectedColor, C2.FocusOnComponentColor);
Optional<ButtonType> result = alert.getResult();
if (result.isPresent() && result.get() == ButtonType.OK) {
view.selectModeBTN.setSelected(true);
} else {
e.consume();
}
});
this.scrollpane.setOnKeyPressed(U1.this.canvas::sdfdsfd567657rrt);
this.stackpane.setOnKeyPressed(U1.this.canvas::sdfdsfd567657rrt);
this.canvas.setOnKeyPressed(U1.this.canvas::sdfdsfd567657rrt);
setContent(this.scrollpane);
if (modelInFile == null) {
setText(name);
} else {
setText(modelInFile.getName());
}
this.canvas.requestFocus();
}
}