diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000000000000000000000000000000000000..c923efa28657ca279f43cd6d3a40b8e21595bea2 --- /dev/null +++ b/.gitignore @@ -0,0 +1,9 @@ +.gradle/ +.idea/ +idea/ +build/ +*.iml +*.ipr +*.iws +gradle/wrapper/gradle-wrapper.jar +out/ diff --git a/.idea/gradle.xml b/.idea/gradle.xml index 611e7c8ad7b91e576987485e8678b0fdad4193ae..66229213367b0b0a3d7068fb2c7013558ce98ced 100644 --- a/.idea/gradle.xml +++ b/.idea/gradle.xml @@ -4,8 +4,11 @@ <component name="GradleSettings"> <option name="linkedExternalProjectsSettings"> <GradleProjectSettings> + <option name="delegatedBuild" value="true" /> + <option name="testRunner" value="GRADLE" /> <option name="distributionType" value="DEFAULT_WRAPPED" /> <option name="externalProjectPath" value="$PROJECT_DIR$" /> + <option name="gradleJvm" value="11" /> <option name="modules"> <set> <option value="$PROJECT_DIR$" /> diff --git a/.idea/misc.xml b/.idea/misc.xml index 5d9825616f6a0738b6c655b9418a4d1d99c32d55..6624aa5239bd87293312b297feabe77375fc86df 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -1,10 +1,9 @@ -<?xml version="1.0" encoding="UTF-8"?> <project version="4"> <component name="ExternalStorageConfigurationManager" enabled="true" /> <component name="FrameworkDetectionExcludesConfiguration"> <file type="web" url="file://$PROJECT_DIR$" /> </component> - <component name="ProjectRootManager" version="2" languageLevel="JDK_11" default="true" project-jdk-name="11" project-jdk-type="JavaSDK"> + <component name="ProjectRootManager" version="2" languageLevel="JDK_11" project-jdk-name="corretto-16" project-jdk-type="JavaSDK"> <output url="file://$PROJECT_DIR$/out" /> </component> </project> \ No newline at end of file diff --git a/.idea/runConfigurations.xml b/.idea/runConfigurations.xml deleted file mode 100644 index 797acea53eb091cf5b30518802c3073f544adeed..0000000000000000000000000000000000000000 --- a/.idea/runConfigurations.xml +++ /dev/null @@ -1,10 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<project version="4"> - <component name="RunConfigurationProducerService"> - <option name="ignoredProducers"> - <set> - <option value="com.android.tools.idea.compose.preview.runconfiguration.ComposePreviewRunConfigurationProducer" /> - </set> - </option> - </component> -</project> \ No newline at end of file diff --git a/build.gradle b/build.gradle index b2ad662f19ea93442e46941119f429fd634dca89..eaa0ce3658256de23b0d776b4d6e82e518324d2d 100644 --- a/build.gradle +++ b/build.gradle @@ -15,19 +15,17 @@ javafx { version '1.0-SNAPSHOT' -sourceCompatibility = "11" -targetCompatibility = "11" + repositories { mavenCentral() } dependencies { - testCompile group: 'junit', name: 'junit', version: '4.12' - testCompile 'org.hamcrest:hamcrest-library:1.3' + } -mainClassName = "shape.App" +mainClassName = "serializer.App" test { diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 6027963bc854237e910c42d73d203a7deb18944a..b4102016571ce7f193aa3c9d12a8df191140a93b 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -3,4 +3,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-4.8-all.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-7.1-all.zip diff --git a/src/main/java/serializer/App.java b/src/main/java/serializer/App.java index b939b32a14aa5a406e418fe77582ae5bc7b3eddc..7fd12812c2279a0ee88c2a6ddb3ef64748eb874b 100644 --- a/src/main/java/serializer/App.java +++ b/src/main/java/serializer/App.java @@ -3,6 +3,7 @@ package serializer; import javafx.application.Application; import javafx.scene.Group; import javafx.scene.Scene; +import javafx.scene.control.Button; import javafx.stage.Stage; public class App extends Application { @@ -18,5 +19,13 @@ public class App extends Application { root.getChildren().add(container); primaryStage.setScene(new Scene(root)); primaryStage.show(); + Button save = new Button("save"); + root.getChildren().add(save); + save.setLayoutX(0); + save.setLayoutY(0); + root.setOnKeyPressed(event->container.context.keyPressed(event)); + //save.setOnKeyPressed(event->container.context.keyPressed(event)); + save.setOnAction(event -> container.write()); + } } \ No newline at end of file diff --git a/src/main/java/serializer/DrawerWithSave.java b/src/main/java/serializer/DrawerWithSave.java index 69fd4b50862378f83a7dc1a18ae2e6637d201704..2852edf47f756a132226ce5463599bdf1b95601c 100644 --- a/src/main/java/serializer/DrawerWithSave.java +++ b/src/main/java/serializer/DrawerWithSave.java @@ -39,7 +39,7 @@ public class DrawerWithSave extends state.Drawer { File file = fileChooser.showOpenDialog(getScene().getWindow()); if (file == null) return; try { - super.shapes = ShapeReader.read(file, Collectors.toList()); + super.shapes = ShapeReader.read(file); repaint(); } catch (IOException e) { Alert alert = new Alert(Alert.AlertType.INFORMATION); diff --git a/src/main/java/serializer/ShapeReader.java b/src/main/java/serializer/ShapeReader.java index 5dd618bee347ec8bed24a6225947f350155a0d2e..4905948e502223776ff4e2f8367b633669915e01 100644 --- a/src/main/java/serializer/ShapeReader.java +++ b/src/main/java/serializer/ShapeReader.java @@ -2,13 +2,19 @@ package serializer; import shape.Shape; +import java.io.BufferedReader; import java.io.File; +import java.io.FileReader; import java.io.IOException; import java.util.List; import java.util.stream.Collector; public class ShapeReader { - public static List<Shape> read(File file, Collector<Object,?, List<Object>> toList) throws IOException { + public static List<Shape> read(File file) throws IOException { + BufferedReader bufferedReader = new BufferedReader(new FileReader(file)); + /*for(String line : bufferedReader.lines().toList()) { + System.out.println(line); + }*/ return null; } } diff --git a/src/main/java/serializer/ShapeWriter.java b/src/main/java/serializer/ShapeWriter.java index af2dfe76b538829c40083673b47e5aae911e5ff5..6a76ef8f7616a2a5ec8e21e533b3b09060e6d2c3 100644 --- a/src/main/java/serializer/ShapeWriter.java +++ b/src/main/java/serializer/ShapeWriter.java @@ -4,9 +4,12 @@ import shape.Shape; import java.io.File; import java.io.IOException; +import java.io.PrintWriter; import java.util.List; public class ShapeWriter { public static void write (File file, List<Shape> shapes) throws IOException { + PrintWriter printWriter = new PrintWriter(file); + printWriter.println("Coucou"); } } diff --git a/src/main/java/state/Drawer.java b/src/main/java/state/Drawer.java index 31ecf1aea304253118288d0614cfe6254d471350..67b9e1c37ec55c09b9965103ca38cab002b1d815 100644 --- a/src/main/java/state/Drawer.java +++ b/src/main/java/state/Drawer.java @@ -10,7 +10,7 @@ import java.util.List; public class Drawer extends Canvas { protected List<Shape> shapes = new ArrayList<>(); - DrawerContext context = new DrawerContext(this); + public DrawerContext context = new DrawerContext(this); public Drawer(int width, int height) { super(width,height); @@ -19,7 +19,7 @@ public class Drawer extends Canvas { setOnMouseReleased(event->context.mouseReleased(event)); setOnMouseMoved(event->context.mouseMoved(event)); setOnMouseDragged(event->context.mouseMoved(event)); - setOnKeyPressed(event -> context.keyPressed(event)); + //setOnKeyPressed(event -> context.keyPressed(event)); } public void repaint(){ diff --git a/src/main/java/state/DrawerContext.java b/src/main/java/state/DrawerContext.java index 669338de00766f7c83077e5a50f622b28f9e4bd0..f82de3953ba8ae28f267393fdcb01fd7dcd3b6c2 100644 --- a/src/main/java/state/DrawerContext.java +++ b/src/main/java/state/DrawerContext.java @@ -24,7 +24,7 @@ public class DrawerContext { void mouseMoved(MouseEvent event){} - void keyPressed(KeyEvent event) { + public void keyPressed(KeyEvent event) { switch (event.getText()) { case "c": currentState = new StateCircle0();