/** getCellsBinary */ private void createCells() { ConstraintDefinition constraint = model.createConstraintDefinition(template); // int count = template.parameterCount(); ActivityDefinitonCell[] cells = new ActivityDefinitonCell[constraint.parameterCount()]; // ActivityDefinition [] params = new ActivityDefinition [count]; double total = 0; int c = 0; for (Parameter parameter : constraint.getParameters()) { ActivityDefinition activityDefinition = model.addActivityDefinition(); activityDefinition.setName(parameter.getName()); // params[i] = activityDefinition; constraint.addBranch(parameter, activityDefinition); ActivityDefinitonCell activityDefinitionCell = view.getActivityDefinitionCell(activityDefinition); total = activityDefinitionCell.getWidth() + 10; cells[c++] = activityDefinitionCell; } double radius = total / 2 + 100; Point[] points = Circle.getPoints(radius, cells.length); for (int i = 0; i < cells.length; i++) { ActivityDefinitonCell cell = cells[i]; int x = points[i].x + (new Double(cell.getWidth() / 2)).intValue(); int y = points[i].y + (new Double(cell.getHeight() / 2)).intValue(); cell.setPosition(new Point(x, y)); } model.addConstraintDefiniton(constraint); }
private void repaintContent() { if (content != null) { remove(content); } content = new JPanel(); content.setLayout(new GridBagLayout()); content.setBackground(Colors.TEMPLATE); int gridY = 0; GridBagConstraints c; for (Parameter p : shownParams.getParamList()) { c = new GridBagConstraints(); c.gridx = 0; c.gridy = gridY; c.anchor = GridBagConstraints.WEST; c.fill = GridBagConstraints.NONE; c.insets = new Insets(0, 0, 0, 8); content.add(new JLabel(p.getName()), c); c = new GridBagConstraints(); c.gridx = 1; c.gridy = gridY++; c.fill = GridBagConstraints.HORIZONTAL; c.weightx = 1; final Parameter pFinal = p; final JTextField jTextField = new DJTextField(); jTextField.setText(p.getValue()); jTextField.addKeyListener( new KeyListener() { public void keyTyped(KeyEvent keyEvent) { // TODO } public void keyPressed(KeyEvent keyEvent) { // TODO } public void keyReleased(KeyEvent keyEvent) { pFinal.setValue(jTextField.getText()); } }); content.add(jTextField, c); } GridBagConstraints nc = new GridBagConstraints(); nc.gridx = 0; nc.gridy = 0; nc.weightx = 1; nc.fill = GridBagConstraints.HORIZONTAL; add(content, nc); content.updateUI(); content.repaint(); this.repaint(); }
/** * Loads an object with data from an XMLControl. * * @param control the control * @param obj the object * @return the loaded object */ public Object loadObject(XMLControl control, Object obj) { // load track data XML.getLoader(TTrack.class).loadObject(control, obj); ParticleModel p = (ParticleModel) obj; p.mass = control.getDouble("mass"); // $NON-NLS-1$ p.inspectorX = control.getInt("inspector_x"); // $NON-NLS-1$ p.inspectorY = control.getInt("inspector_y"); // $NON-NLS-1$ p.inspectorH = control.getInt("inspector_h"); // $NON-NLS-1$ p.showInspector = control.getBoolean("inspector_visible"); // $NON-NLS-1$ Parameter[] params = (Parameter[]) control.getObject("user_parameters"); // $NON-NLS-1$ p.getParamEditor().setParameters(params); params = (Parameter[]) control.getObject("initial_values"); // $NON-NLS-1$ // remove trailing "0" from initial condition parameters for (int i = 0; i < params.length; i++) { Parameter param = params[i]; String name = param.getName(); int n = name.lastIndexOf("0"); // $NON-NLS-1$ if (n > -1) { // replace parameter with new one name = name.substring(0, n); Parameter newParam = new Parameter(name, param.getExpression()); newParam.setDescription(param.getDescription()); newParam.setNameEditable(false); params[i] = newParam; } } p.getInitEditor().setParameters(params); UserFunction[] functions = (UserFunction[]) control.getObject("main_functions"); // $NON-NLS-1$ p.getFunctionEditor().setMainFunctions(functions); functions = (UserFunction[]) control.getObject("support_functions"); // $NON-NLS-1$ if (functions != null) { for (int i = 0; i < functions.length; i++) { p.getFunctionEditor().addObject(functions[i], false); } } p.functionPanel.refreshFunctions(); int n = control.getInt("start_frame"); // $NON-NLS-1$ if (n != Integer.MIN_VALUE) p.startFrame = n; else { p.startFrameUndefined = true; } n = control.getInt("end_frame"); // $NON-NLS-1$ if (n != Integer.MIN_VALUE) p.endFrame = n; return obj; }