2 * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
3 * Copyright (C) 2014-2014 - Scilab Enterprises - Clement DAVID
5 * This file must be used under the terms of the CeCILL.
6 * This source file is licensed as described in the file COPYING, which
7 * you should have received as part of this distribution. The terms
8 * are also available at
9 * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
17 #include "utilities.hxx"
19 #include "model/BaseObject.hxx"
20 #include "model/Annotation.hxx"
21 #include "model/Diagram.hxx"
22 #include "model/Block.hxx"
23 #include "model/Link.hxx"
24 #include "model/Port.hxx"
26 namespace org_scilab_modules_scicos
29 update_status_t Model::setObjectProperty(ScicosID uid, kind_t k, object_properties_t p, double v)
48 else if (k == DIAGRAM)
66 model::Port* o = getObject<model::Port>(uid);
70 return o->setFiring(v);
78 update_status_t Model::setObjectProperty(ScicosID uid, kind_t k, object_properties_t p, int v)
91 model::Block* o = getObject<model::Block>(uid);
94 case SIM_FUNCTION_API:
95 return o->setSimFunctionApi(v);
100 else if (k == DIAGRAM)
110 model::Link* o = getObject<model::Link>(uid);
114 return o->setColor(v);
116 return o->setKind(v);
123 model::Port* o = getObject<model::Port>(uid);
127 return o->setKind(v);
135 update_status_t Model::setObjectProperty(ScicosID uid, kind_t k, object_properties_t p, bool v)
154 else if (k == DIAGRAM)
172 model::Port* o = getObject<model::Port>(uid);
176 return o->setImplicit(v);
184 update_status_t Model::setObjectProperty(ScicosID uid, kind_t k, object_properties_t p, ScicosID v)
189 model::Annotation* o = getObject<model::Annotation>(uid);
193 return o->setParentDiagram(v);
195 return o->setParentBlock(v);
202 model::Block* o = getObject<model::Block>(uid);
206 return o->setParentDiagram(v);
208 return o->setParentBlock(v);
210 return o->setPortReference(v);
215 else if (k == DIAGRAM)
225 model::Link* o = getObject<model::Link>(uid);
229 return o->setParentDiagram(v);
231 return o->setParentBlock(v);
233 return o->setSourcePort(v);
234 case DESTINATION_PORT:
235 return o->setDestinationPort(v);
242 model::Port* o = getObject<model::Port>(uid);
246 return o->setSourceBlock(v);
247 case CONNECTED_SIGNALS:
248 return o->setConnectedSignals(std::vector<ScicosID> (1, v));
256 update_status_t Model::setObjectProperty(ScicosID uid, kind_t k, object_properties_t p, std::string v)
261 model::Annotation* o = getObject<model::Annotation>(uid);
265 return o->setDescription(v);
267 return o->setFont(v);
269 return o->setFontSize(v);
276 model::Block* o = getObject<model::Block>(uid);
279 case INTERFACE_FUNCTION:
280 return o->setInterfaceFunction(v);
281 case SIM_FUNCTION_NAME:
282 return o->setSimFunctionName(v);
284 return o->setSimBlocktype(v);
286 return o->setStyle(v);
288 return o->setLabel(v);
295 else if (k == DIAGRAM)
297 model::Diagram* o = getObject<model::Diagram>(uid);
301 return o->setTitle(v);
303 return o->setPath(v);
305 return o->setVersionNumber(v);
312 model::Link* o = getObject<model::Link>(uid);
316 return o->setLabel(v);
323 model::Port* o = getObject<model::Port>(uid);
327 return o->setStyle(v);
329 return o->setLabel(v);
337 update_status_t Model::setObjectProperty(ScicosID uid, kind_t k, object_properties_t p, const std::vector<double>& v)
342 model::Annotation* o = getObject<model::Annotation>(uid);
346 return o->setGeometry(v);
353 model::Block* o = getObject<model::Block>(uid);
357 return o->setGeometry(v);
359 return o->setAngle(v);
361 return o->setExprs(v);
363 return o->setState(v);
365 return o->setDState(v);
367 return o->setODState(v);
369 return o->setRpar(v);
371 return o->setOpar(v);
376 else if (k == DIAGRAM)
378 model::Diagram* o = getObject<model::Diagram>(uid);
382 return o->setProperties(v);
389 model::Link* o = getObject<model::Link>(uid);
393 return o->setControlPoints(v);
395 return o->setThick(v);
411 update_status_t Model::setObjectProperty(ScicosID uid, kind_t k, object_properties_t p, const std::vector<int>& v)
424 model::Block* o = getObject<model::Block>(uid);
428 return o->setSimDepUT(v);
430 return o->setNZcross(v);
432 return o->setNMode(v);
434 return o->setIpar(v);
439 else if (k == DIAGRAM)
457 model::Port* o = getObject<model::Port>(uid);
461 return o->setDataType(this, v);
469 update_status_t Model::setObjectProperty(ScicosID uid, kind_t k, object_properties_t p, const std::vector<std::string>& v)
482 model::Block* o = getObject<model::Block>(uid);
486 return o->setEquations(v);
491 else if (k == DIAGRAM)
493 model::Diagram* o = getObject<model::Diagram>(uid);
496 case DIAGRAM_CONTEXT:
497 return o->setContext(v);
521 update_status_t Model::setObjectProperty(ScicosID uid, kind_t k, object_properties_t p, const std::vector<ScicosID>& v)
534 model::Block* o = getObject<model::Block>(uid);
544 return o->setEout(v);
546 return o->setChildren(v);
551 else if (k == DIAGRAM)
553 model::Diagram* o = getObject<model::Diagram>(uid);
557 return o->setChildren(v);
572 model::Port* o = getObject<model::Port>(uid);
575 case CONNECTED_SIGNALS:
576 return o->setConnectedSignals(v);
584 } /* namespace org_scilab_modules_scicos */