Changeset 289:358261d4b196 in finroc_tools_finstruct-java
- Timestamp:
- 25.05.2020 23:01:55 (8 months ago)
- Branch:
- default
- Phase:
- public
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
FinstructRightPanel.java
r254 r289 647 647 try { 648 648 // wait for creation and show element properties in panel 649 Stringerror = runtime.getAdminInterface().createModule(selectedCreateAction, componentCreateName.toString(), ((RemoteFrameworkElement)rootElement).getRemoteHandle(), componentConstructorParameters);650 if (error .length() > 0) {651 Finstruct.showErrorMessage("Error creating component: " + error , false, false);649 Object error = runtime.getAdminInterface().createModule(selectedCreateAction, componentCreateName.toString(), ((RemoteFrameworkElement)rootElement).getRemoteHandle(), componentConstructorParameters); 650 if (error instanceof String) { 651 Finstruct.showErrorMessage("Error creating component: " + error.toString(), false, false); 652 652 } else { 653 653 createdElementToSwitchTo = componentCreateName.toString(); -
dialogs/CreateInterfacesDialog.java
r254 r289 316 316 parameters.get(2).setValue(task.shared); 317 317 parameters.get(3).setValue(task.globallyUniqueLinks); 318 String error = rr.getAdminInterface().createModule(createInterfaceAction, task.name, element.getRemoteHandle(), parameters); 319 if (error.length() == 0 && task.portCreationList.getSize() > 0) { 318 Object result = rr.getAdminInterface().createModule(createInterfaceAction, task.name, element.getRemoteHandle(), parameters); 319 boolean error = result instanceof String; 320 if ((!error) && task.portCreationList.getSize() > 0) { 320 321 setPortListCount++; 321 } else if (error .length() > 0) {322 } else if (error) { 322 323 Finstruct.showErrorMessage("Error creating interfaces: " + error, false, false); 323 324 } -
dialogs/CreateModuleDialog.java
r285 r289 86 86 //private final ArrayList<RemoteCreateModuleAction> filteredActions = new ArrayList<RemoteCreateModuleAction>(); 87 87 88 /** Name of Created module */ 89 private String created; 88 /** Name of Created module, as sent to remote runtime environment */ 89 private String createdModuleExpectedName; 90 91 /** Handle of created module (if available) */ 92 private Integer createdModuleHandle; 90 93 91 94 /** Created Module - set when changed event is received via runtime listener */ … … 94 97 /** Tree model of remote framework elements */ 95 98 private InterfaceTreeModel treeModel; 99 100 /** Any active timer */ 101 private Timer timer; 96 102 97 103 public CreateModuleDialog(Frame owner) { … … 235 241 String error = ""; 236 242 237 boolean timerActive = false;238 243 try { 239 244 treeModel.addTreeModelListener(this); 240 created = name.getText(); 241 error = rr.getAdminInterface().createModule(rcma, name.getText(), parent.getRemoteHandle(), spl); 245 createdModuleExpectedName = name.getText(); 246 createdModuleHandle = null; 247 createdModule = null; 248 timer = null; 249 Object result = rr.getAdminInterface().createModule(rcma, name.getText(), parent.getRemoteHandle(), spl); 250 if (result instanceof Integer) { 251 createdModuleHandle = (Integer)result; 252 } else if (result instanceof String) { 253 error = result.toString(); 254 } 242 255 if (error.length() == 0) { 243 Timertimer = new Timer(2000, this);256 timer = new Timer(2000, this); 244 257 timer.setRepeats(false); 245 258 timer.start(); 246 timerActive = true;247 259 } 248 260 249 261 } finally { 250 if ( !timerActive) {262 if (timer == null) { 251 263 treeModel.removeTreeModelListener(this); 252 264 } … … 260 272 Finstruct.showErrorMessage("Couldn't find & edit created element", false, false); 261 273 treeModel.removeTreeModelListener(this); 262 } 274 } else { 275 // show edit dialog 276 try { 277 new ParameterEditDialog(this).show(createdModule, false, false); 278 } catch (Exception exception) { 279 Finstruct.showErrorMessage(exception, true); 280 } 281 close(); 282 } 283 timer = null; 263 284 } 264 285 } … … 308 329 if (e.getTreePath().getLastPathComponent() == parent) { 309 330 for (Object o : e.getChildren()) { 310 if (o instanceof RemoteFrameworkElement && o.toString().equals(created)) {331 if (o instanceof RemoteFrameworkElement && ((createdModuleHandle == null && o.toString().equals(createdModuleExpectedName) || (createdModuleHandle != null && ((RemoteFrameworkElement)o).getRemoteHandle() == createdModuleHandle.intValue())))) { 311 332 createdModule = (RemoteFrameworkElement)o; 312 333 treeModel.removeTreeModelListener(this); 313 334 314 // possibly show edit dialog 315 try { 316 new ParameterEditDialog(this).show(createdModule, false, false); 317 } catch (Exception exception) { 318 Finstruct.showErrorMessage(exception, true); 335 if (timer != null) { 336 timer.stop(); 337 timer = new Timer(300, this); 338 timer.setRepeats(false); 339 timer.start(); 340 } else { 341 Finstruct.showErrorMessage("No timer active", false, false); 319 342 } 320 close(); 343 321 344 return; 322 345 }
Note: See TracChangeset
for help on using the changeset viewer.