Xcos load: preserve I/O blocks simulation function
[scilab.git] / scilab / modules / xcos / src / java / org / scilab / modules / xcos / block / io / ExplicitOutBlock.java
index 3c37972..ab63130 100644 (file)
@@ -1,79 +1,41 @@
 /*
  * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
- * Copyright (C) 2009 - DIGITEO - Antoine ELIAS
+ * Copyright (C) 2009-2009 - DIGITEO - Antoine ELIAS <antoine.elias@scilab.org>
+ * Copyright (C) 2009-2010 - DIGITEO - Clement DAVID <clement.david@scilab.org>
+ * Copyright (C) 2010-2015 - Scilab Enterprises - Clement DAVID
  *
- * This file must be used under the terms of the CeCILL.
- * This source file is licensed as described in the file COPYING, which
- * you should have received as part of this distribution.  The terms
- * are also available at
- * http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ * Copyright (C) 2012 - 2016 - Scilab Enterprises
+ *
+ * This file is hereby licensed under the terms of the GNU GPL v2.0,
+ * pursuant to article 5.3.4 of the CeCILL v.2.1.
+ * This file was originally licensed under the terms of the CeCILL v2.1,
+ * and continues to be available under such terms.
+ * For more information, see the COPYING file which you should have received
+ * along with this program.
  *
  */
 
 package org.scilab.modules.xcos.block.io;
 
-import org.scilab.modules.hdf5.scilabTypes.ScilabDouble;
-import org.scilab.modules.hdf5.scilabTypes.ScilabType;
-
-import org.scilab.modules.xcos.block.BasicBlock;
-import org.scilab.modules.xcos.utils.XcosConstants;
-import org.scilab.modules.xcos.utils.XcosEvent;
-
-import com.mxgraph.util.mxEventObject;
+import com.mxgraph.model.mxGeometry;
+import org.scilab.modules.xcos.JavaController;
+import org.scilab.modules.xcos.Kind;
+import org.scilab.modules.xcos.ObjectProperties;
 
 /**
- * @author Antoine ELIAS
- *
+ * Implement an explicit output point of a
+ * {@link org.scilab.modules.xcos.block.SuperBlock}.
  */
 public final class ExplicitOutBlock extends ContextUpdate {
 
     private static final long serialVersionUID = -3423053321045811400L;
 
-       /**
-        * Constructor
-        */
-       public ExplicitOutBlock() {
-               super();
-       }
-
-       /**
-        * @param label block label
-        */
-       protected ExplicitOutBlock(String label) {
-               this();
-               setDefaultValues();
-               setValue(label);
-       }
-
-       /**
-        * Initialize the block with the default values
-        */
-       @Override
-       protected void setDefaultValues() {
-               super.setDefaultValues();
-               setInterfaceFunctionName("OUT_f");
-               setSimulationFunctionName("output");
-       }
-
-    public void setExprs(ScilabType exprs) {
-       super.setExprs(exprs);
-       //setValue(((ScilabString) getExprs()).getData()[0][0]);
-    }
-
-    public void updateBlockSettings(BasicBlock modifiedBlock) {
-
-       double oldValue = ((ScilabDouble) getIntegerParameters()).getRealPart()[0][0];
-       super.updateBlockSettings(modifiedBlock);
-       double newValue = ((ScilabDouble) getIntegerParameters()).getRealPart()[0][0];
-
-       if (oldValue != newValue) {
-           getParentDiagram().fireEvent(new mxEventObject(XcosEvent.OUT_EXPLICIT_VALUE_UPDATED, XcosConstants.EVENT_CHANGE_OLD,
-                   oldValue, XcosConstants.EVENT_CHANGE_NEW, newValue));
-       }
-    }
+    /**
+     * Constructor
+     */
+    public ExplicitOutBlock(JavaController controller, long uid, Kind kind, Object value, mxGeometry geometry, String style, String id) {
+        super(controller, uid, kind, value, geometry, style, id);
 
-    public void setIntegerParameters(ScilabType integerParameters) {
-       super.setIntegerParameters(integerParameters);
-       setValue((int) ((ScilabDouble) getIntegerParameters()).getRealPart()[0][0]);
+        controller.setObjectProperty(uid, kind, ObjectProperties.SIM_FUNCTION_NAME, "output");
     }
 }