From f94612cf87d1df8d599d6c34a76264a05c77f7fc Mon Sep 17 00:00:00 2001 From: h7x4 Date: Mon, 22 Feb 2021 14:50:14 +0100 Subject: [PATCH] Add fields to model --- src/main/java/app/model/Model.java | 20 ++++++++++++- .../java/app/model/ProgrammingLanguage.java | 28 +++++++++++++++++++ 2 files changed, 47 insertions(+), 1 deletion(-) create mode 100644 src/main/java/app/model/ProgrammingLanguage.java diff --git a/src/main/java/app/model/Model.java b/src/main/java/app/model/Model.java index 1217770..7c65ff4 100644 --- a/src/main/java/app/model/Model.java +++ b/src/main/java/app/model/Model.java @@ -1,10 +1,28 @@ package app.model; +import app.languages.Java; + /** * Data model of the application */ public class Model { + private static String activeFilePath; + private static String currentProjectPath; + private static ProgrammingLanguage currentProgrammingLanguage; - private String text; + public static String getActiveFilePath() { + return activeFilePath; + } + public static String getProjectPath() { + return currentProjectPath; + } + + public static ProgrammingLanguage getLanguage() { + return currentProgrammingLanguage; + } + + public static void setLanguage(ProgrammingLanguage language) { + Model.currentProgrammingLanguage = language; + } } \ No newline at end of file diff --git a/src/main/java/app/model/ProgrammingLanguage.java b/src/main/java/app/model/ProgrammingLanguage.java new file mode 100644 index 0000000..cdbb414 --- /dev/null +++ b/src/main/java/app/model/ProgrammingLanguage.java @@ -0,0 +1,28 @@ +package app.model; + +import java.net.URL; +import java.util.Map; +import java.util.regex.Pattern; + +public interface ProgrammingLanguage { + /** + * The name of the programming language + */ + public String getName(); + + /** + * The icon of the programming language + * @return The path of the icon + */ + public URL getIcon(); + + /** + * The map containing the regex and corresponding style-classes to be used for syntax highlighting + */ + public Map getPatternMap(); + + /** + * The pattern containing all regexes for syntax highlighting + */ + public Pattern getPattern(); +}