Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- private void createCodeArea(final TabPane tabPane, final RailroadScrollPane<RailroadCodeArea> scrollPane,
- final File file) {
- if (file != null) {
- if (tabPane.getParent() == null && scrollPane.getRealParent() instanceof SplitPane
- && scrollPane.getRealParent().getParent() instanceof AnchorPane) {
- final var parent = (SplitPane) scrollPane.getRealParent();
- final var scrollPaneIndex = parent.getItems().indexOf(scrollPane);
- parent.getItems().remove(scrollPaneIndex);
- if (tabPane.getTabs().isEmpty()) {
- tabPane.getTabs().add(new Tab(file.getName(), scrollPane));
- scrollPane.setRealParent(tabPane);
- scrollPane.getContent().setFile(file);
- if (this.fileControllers.isEmpty()) {
- this.fileControllers.add(new SimpleFileEditorController());
- }
- this.fileControllers.get(0).textArea = scrollPane.getContent();
- } else {
- final var controller = new SimpleFileEditorController();
- this.fileControllers.add(controller);
- final var newCodeArea = this.codeEditor.createCodeArea();
- controller.textArea = newCodeArea;
- final var newScrollPane = new RailroadScrollPane<>(newCodeArea);
- tabPane.getTabs().add(new Tab(file.getName(), newScrollPane));
- newScrollPane.setRealParent(tabPane);
- newCodeArea.setFile(file);
- }
- parent.getItems().add(scrollPaneIndex, tabPane);
- } else if (tabPane.getParent() != null && tabPane.getTabs().isEmpty()) {
- final var parent = (SplitPane) tabPane.getParent();
- final var tabPaneIndex = parent.getItems().indexOf(tabPane);
- parent.getItems().remove(tabPaneIndex);
- parent.getItems().add(tabPaneIndex, scrollPane);
- scrollPane.setRealParent(parent);
- scrollPane.getContent().setFile(file);
- if (this.fileControllers.isEmpty()) {
- this.fileControllers.add(new SimpleFileEditorController());
- }
- this.fileControllers.get(0).textArea = scrollPane.getContent();
- } else if (!tabPane.getTabs().isEmpty()) {
- final var controller = new SimpleFileEditorController();
- this.fileControllers.add(controller);
- final var newCodeArea = this.codeEditor.createCodeArea();
- controller.textArea = newCodeArea;
- final var newScrollPane = new RailroadScrollPane<>(newCodeArea);
- tabPane.getTabs().add(new Tab(file.getName(), newScrollPane));
- newScrollPane.setRealParent(tabPane);
- newCodeArea.setFile(file);
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment