예제 #1
0
 /**
  * Saves an object's data to an XMLControl.
  *
  * @param control the control to save to
  * @param obj the object to save
  */
 public void saveObject(XMLControl control, Object obj) {
   ParticleModel p = (ParticleModel) obj;
   // save mass
   control.setValue("mass", p.getMass()); // $NON-NLS-1$
   // save track data
   XML.getLoader(TTrack.class).saveObject(control, obj);
   // save parameters, initial values and functions
   Parameter[] params = p.getParamEditor().getParameters();
   control.setValue("user_parameters", params); // $NON-NLS-1$
   Parameter[] inits = p.getInitEditor().getParameters();
   control.setValue("initial_values", inits); // $NON-NLS-1$
   UserFunction[] functions = p.getFunctionEditor().getMainFunctions();
   control.setValue("main_functions", functions); // $NON-NLS-1$
   functions = p.getFunctionEditor().getSupportFunctions();
   if (functions.length > 0) control.setValue("support_functions", functions); // $NON-NLS-1$
   // save start and end frames (if custom)
   if (p.startFrame > 0) control.setValue("start_frame", p.startFrame); // $NON-NLS-1$
   if (p.endFrame < Integer.MAX_VALUE) control.setValue("end_frame", p.endFrame); // $NON-NLS-1$
   // save inspector size and position
   if (p.inspector != null && p.trackerPanel != null && p.trackerPanel.getTFrame() != null) {
     // save inspector location relative to frame
     TFrame frame = p.trackerPanel.getTFrame();
     int x = p.inspector.getLocation().x - frame.getLocation().x;
     int y = p.inspector.getLocation().y - frame.getLocation().y;
     control.setValue("inspector_x", x); // $NON-NLS-1$
     control.setValue("inspector_y", y); // $NON-NLS-1$  		
     control.setValue("inspector_h", p.inspector.getHeight()); // $NON-NLS-1$
     control.setValue("inspector_visible", p.inspector.isVisible()); // $NON-NLS-1$
   }
 }
예제 #2
0
 private void positionInspector() {
   if (inspectorX != Integer.MIN_VALUE) {
     // trackerPanel will select this track when getInspector() is called
     // only if loader has set the showInspector flag (so refreshing is false)
     refreshing = !showInspector;
     loading = true; // prevents setting trackerPanel changed flag
     getInspector();
     refreshing = loading = false;
     TFrame frame = trackerPanel.getTFrame();
     Dimension dim = Toolkit.getDefaultToolkit().getScreenSize();
     if (inspectorH != Integer.MIN_VALUE)
       inspector.setSize(inspector.getWidth(), Math.min(inspectorH, dim.height));
     int x = Math.max(frame.getLocation().x + inspectorX, 0);
     x = Math.min(x, dim.width - inspector.getWidth());
     int y = Math.max(frame.getLocation().y + inspectorY, 0);
     y = Math.min(y, dim.height - inspector.getHeight());
     inspector.setLocation(x, y);
     inspectorX = Integer.MIN_VALUE;
   }
 }