blob: 0cb04934b5043acd4281c5587c37f54ac87b7cfe (
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
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
|
/*
* ========================================================
*
* MPCC
* Copyright 2024, Mahrouss Logic, all rights reserved.
*
* ========================================================
*/
package org.elmahrouss;
import javafx.application.Application;
import javafx.event.ActionEvent;
import javafx.event.EventHandler;
import javafx.event.EventTarget;
import javafx.scene.Scene;
import javafx.scene.input.KeyCombination;
import javafx.scene.input.MouseEvent;
import javafx.scene.layout.VBox;
import javafx.stage.Stage;
import javafx.scene.control.Button;
import javafx.scene.control.Tab;
import javafx.scene.control.TabPane;
/**
* JavaFX App
*/
public class App extends Application
{
@Override
public void start(Stage stage)
{
stage.setTitle("MetroWorks - v1.00");
stage.setResizable(false);
var projectPane = new VBox();
projectPane.setSpacing(10);
TabPane tabPages = new TabPane();
tabPages.setStyle("-fx-background-color: #" + CodeEditorTheme.LINE_THEME);
Tab tabEditorWelcome = new Tab("Welcome!", new CodeEditorView());
CodeEditorView editorView = (CodeEditorView)tabEditorWelcome.getContent();
Button buttonNewPane = new Button("New File...");
buttonNewPane.setStyle("-fx-background-color: #" + CodeEditorTheme.LINE_THEME + "; -fx-text-fill: #" + CodeEditorTheme.TEXT_THEME);
buttonNewPane.onMouseClickedProperty().set((EventHandler<MouseEvent>) (MouseEvent c) -> {
CodeEditorController view = new CodeEditorController();
Tab tabCode = new Tab("Untitled", view.getView());
view.getView().setController(view);
tabCode.setText(view.getView().getFilename());
tabPages.getTabs().add(tabCode);
});
buttonNewPane.setTranslateX(70);
buttonNewPane.setTranslateY(100);
editorView.getChildren().addAll(buttonNewPane);
editorView.setContents("Welcome to MetroWorks!\nThe embedded code editor.");
tabEditorWelcome.setClosable(false);
tabPages.getTabs().add(tabEditorWelcome);
projectPane.getChildren().addAll(tabPages);
var scene = new Scene(projectPane, AppSettings.WIDTH, AppSettings.HEIGHT);
stage.setScene(scene);
stage.show();
}
public static void main(String[] args) {
launch();
}
}
|