TurtyWurty

Untitled

Jul 30th, 2021
613
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. private void createCodeArea(final TabPane tabPane, final RailroadScrollPane<RailroadCodeArea> scrollPane,
  2.         final File file) {
  3.     if (file != null) {
  4.         if (tabPane.getParent() == null && scrollPane.getRealParent() instanceof SplitPane
  5.                 && scrollPane.getRealParent().getParent() instanceof AnchorPane) {
  6.             final var parent = (SplitPane) scrollPane.getRealParent();
  7.             final var scrollPaneIndex = parent.getItems().indexOf(scrollPane);
  8.             parent.getItems().remove(scrollPaneIndex);
  9.             if (tabPane.getTabs().isEmpty()) {
  10.                 tabPane.getTabs().add(new Tab(file.getName(), scrollPane));
  11.                 scrollPane.setRealParent(tabPane);
  12.                 scrollPane.getContent().setFile(file);
  13.                 if (this.fileControllers.isEmpty()) {
  14.                     this.fileControllers.add(new SimpleFileEditorController());
  15.                 }
  16.                 this.fileControllers.get(0).textArea = scrollPane.getContent();
  17.             } else {
  18.                 final var controller = new SimpleFileEditorController();
  19.                 this.fileControllers.add(controller);
  20.                 final var newCodeArea = this.codeEditor.createCodeArea();
  21.                 controller.textArea = newCodeArea;
  22.                 final var newScrollPane = new RailroadScrollPane<>(newCodeArea);
  23.                 tabPane.getTabs().add(new Tab(file.getName(), newScrollPane));
  24.                 newScrollPane.setRealParent(tabPane);
  25.                 newCodeArea.setFile(file);
  26.             }
  27.             parent.getItems().add(scrollPaneIndex, tabPane);
  28.         } else if (tabPane.getParent() != null && tabPane.getTabs().isEmpty()) {
  29.             final var parent = (SplitPane) tabPane.getParent();
  30.             final var tabPaneIndex = parent.getItems().indexOf(tabPane);
  31.             parent.getItems().remove(tabPaneIndex);
  32.             parent.getItems().add(tabPaneIndex, scrollPane);
  33.             scrollPane.setRealParent(parent);
  34.             scrollPane.getContent().setFile(file);
  35.             if (this.fileControllers.isEmpty()) {
  36.                 this.fileControllers.add(new SimpleFileEditorController());
  37.             }
  38.             this.fileControllers.get(0).textArea = scrollPane.getContent();
  39.         } else if (!tabPane.getTabs().isEmpty()) {
  40.             final var controller = new SimpleFileEditorController();
  41.             this.fileControllers.add(controller);
  42.             final var newCodeArea = this.codeEditor.createCodeArea();
  43.             controller.textArea = newCodeArea;
  44.             final var newScrollPane = new RailroadScrollPane<>(newCodeArea);
  45.             tabPane.getTabs().add(new Tab(file.getName(), newScrollPane));
  46.             newScrollPane.setRealParent(tabPane);
  47.             newCodeArea.setFile(file);
  48.         }
  49.     }
  50. }
RAW Paste Data