75 76 //BubbleChart to be tested. 77 BubbleChart testedBubbleChart; 78 NumberAxis axis1; 79 NumberAxis axis2; 80 TabPaneWithControl pane; 81 82 public BubbleChartScene() { 83 super("BubbleChart", 1300, 800); 84 } 85 86 @Override 87 final protected void prepareScene() { 88 Utils.addBrowser(this); 89 90 axis1 = new NumberAxis(0, 100, 10); 91 axis2 = new NumberAxis(0, 100, 10); 92 testedBubbleChart = getNewChart(); 93 testedBubbleChart.setId(TESTED_CHART_ID); 94 95 Button hardResetButton = ButtonBuilder.create().id(HARD_RESET_BUTTON_ID).text("Hard reset").build(); 96 hardResetButton.setOnAction(new EventHandler<ActionEvent>() { 97 public void handle(ActionEvent t) { 98 HBox hb = (HBox) getRoot(); 99 hb.getChildren().clear(); 100 prepareMainSceneStructure(); 101 prepareScene(); 102 } 103 }); 104 105 Button softResetButton = ButtonBuilder.create().id(SOFT_RESET_BUTTON_ID).text("Soft reset").build(); 106 softResetButton.setOnAction(new EventHandler<ActionEvent>() { 107 public void handle(ActionEvent t) { 108 //throw new UnsupportedOperationException("Not supported yet."); 109 } 110 }); 111 112 HBox resetButtonsHBox = new HBox(); 113 resetButtonsHBox.getChildren().addAll(hardResetButton, softResetButton); 114 115 VBox vb = new VBox(5); 116 vb.getChildren().addAll(resetButtonsHBox, getAddItemHBox(), getAddBubbleToSerieDialog(), getRemoveDataDialog(), getRemoveDataFromSerieDialog()); 117 118 pane = getPaneFor(testedBubbleChart, CHART_TAB_NAME, axis1, AXIS_1_TAB_NAME, axis2, AXIS_2_TAB_NAME); 119 120 setTestedControlContainerSize(500, 500); 121 setTestedControl(testedBubbleChart); 122 setPropertiesContent(pane); 123 setControllersContent(vb); 124 } 125 126 public HBox getRemoveDataDialog() { 127 HBox hb = new HBox(); 128 Label lb = new Label("From position"); 129 final TextField tf = TextFieldBuilder.create().text("0").prefWidth(50).id(REMOVE_ITEM_POS_TEXT_FIELD_ID).build(); 130 Button bt = ButtonBuilder.create().text("Remove serie!").id(REMOVE_BUTTON_ID).build(); 131 bt.setOnAction(new EventHandler() { 132 public void handle(Event t) { 133 int index = Integer.parseInt(tf.getText()); 134 testedBubbleChart.getData().remove(index); 135 } 136 }); 137 hb.getChildren().addAll(lb, tf, bt); 138 return hb; 139 } 140 141 public HBox getRemoveDataFromSerieDialog() { 142 HBox hb = new HBox(); 143 Label lb1 = new Label("From serie"); 144 final TextField tf1 = TextFieldBuilder.create().text("0").prefWidth(50).build(); 145 146 Label lb2 = new Label("from index"); 147 final TextField tf2 = TextFieldBuilder.create().text("0").prefWidth(50).build(); 148 149 Button bt = ButtonBuilder.create().text("remove bubble!").id(REMOVE_BUTTON_ID).build(); 150 bt.setOnAction(new EventHandler() { 151 public void handle(Event t) { 152 int serie = Integer.parseInt(tf1.getText()); 153 int index = Integer.parseInt(tf2.getText()); 154 ((Series) testedBubbleChart.getData().get(serie)).getData().remove(index); 155 } 156 }); 157 hb.getChildren().addAll(lb1, tf1, lb2, tf2, bt); 158 return hb; 159 } 160 161 public HBox getAddBubbleToSerieDialog() { 162 HBox hb = new HBox(); 163 Label lb1 = new Label("To serie"); 164 final TextField tf1 = TextFieldBuilder.create().text("0").prefWidth(50).build(); 165 166 Label lb2 = new Label("to index"); 167 final TextField tf2 = TextFieldBuilder.create().text("0").prefWidth(50).build(); 168 169 Label lb3 = new Label("X"); 170 final TextField tf3 = TextFieldBuilder.create().text("0").prefWidth(50).build(); 171 172 Label lb4 = new Label("Y"); 173 final TextField tf4 = TextFieldBuilder.create().text("0").prefWidth(50).build(); 174 175 Label lb5 = new Label("R"); 176 final TextField tf5 = TextFieldBuilder.create().text("0").prefWidth(50).build(); 177 178 Button bt = ButtonBuilder.create().text("add bubble!").id(REMOVE_BUTTON_ID).build(); 179 bt.setOnAction(new EventHandler() { 180 public void handle(Event t) { 181 int serie = Integer.parseInt(tf1.getText()); 182 int index = Integer.parseInt(tf2.getText()); 183 double X = Double.parseDouble(tf3.getText()); 184 double Y = Double.parseDouble(tf4.getText()); 185 double R = Double.parseDouble(tf5.getText()); 186 187 XYChart.Data newData = new XYChart.Data(); 188 newData.setXValue(X); 189 newData.setYValue(Y); 190 newData.setExtraValue(R); 191 192 ((Series) testedBubbleChart.getData().get(serie)).getData().add(index, newData); 193 } 194 }); 195 hb.getChildren().addAll(lb1, tf1, lb2, tf2, lb3, tf3, lb4, tf4, lb5, tf5, bt); 196 return hb; 197 } 198 199 public HBox getAddItemHBox() { 200 HBox hb = new HBox(); 201 Label lb = new Label("Add series named "); 202 final TextField tf = TextFieldBuilder.create().prefWidth(50).id(ADDED_SERIES_NAME_TEXTFIELD_ID).build(); 203 204 Label minLabel = new Label(" min X,Y "); 205 final TextField minText = TextFieldBuilder.create().prefWidth(50).id(ADDED_SERIES_MIN_VALUE_TEXTFIELD_ID).build(); 206 207 Label maxLabel = new Label(" max X,Y "); 208 final TextField maxText = TextFieldBuilder.create().prefWidth(50).id(ADDED_SERIES_MAX_VALUE_TEXTFIELD_ID).build(); 209 210 Label amountLabel = new Label(" add "); 211 final TextField amountText = TextFieldBuilder.create().prefWidth(50).id(ADDED_SERIES_DOTS_COUNT_TEXTFIELD_ID).build(); 212 213 Button bt = ButtonBuilder.create().text(" bubbles!").id(ADD_SERIES_COMMAND_BUTTON_ID).build(); 214 bt.setOnAction(new EventHandler() { 215 public void handle(Event t) { 216 String serieName = tf.getText(); 217 double min = Double.parseDouble(minText.getText()); 218 double max = Double.parseDouble(maxText.getText()); 219 int amount = Integer.parseInt(amountText.getText()); 220 221 ObservableList list = FXCollections.observableArrayList(); 222 223 XYChart.Series serie = new XYChart.Series(serieName, list); 224 225 for (int i = 0; i < amount; i++) { 226 XYChart.Data newData = new XYChart.Data(); 227 newData.setXValue(new Random().nextDouble() * (max - min) + min); 228 newData.setYValue(new Random().nextDouble() * (max - min) + min); 229 newData.setExtraValue(new Random().nextDouble() * (max - min) / 8 + min); 230 list.add(newData); 231 } 232 233 testedBubbleChart.getData().add(serie); | 75 76 //BubbleChart to be tested. 77 BubbleChart testedBubbleChart; 78 NumberAxis axis1; 79 NumberAxis axis2; 80 TabPaneWithControl pane; 81 82 public BubbleChartScene() { 83 super("BubbleChart", 1300, 800); 84 } 85 86 @Override 87 final protected void prepareScene() { 88 Utils.addBrowser(this); 89 90 axis1 = new NumberAxis(0, 100, 10); 91 axis2 = new NumberAxis(0, 100, 10); 92 testedBubbleChart = getNewChart(); 93 testedBubbleChart.setId(TESTED_CHART_ID); 94 95 Button hardResetButton = new Button("Hard reset"); 96 hardResetButton.setId(HARD_RESET_BUTTON_ID); 97 hardResetButton.setOnAction(new EventHandler<ActionEvent>() { 98 public void handle(ActionEvent t) { 99 HBox hb = (HBox) getRoot(); 100 hb.getChildren().clear(); 101 prepareMainSceneStructure(); 102 prepareScene(); 103 } 104 }); 105 106 Button softResetButton = new Button("Soft reset"); 107 softResetButton.setId(SOFT_RESET_BUTTON_ID); 108 softResetButton.setOnAction(new EventHandler<ActionEvent>() { 109 public void handle(ActionEvent t) { 110 //throw new UnsupportedOperationException("Not supported yet."); 111 } 112 }); 113 114 HBox resetButtonsHBox = new HBox(); 115 resetButtonsHBox.getChildren().addAll(hardResetButton, softResetButton); 116 117 VBox vb = new VBox(5); 118 vb.getChildren().addAll(resetButtonsHBox, getAddItemHBox(), getAddBubbleToSerieDialog(), getRemoveDataDialog(), getRemoveDataFromSerieDialog()); 119 120 pane = getPaneFor(testedBubbleChart, CHART_TAB_NAME, axis1, AXIS_1_TAB_NAME, axis2, AXIS_2_TAB_NAME); 121 122 setTestedControlContainerSize(500, 500); 123 setTestedControl(testedBubbleChart); 124 setPropertiesContent(pane); 125 setControllersContent(vb); 126 } 127 128 public HBox getRemoveDataDialog() { 129 HBox hb = new HBox(); 130 Label lb = new Label("From position"); 131 final TextField tf = new TextField("0"); 132 tf.setPrefWidth(50); 133 tf.setId(REMOVE_ITEM_POS_TEXT_FIELD_ID); 134 Button bt = new Button("Remove serie!"); 135 bt.setId(REMOVE_BUTTON_ID); 136 bt.setOnAction(new EventHandler() { 137 public void handle(Event t) { 138 int index = Integer.parseInt(tf.getText()); 139 testedBubbleChart.getData().remove(index); 140 } 141 }); 142 hb.getChildren().addAll(lb, tf, bt); 143 return hb; 144 } 145 146 public HBox getRemoveDataFromSerieDialog() { 147 HBox hb = new HBox(); 148 Label lb1 = new Label("From serie"); 149 final TextField tf1 = new TextField("0"); 150 tf1.setPrefWidth(50); 151 152 Label lb2 = new Label("from index"); 153 final TextField tf2 = new TextField("0"); 154 tf2.setPrefWidth(50); 155 156 Button bt = new Button("remove bubble!"); 157 bt.setId(REMOVE_BUTTON_ID); 158 bt.setOnAction(new EventHandler() { 159 public void handle(Event t) { 160 int serie = Integer.parseInt(tf1.getText()); 161 int index = Integer.parseInt(tf2.getText()); 162 ((Series) testedBubbleChart.getData().get(serie)).getData().remove(index); 163 } 164 }); 165 hb.getChildren().addAll(lb1, tf1, lb2, tf2, bt); 166 return hb; 167 } 168 169 public HBox getAddBubbleToSerieDialog() { 170 HBox hb = new HBox(); 171 Label lb1 = new Label("To serie"); 172 final TextField tf1 = new TextField("0"); 173 tf1.setPrefWidth(50); 174 175 Label lb2 = new Label("to index"); 176 final TextField tf2 = new TextField("0"); 177 tf2.setPrefWidth(50); 178 179 Label lb3 = new Label("X"); 180 final TextField tf3 = new TextField("0"); 181 tf3.setPrefWidth(50); 182 183 Label lb4 = new Label("Y"); 184 final TextField tf4 = new TextField("0"); 185 tf4.setPrefWidth(50); 186 187 Label lb5 = new Label("R"); 188 final TextField tf5 = new TextField("0"); 189 tf5.setPrefWidth(50); 190 191 Button bt = new Button("add bubble!"); 192 bt.setId(REMOVE_BUTTON_ID); 193 bt.setOnAction(new EventHandler() { 194 public void handle(Event t) { 195 int serie = Integer.parseInt(tf1.getText()); 196 int index = Integer.parseInt(tf2.getText()); 197 double X = Double.parseDouble(tf3.getText()); 198 double Y = Double.parseDouble(tf4.getText()); 199 double R = Double.parseDouble(tf5.getText()); 200 201 XYChart.Data newData = new XYChart.Data(); 202 newData.setXValue(X); 203 newData.setYValue(Y); 204 newData.setExtraValue(R); 205 206 ((Series) testedBubbleChart.getData().get(serie)).getData().add(index, newData); 207 } 208 }); 209 hb.getChildren().addAll(lb1, tf1, lb2, tf2, lb3, tf3, lb4, tf4, lb5, tf5, bt); 210 return hb; 211 } 212 213 public HBox getAddItemHBox() { 214 HBox hb = new HBox(); 215 Label lb = new Label("Add series named "); 216 final TextField tf = new TextField(); 217 tf.setPrefWidth(50); 218 tf.setId(ADDED_SERIES_NAME_TEXTFIELD_ID); 219 220 Label minLabel = new Label(" min X,Y "); 221 final TextField minText = new TextField(); 222 minText.setPrefWidth(50); 223 minText.setId(ADDED_SERIES_MIN_VALUE_TEXTFIELD_ID); 224 225 Label maxLabel = new Label(" max X,Y "); 226 final TextField maxText = new TextField(); 227 maxText.setPrefWidth(50); 228 maxText.setId(ADDED_SERIES_MAX_VALUE_TEXTFIELD_ID); 229 230 Label amountLabel = new Label(" add "); 231 final TextField amountText = new TextField(); 232 amountText.setPrefWidth(50); 233 amountText.setId(ADDED_SERIES_DOTS_COUNT_TEXTFIELD_ID); 234 235 Button bt = new Button(" bubbles!"); 236 bt.setId(ADD_SERIES_COMMAND_BUTTON_ID); 237 bt.setOnAction(new EventHandler() { 238 public void handle(Event t) { 239 String serieName = tf.getText(); 240 double min = Double.parseDouble(minText.getText()); 241 double max = Double.parseDouble(maxText.getText()); 242 int amount = Integer.parseInt(amountText.getText()); 243 244 ObservableList list = FXCollections.observableArrayList(); 245 246 XYChart.Series serie = new XYChart.Series(serieName, list); 247 248 for (int i = 0; i < amount; i++) { 249 XYChart.Data newData = new XYChart.Data(); 250 newData.setXValue(new Random().nextDouble() * (max - min) + min); 251 newData.setYValue(new Random().nextDouble() * (max - min) + min); 252 newData.setExtraValue(new Random().nextDouble() * (max - min) / 8 + min); 253 list.add(newData); 254 } 255 256 testedBubbleChart.getData().add(serie); |