Initial commit

This commit is contained in:
Oystein Kristoffer Tveit 2021-02-12 22:25:41 +01:00
commit 61e34a3cdf
9 changed files with 191 additions and 0 deletions

11
.gitignore vendored Normal file
View File

@ -0,0 +1,11 @@
# Java
target/
# Eclipse
.settings/
# IntelliJ
.idea/
#VSCode
.vscode/

19
README.md Normal file
View File

@ -0,0 +1,19 @@
# TODO: Name the project
## TODO:
- [ ] Tabs
- [ ] Modeline w/ linenumbers
- [ ] Syntax highlighting
- [ ] Filetree
- [ ] Line numbers
## Maybe TODO?
- [ ] Shortcuts
- [ ] List Chooser
- [ ] Change languages
- [ ] Search
- [ ] And replace
- [ ] Darkmode/Lightmode or color themes
## Credits/Sources
- [james-d/SimpleMVP](https://github.com/james-d/SimpleMVP/tree/master/src/examples/mvp) -> Demonstration of JavaFX Model/View/Controller application

88
pom.xml Normal file
View File

@ -0,0 +1,88 @@
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<!-- Please read https://maven.apache.org/guides/introduction/introduction-to-the-pom.html -->
<modelVersion>4.0.0</modelVersion>
<groupId>tdt4100-v2021</groupId>
<artifactId>project</artifactId>
<version>1.0.0</version>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven.compiler.source>15</maven.compiler.source>
<maven.compiler.target>15</maven.compiler.target>
</properties>
<dependencies>
<!-- JavaFX -->
<dependency>
<groupId>org.openjfx</groupId>
<artifactId>javafx-controls</artifactId>
<version>16-ea+7</version>
</dependency>
<!-- FXML -->
<dependency>
<groupId>org.openjfx</groupId>
<artifactId>javafx-fxml</artifactId>
<version>16-ea+7</version>
</dependency>
<!-- JUnit 5 -->
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-engine</artifactId>
<version>5.8.0-M1</version>
</dependency>
<!-- TextFX -->
<dependency>
<groupId>org.testfx</groupId>
<artifactId>testfx-core</artifactId>
<version>4.0.16-alpha</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.testfx</groupId>
<artifactId>testfx-junit5</artifactId>
<version>4.0.16-alpha</version>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<plugins>
<!-- Plugin for maven to compile the project -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.0</version>
<configuration>
<release>15</release>
<showWarnings>true</showWarnings>
<showDeprecation>true</showDeprecation>
<compilerArgs>--enable-previw</compilerArgs>
</configuration>
</plugin>
<!-- Plugin to test all junit tests with 'surefire:test' -->
<plugin>
<artifactId>maven-surefire-plugin</artifactId>
<version>3.0.0-M5</version>
<configuration>
<compilerArgs>--enable-preview</compilerArgs>
</configuration>
</plugin>
<!-- Plugin for maven to make it easier to run JavaFX from the command line -->
<plugin>
<groupId>org.openjfx</groupId>
<artifactId>javafx-maven-plugin</artifactId>
<version>0.0.3</version>
<configuration>
<mainClass>app.Main</mainClass>
</configuration>
</plugin>
</plugins>
</build>
</project>

View File

@ -0,0 +1,32 @@
package app;
import java.io.IOException;
import javafx.application.Application;
import javafx.fxml.FXMLLoader;
import javafx.scene.Parent;
import javafx.scene.Scene;
import javafx.stage.Stage;
public class Main extends Application {
/**
* Boilerplate function to launch the application
*/
public static void main(String[] args) {
launch(args);
}
/**
* The entrypoint of the application
* @param window The primary window of the application
*/
@Override
public void start(Stage window) throws IOException {
window.setTitle("Hello world");
Parent document = FXMLLoader.load(getClass().getResource("./MainView.fxml"));
Scene scene = new Scene(document);
window.setScene(scene);
window.show();
}
}

View File

@ -0,0 +1,10 @@
package app;
/**
* MainController
* Might not be needed. Not sure yet.
*/
public class MainController {
}

View File

@ -0,0 +1,13 @@
<?xml version="1.0" encoding="UTF-8"?>
<?import java.net.*?>
<?import javafx.geometry.*?>
<?import javafx.scene.control.*?>
<?import javafx.scene.layout.*?>
<?import javafx.scene.text.*?>
<VBox>
<children>
<Label text="Hello world!"/>
</children>
</VBox>

View File

@ -0,0 +1,10 @@
package app.model;
/**
* Data model of the application
*/
public class Model {
private String text;
}

View File

@ -0,0 +1,8 @@
module app {
requires javafx.base;
requires javafx.controls;
requires javafx.fxml;
requires javafx.graphics;
exports app;
}

View File