summaryrefslogtreecommitdiffhomepage
path: root/IDE/src/main/java
diff options
context:
space:
mode:
authorAmlal El Mahrouss <amlal.elmahrouss@icloud.com>2024-01-15 11:25:08 +0100
committerAmlal El Mahrouss <amlal.elmahrouss@icloud.com>2024-01-15 11:25:08 +0100
commitaa50be8e36a34a0d142918476cbf2b1f693e12da (patch)
treecda2537611d7ffa5c35d84155072468c75718219 /IDE/src/main/java
parent1632571d463a8c8731bb3e4559f78e4fdf329cb2 (diff)
IDE: Improve MetroWorks code editor class.
Signed-off-by: Amlal El Mahrouss <amlal.elmahrouss@icloud.com>
Diffstat (limited to 'IDE/src/main/java')
-rw-r--r--IDE/src/main/java/org/elmahrouss/App.java6
-rw-r--r--IDE/src/main/java/org/elmahrouss/CodeEditor.java34
-rw-r--r--IDE/src/main/java/org/elmahrouss/CodeEditorTheme.java4
3 files changed, 41 insertions, 3 deletions
diff --git a/IDE/src/main/java/org/elmahrouss/App.java b/IDE/src/main/java/org/elmahrouss/App.java
index 85eb8f7..b7a44bd 100644
--- a/IDE/src/main/java/org/elmahrouss/App.java
+++ b/IDE/src/main/java/org/elmahrouss/App.java
@@ -2,6 +2,7 @@ package org.elmahrouss;
import javafx.application.Application;
import javafx.scene.Scene;
+import javafx.scene.input.KeyCombination;
import javafx.scene.layout.VBox;
import javafx.stage.Stage;
@@ -13,12 +14,13 @@ public class App extends Application {
@Override
public void start(Stage stage) {
stage.setTitle("MetroWorks - Untitled");
+ stage.setResizable(false);
var projectPane = new VBox();
projectPane.setSpacing(10);
- CodeEditor edCxx = new CodeEditor();
- projectPane.getChildren().addAll(edCxx);
+ CodeEditor editorClass = new CodeEditor();
+ projectPane.getChildren().addAll(editorClass);
var scene = new Scene(projectPane, 1280, 720);
diff --git a/IDE/src/main/java/org/elmahrouss/CodeEditor.java b/IDE/src/main/java/org/elmahrouss/CodeEditor.java
index cb78bd7..3d8b7f1 100644
--- a/IDE/src/main/java/org/elmahrouss/CodeEditor.java
+++ b/IDE/src/main/java/org/elmahrouss/CodeEditor.java
@@ -1,13 +1,47 @@
package org.elmahrouss;
+import javafx.beans.property.ObjectProperty;
+import javafx.collections.ObservableList;
+import javafx.event.EventHandler;
+import javafx.scene.Node;
+import javafx.scene.control.Label;
+import javafx.scene.control.TextField;
+import javafx.scene.input.KeyEvent;
import javafx.scene.layout.*;
public class CodeEditor extends Pane {
+ private Pane linePane;
+ private Label lines;
+
CodeEditor() {
super();
+ lines = new Label();
+ lines.setText("#include <iostream>\n\nint main()\n{\n\tstd::cout << \"Hello, world!\";\n}\n");
+ lines.setStyle("-fx-font-size: 15");
+ lines.setWrapText(true);
+ lines.setTranslateX(70);
+ lines.setTranslateY(30);
+
+ linePane = new Pane();
+
+ linePane.setStyle("-fx-background-color: #" + CodeEditorTheme.lineTheme + ";");
+ linePane.setMinSize(42, 720);
+ linePane.setMaxSize(42, 1080);
+
+ this.getChildren().addAll(linePane, lines);
+
this.setStyle("-fx-background-color: #" + CodeEditorTheme.backgroundTheme);
+
this.setMinSize(1280, 720);
this.setMaxSize(1920, 1080);
}
+
+ @Override
+ public ObservableList<Node> getChildren() {
+ return super.getChildren();
+ }
+
+ public String getContents() { return lines.getText(); }
+ public void setContents(String content) { lines.setText(content); }
}
diff --git a/IDE/src/main/java/org/elmahrouss/CodeEditorTheme.java b/IDE/src/main/java/org/elmahrouss/CodeEditorTheme.java
index b580bcd..b4359d0 100644
--- a/IDE/src/main/java/org/elmahrouss/CodeEditorTheme.java
+++ b/IDE/src/main/java/org/elmahrouss/CodeEditorTheme.java
@@ -1,5 +1,7 @@
package org.elmahrouss;
public class CodeEditorTheme {
- public static String backgroundTheme = "202020";
+ public static String backgroundTheme = "FFFFFF";
+ public static String lineTheme = "1A1A1A";
+ public static String lineClr = "white";
}