GUIController.java 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293
  1. package de.tu_darmstadt.informatik.tk.scopviz.ui;
  2. import java.net.URL;
  3. import java.util.ResourceBundle;
  4. import de.tu_darmstadt.informatik.tk.scopviz.main.MainApp;
  5. import javafx.collections.FXCollections;
  6. import javafx.collections.ObservableList;
  7. import javafx.embed.swing.SwingNode;
  8. import javafx.event.ActionEvent;
  9. import javafx.event.EventHandler;
  10. import javafx.fxml.FXML;
  11. import javafx.fxml.Initializable;
  12. import javafx.scene.control.Button;
  13. import javafx.scene.control.Label;
  14. import javafx.scene.control.ListCell;
  15. import javafx.scene.control.ListView;
  16. import javafx.scene.control.ScrollPane;
  17. import javafx.scene.control.TextField;
  18. import javafx.scene.layout.Pane;
  19. import javafx.util.Callback;
  20. public class GUIController implements Initializable{
  21. @FXML public SwingNode swingNode;
  22. @FXML public Pane pane;
  23. @FXML public Button zoomIn;
  24. @FXML public Button zoomOut;
  25. @FXML public Button createNode;
  26. @FXML public Button createEdge;
  27. @FXML public ScrollPane toolboxScrollPane;
  28. @FXML public ScrollPane layerScrollPane;
  29. @FXML public ScrollPane propertiesScrollPane;
  30. @FXML public ScrollPane metricScrollPane;
  31. @FXML public ListView<String> toolbox;
  32. @FXML public ListView<String> properties;
  33. @Override
  34. public void initialize(URL arg0, ResourceBundle arg1) {
  35. assert swingNode != null : "fx:id=\"swingNode\" was not injected: check your FXML file 'NewBetterCoolerWindowTest.fxml'.";
  36. assert pane != null : "fx:id=\"pane\" was not injected: check your FXML file 'NewBetterCoolerWindowTest.fxml'.";
  37. assert zoomIn != null : "fx:id=\"zoomIn\" was not injected: check your FXML file 'NewBetterCoolerWindowTest.fxml'.";
  38. assert zoomOut != null : "fx:id=\"zoomOut\" was not injected: check your FXML file 'NewBetterCoolerWindowTest.fxml'.";
  39. assert createNode != null : "fx:id=\"createNode\" was not injected: check your FXML file 'NewBetterCoolerWindowTest.fxml'.";
  40. assert createEdge != null : "fx:id=\"createEdge\" was not injected: check your FXML file 'NewBetterCoolerWindowTest.fxml'.";
  41. assert layerScrollPane != null : "fx:id=\"layerScrollPane\" was not injected: check your FXML file 'NewBetterCoolerWindowTest.fxml'.";
  42. assert propertiesScrollPane != null : "fx:id=\"propertiesScrollPane\" was not injected: check your FXML file 'NewBetterCoolerWindowTest.fxml'.";
  43. assert metricScrollPane != null : "fx:id=\"metricSrollPane\" was not injected: check your FXML file 'NewBetterCoolerWindowTest.fxml'.";
  44. assert toolboxScrollPane != null : "fx:id=\"toolboxScrollPane\" was not injected: check your FXML file 'NewBetterCoolerWindowTest.fxml'.";
  45. assert toolbox != null : "fx:id=\"toolbox\" was not injected: check your FXML file 'NewBetterCoolerWindowTest.fxml'.";
  46. assert properties != null : "fx:id=\"properties\" was not injected: check your FXML file 'NewBetterCoolerWindowTest.fxml'.";
  47. MainApp.setGUIController(this);
  48. ObservableList<String> dataToolbox = FXCollections.observableArrayList("toolbox");
  49. toolbox.setItems(dataToolbox);
  50. ObservableList<String> dataProperties = FXCollections.observableArrayList("CPU", "OPS");
  51. properties.setItems(dataProperties);
  52. properties.setCellFactory(new Callback<ListView<String>,
  53. ListCell<String>>() {
  54. @Override
  55. public ListCell<String> call(ListView<String> properties) {
  56. return new LabelCell();
  57. }
  58. }
  59. );
  60. }
  61. static class LabelCell extends ListCell<String> {
  62. @Override
  63. public void updateItem(String item, boolean empty) {
  64. super.updateItem(item, empty);
  65. if(item != null){
  66. if(item.equals("CPU")){
  67. setGraphic(new TextField(item));
  68. }
  69. if(item.equals("OPS")){
  70. setGraphic(new Label(item));
  71. }
  72. }
  73. }
  74. }
  75. }