summaryrefslogtreecommitdiffhomepage
path: root/IDE/src/main/java/org/elmahrouss/CodeEditor.java
blob: 3d8b7f12188fa27fbd73ff7728b9ca630a4163eb (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
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); }
}