diff --git a/src/main/java/edu/ntnu/idatt2001/group_30/paths/view/PassageNode.java b/src/main/java/edu/ntnu/idatt2001/group_30/paths/view/PassageNode.java deleted file mode 100644 index 05882d9d03a540638019bd0441e305cae01fca50..0000000000000000000000000000000000000000 --- a/src/main/java/edu/ntnu/idatt2001/group_30/paths/view/PassageNode.java +++ /dev/null @@ -1,91 +0,0 @@ -package edu.ntnu.idatt2001.group_30.paths.view; - -import edu.ntnu.idatt2001.group_30.paths.PathsSingleton; -import edu.ntnu.idatt2001.group_30.paths.model.Passage; -import java.util.ArrayList; -import java.util.List; -import javafx.geometry.Point2D; -import javafx.scene.Cursor; -import javafx.scene.layout.Pane; -import javafx.scene.paint.Color; -import javafx.scene.paint.Paint; -import javafx.scene.shape.Line; -import javafx.scene.shape.Rectangle; -import javafx.scene.text.Text; - -/* - TODO: - - add ability to edit. - - add links (double click to draw? click again on another passage to add link?) - - problems: reconstructing the layout of shapes (need to store positions) - */ - -public class PassageNode extends Pane { - - private final Passage passage; - private final Rectangle rectangle; - private final Text text; - private Point2D passageInitOffset; - - private final List<Line> links = new ArrayList<>(); //TODO: may need to actually make a linkNode class... - - public PassageNode(Passage passage) { - this(100, 100, 100, 100, passage); - } - - public PassageNode(double v, double v1, Passage passage) { - this(v, v1, 100, 100, passage); - } - - public PassageNode(double v, double v1, Paint paint, Passage passage) { - this(v, v1, 100, 100, passage); - this.rectangle.setFill(paint); - } - - public PassageNode(double v, double v1, double v2, double v3, Passage passage) { - this.passage = passage; - this.rectangle = new Rectangle(0, 0, v2, v3); - this.rectangle.setFill(Color.WHITE); - this.rectangle.setStyle("-fx-border-color: black;"); - this.text = new Text(passage.toString()); - this.text.setFill(Color.BLACK); - - addPassageEventListener(); - - getChildren().addAll(this.rectangle, this.text); - this.setLayoutX(v); - this.setLayoutY(v1); - this.setPrefSize(v2, v3); - // this.setTranslateX(v); - // this.setTranslateY(v1); - - } - - private void addPassageEventListener() { - this.setOnMousePressed(mouseEvent -> { - this.setCursor(Cursor.HAND); - this.passageInitOffset = - new Point2D(mouseEvent.getX(), mouseEvent.getY()) - .subtract(this.getTranslateX(), this.getTranslateY()); - }); - - this.setOnMouseDragged(event -> { - this.setCursor(Cursor.MOVE); - PathsSingleton.INSTANCE.setPassageMoving(true); - - double newX = event.getX() - this.passageInitOffset.getX(); - double newY = event.getY() - this.passageInitOffset.getY(); - - this.setTranslateX(newX); - this.setTranslateY(newY); - // this.getChildren().forEach(child -> child.setTranslateX(event.getX() - this.getWidth()/2)); - // this.setX(event.getX() - this.getWidth()/2); - // this.setY(event.getY() - this.getHeight()/2); - //TODO: adjust link as well - }); - - this.setOnMouseReleased(mouseDragEvent -> { - PathsSingleton.INSTANCE.setPassageMoving(false); - }); - } -} diff --git a/src/main/java/edu/ntnu/idatt2001/group_30/paths/view/StoryCreation.java b/src/main/java/edu/ntnu/idatt2001/group_30/paths/view/StoryCreation.java deleted file mode 100644 index 51e4144d1365f0f98d7fe03fb07262bcd9a14365..0000000000000000000000000000000000000000 --- a/src/main/java/edu/ntnu/idatt2001/group_30/paths/view/StoryCreation.java +++ /dev/null @@ -1,130 +0,0 @@ -package edu.ntnu.idatt2001.group_30.paths.view; - -import edu.ntnu.idatt2001.group_30.paths.PathsSingleton; -import edu.ntnu.idatt2001.group_30.paths.model.Passage; -import javafx.application.Application; -import javafx.collections.FXCollections; -import javafx.collections.ObservableList; -import javafx.geometry.Point2D; -import javafx.scene.Cursor; -import javafx.scene.Scene; -import javafx.scene.control.Button; -import javafx.scene.control.ScrollPane; -import javafx.scene.layout.AnchorPane; -import javafx.scene.layout.Pane; -import javafx.scene.layout.VBox; -import javafx.scene.shape.Line; -import javafx.stage.Stage; - -public class StoryCreation extends Application { - - public static final int DEFAULT_WIDTH = 1000; - public static final int DEFAULT_HEIGHT = 1000; - private static Stage stage; - private Point2D contentPaneInitOffset; - private final ObservableList<PassageNode> passages = FXCollections.observableArrayList(); - - /** - * The entry point of the application. - * @param args The command line arguments. - */ - public static void main(String[] args) { - launch(); - } - - /** - * The start method is called by the JavaFX runtime after the init method has returned. - * @param stage The primary stage for this application, onto which the application scene can be set. - */ - @Override - public void start(Stage stage) { - StoryCreation.stage = stage; - StoryCreation.stage.setTitle("Paths"); - AnchorPane anchorPane = new AnchorPane(); - - ScrollPane scrollPane = new ScrollPane(); - scrollPane.setPrefSize(1000, 1000); - - Pane contentPane = new Pane(); - contentPane.setStyle("-fx-border-color: black;"); - scrollPane.setContent(contentPane); - - PassageNode passage1 = new PassageNode(50, 50, 100, 50, new Passage("Passage title", "Content")); - PassageNode passage2 = new PassageNode(200, 200, 100, 50, new Passage("Passage title2", "Content2")); - - passages.addAll(passage1, passage2); - //TODO: make class for GUI passage, containing place for GUI link... - Line link1 = new Line(100, 75, 200, 225); - - contentPane.getChildren().addAll(passage1, passage2, link1); - - addContentPaneEventListeners(contentPane); - - scrollPane.setOnZoom(event -> { - double zoomFactor = event.getTotalZoomFactor(); - contentPane.setScaleX(contentPane.getScaleX() * zoomFactor); - contentPane.setScaleY(contentPane.getScaleY() * zoomFactor); - }); - - Button addPassage = new Button("Add Passage"); - VBox menu = new VBox(addPassage); - menu.setTranslateX(300); - menu.setTranslateY(300); - - anchorPane.getChildren().addAll(scrollPane, menu); - - addPassage - .onActionProperty() - .set(actionEvent -> { - PassageNode newPassage = new PassageNode( - 200 + 100 * passages.size(), - 200, - 100, - 50, - new Passage("Passage title", "Content2") - ); - passages.add(newPassage); - contentPane.getChildren().add(newPassage); - }); - - Scene scene = new Scene(anchorPane, DEFAULT_WIDTH, DEFAULT_HEIGHT); - StoryCreation.stage.setScene(scene); - StoryCreation.stage.show(); - } - - private void addContentPaneEventListeners(Pane contentPane) { - contentPane.setOnMousePressed(mouseEvent -> { - contentPane.setCursor(Cursor.HAND); - contentPaneInitOffset = - new Point2D(mouseEvent.getX(), mouseEvent.getY()) - .subtract(contentPane.getTranslateX(), contentPane.getTranslateY()); - }); - - contentPane.setOnMouseReleased(mouseEvent -> { - contentPane.setCursor(Cursor.DEFAULT); - }); - - contentPane.setOnMouseDragged(mouseEvent -> { - if (!PathsSingleton.INSTANCE.isPassageMoving()) { - contentPane.setCursor(Cursor.HAND); - - double newX = mouseEvent.getX() - contentPaneInitOffset.getX(); - double newY = mouseEvent.getY() - contentPaneInitOffset.getY(); - contentPane.setTranslateX(newX); - contentPane.setTranslateY(newY); - } - }); - - contentPane.setOnMouseClicked(mouseEvent -> { - PassageNode newPassage = new PassageNode( - mouseEvent.getX(), - mouseEvent.getY(), - 100, - 50, - new Passage("Passage title", "Content2") - ); - passages.add(newPassage); - contentPane.getChildren().add(newPassage); - }); - } -} diff --git a/src/main/java/edu/ntnu/idatt2001/group_30/paths/view/StoryDisplay.java b/src/main/java/edu/ntnu/idatt2001/group_30/paths/view/components/StoryDisplay.java similarity index 99% rename from src/main/java/edu/ntnu/idatt2001/group_30/paths/view/StoryDisplay.java rename to src/main/java/edu/ntnu/idatt2001/group_30/paths/view/components/StoryDisplay.java index b6f4f484df411a640a1bfeed033d048784b28c27..9fbe46a32dfa7fe38f53f2a803c0f04ab9777282 100644 --- a/src/main/java/edu/ntnu/idatt2001/group_30/paths/view/StoryDisplay.java +++ b/src/main/java/edu/ntnu/idatt2001/group_30/paths/view/components/StoryDisplay.java @@ -1,4 +1,4 @@ -package edu.ntnu.idatt2001.group_30.paths.view; +package edu.ntnu.idatt2001.group_30.paths.view.components; import edu.ntnu.idatt2001.group_30.paths.model.Story; import edu.ntnu.idatt2001.group_30.paths.model.filehandling.FileHandler;