Xcos MVC: fix deletion modification after aa31b0364c 44/16044/2
Clément DAVID [Thu, 26 Feb 2015 06:58:04 +0000 (07:58 +0100)]
Change-Id: I7df11714516ac0f41eb3988505780c8234a1c809

13 files changed:
scilab/modules/scicos/src/cpp/Controller.cpp
scilab/modules/scicos/src/cpp/view_scilab/BlockAdapter.cpp
scilab/modules/scicos/src/cpp/view_scilab/DiagramAdapter.cpp
scilab/modules/scicos/tests/unit_tests/model/Annotation.dia.ref
scilab/modules/scicos/tests/unit_tests/model/Consecutive_init.dia.ref
scilab/modules/scicos/tests/unit_tests/model/Deep_cloning.dia.ref
scilab/modules/scicos/tests/unit_tests/model/Delete_objects.dia.ref
scilab/modules/scicos/tests/unit_tests/model/Diagram.dia.ref
scilab/modules/scicos/tests/unit_tests/model/SuperBlock.dia.ref
scilab/modules/scicos/tests/unit_tests/model/SuperBlock_in_SuperBlock.dia.ref
scilab/modules/scicos/tests/unit_tests/model/clone_extract.dia.ref
scilab/modules/scicos/tests/unit_tests/model/link_preservation.dia.ref
scilab/modules/scicos/tests/unit_tests/model/simple_delete.dia.ref

index 7a4ec4a..30bafa1 100644 (file)
        do { \
        std::stringstream print; \
        print << "referenceObject( " << uid << " ) : " << refCount << std::endl; \
-       scilabWrite(print.str().data()); \
+       scilabForcedWrite(print.str().data()); \
        } while(0)
 #define UNREF_PRINT(uid, count) \
        do { \
        std::stringstream print; \
        print << "unreferenceObject( " << uid << " ) : " << refCount << std::endl; \
-       scilabWrite(print.str().data()); \
+       scilabForcedWrite(print.str().data()); \
        } while(0)
 #define CLONE_PRINT(uid, clone) \
        do { \
        std::stringstream print; \
        print << "cloneObject( " << uid << " ) : " << clone << std::endl; \
-       scilabWrite(print.str().data()); \
+       scilabForcedWrite(print.str().data()); \
        } while(0)
 #else
 #define REF_PRINT(uid, refCount)
index adf03f1..51f9095 100644 (file)
@@ -166,7 +166,7 @@ BlockAdapter::BlockAdapter(const BlockAdapter& adapter) :
 
     if (adapter.getDiagram() != nullptr)
     {
-       types::InternalType* model = model::get(adapter, controller);
+        types::InternalType* model = model::get(adapter, controller);
         model::set(*this, model, controller);
         model->killMe();
     }
@@ -176,17 +176,7 @@ BlockAdapter::BlockAdapter(const BlockAdapter& adapter) :
 
 BlockAdapter::~BlockAdapter()
 {
-    Controller controller;
-
-    /*
-     * The block own a reference to their children
-     */
-    std::vector<ScicosID> v;
-    controller.getObjectProperty(getAdaptee()->id(), BLOCK, CHILDREN, v);
-    for (const ScicosID& id : v)
-    {
-        controller.deleteObject(id);
-    }
+    // CHILDREN will be unreferenced on Controller::deleteObject
 
     if (diagramAdapter != nullptr)
     {
index 1586255..03cfaf4 100644 (file)
@@ -86,11 +86,11 @@ struct objs
             return v;
         }
 
-               // avoid a copy, if v is already in the previous children list and will be cleanup later
-               if (v->getRef() == 1 && std::binary_search(oldChildren.begin(), oldChildren.end(), v))
-               {
-                       return v;
-               }
+        // avoid a copy, if v is already in the previous children list and will be cleanup later
+        if (v->getRef() == 1 && std::binary_search(oldChildren.begin(), oldChildren.end(), v))
+        {
+            return v;
+        }
 
         return v->clone();
     }
@@ -437,17 +437,7 @@ DiagramAdapter::DiagramAdapter(const DiagramAdapter& adapter) :
 
 DiagramAdapter::~DiagramAdapter()
 {
-    Controller controller;
-    std::vector<ScicosID> v;
-
-    /*
-     * The diagram own a reference to their children
-     */
-    controller.getObjectProperty(getAdaptee()->id(), DIAGRAM, CHILDREN, v);
-    for (const ScicosID& id : v)
-    {
-        controller.deleteObject(id);
-    }
+    // CHILDREN will be unreferenced on Controller::deleteObject
 
     list_objects->DecreaseRef();
     list_objects->killMe();
index 70e27ff..31f484c 100644 (file)
@@ -56,6 +56,7 @@ propertyUpdated( 2 , ANNOTATION , FONT ) : NO_CHANGES
 propertyUpdated( 2 , ANNOTATION , FONT_SIZE ) : NO_CHANGES
 propertyUpdated( 2 , ANNOTATION , GEOMETRY ) : NO_CHANGES
 propertyUpdated( 2 , ANNOTATION , PARENT_DIAGRAM ) : NO_CHANGES
+propertyUpdated( 2 , ANNOTATION , PARENT_BLOCK ) : NO_CHANGES
 propertyUpdated( 2 , ANNOTATION , RELATED_TO ) : FAIL
 propertyUpdated( 2 , ANNOTATION , GEOMETRY ) : NO_CHANGES
 propertyUpdated( 2 , ANNOTATION , GEOMETRY ) : SUCCESS
index 296b2d5..005f50b 100644 (file)
@@ -200,7 +200,7 @@ propertyUpdated( 1 , BLOCK , LABEL ) : NO_CHANGES
 propertyUpdated( 1 , BLOCK , NZCROSS ) : NO_CHANGES
 propertyUpdated( 1 , BLOCK , NMODE ) : NO_CHANGES
 propertyUpdated( 1 , BLOCK , UID ) : NO_CHANGES
-propertyUpdated( 5 , DIAGRAM , CHILDREN ) : SUCCESS
+propertyUpdated( 6 , BLOCK , PARENT_DIAGRAM ) : SUCCESS
 objectDeleted( 6 , BLOCK )
 objectDeleted( 5 , DIAGRAM )
 sizeAfterInsert  = size(super.model.rpar.objs);
@@ -299,9 +299,7 @@ propertyUpdated( 10 , BLOCK , PARENT_DIAGRAM ) : SUCCESS
 // 'superD' is a diagram containing a SuperBlock
 sBeforeInsert = size(superD.objs(1).model.rpar.objs);
 superD.objs(1) = super;
-propertyUpdated( 11 , DIAGRAM , CHILDREN ) : SUCCESS
-propertyUpdated( 10 , BLOCK , CHILDREN ) : SUCCESS
-objectDeleted( 12 , BLOCK )
+propertyUpdated( 12 , BLOCK , PARENT_DIAGRAM ) : SUCCESS
 objectDeleted( 11 , DIAGRAM )
 objectCreated( 13 , BLOCK )
 propertyUpdated( 13 , BLOCK , SIM_FUNCTION_API ) : NO_CHANGES
@@ -383,25 +381,27 @@ propertyUpdated( 13 , BLOCK , UID ) : NO_CHANGES
 propertyUpdated( 9 , DIAGRAM , CHILDREN ) : SUCCESS
 propertyUpdated( 13 , BLOCK , PARENT_DIAGRAM ) : SUCCESS
 propertyUpdated( 10 , BLOCK , PARENT_DIAGRAM ) : SUCCESS
+propertyUpdated( 12 , BLOCK , PARENT_BLOCK ) : SUCCESS
+objectDeleted( 12 , BLOCK )
 objectDeleted( 10 , BLOCK )
 sAfterInsert  = size(superD.objs(1).model.rpar.objs);
 assert_checkequal(sizeBeforeInsert, 1);
 assert_checkequal(sizeAfterInsert,  1);
 // Check that all the model items are freed
 clear
-propertyUpdated( 2 , DIAGRAM , CHILDREN ) : SUCCESS
+propertyUpdated( 4 , BLOCK , PARENT_DIAGRAM ) : SUCCESS
 objectDeleted( 4 , BLOCK )
 objectDeleted( 2 , DIAGRAM )
 objectDeleted( 3 , BLOCK )
-propertyUpdated( 7 , DIAGRAM , CHILDREN ) : SUCCESS
-propertyUpdated( 1 , BLOCK , CHILDREN ) : SUCCESS
-objectDeleted( 8 , BLOCK )
+propertyUpdated( 8 , BLOCK , PARENT_DIAGRAM ) : SUCCESS
 objectDeleted( 7 , DIAGRAM )
+propertyUpdated( 8 , BLOCK , PARENT_BLOCK ) : SUCCESS
+objectDeleted( 8 , BLOCK )
 objectDeleted( 1 , BLOCK )
-propertyUpdated( 14 , DIAGRAM , CHILDREN ) : SUCCESS
-propertyUpdated( 13 , BLOCK , CHILDREN ) : SUCCESS
-objectDeleted( 15 , BLOCK )
+propertyUpdated( 15 , BLOCK , PARENT_DIAGRAM ) : SUCCESS
 objectDeleted( 14 , DIAGRAM )
-propertyUpdated( 9 , DIAGRAM , CHILDREN ) : SUCCESS
+propertyUpdated( 13 , BLOCK , PARENT_DIAGRAM ) : SUCCESS
+propertyUpdated( 15 , BLOCK , PARENT_BLOCK ) : SUCCESS
+objectDeleted( 15 , BLOCK )
 objectDeleted( 13 , BLOCK )
 objectDeleted( 9 , DIAGRAM )
index a8ca7b8..bdbb360 100644 (file)
@@ -615,7 +615,8 @@ assert_checkequal(l(1).objs(1).model.rpar.objs(2).to,   [1 1 1]);
 // Check that all the model items are freed
 clear
 objectDeleted( 3 , BLOCK )
-propertyUpdated( 2 , DIAGRAM , CHILDREN ) : SUCCESS
+propertyUpdated( 5 , BLOCK , PARENT_DIAGRAM ) : SUCCESS
+propertyUpdated( 6 , LINK , PARENT_DIAGRAM ) : SUCCESS
 propertyUpdated( 5 , BLOCK , INPUTS ) : SUCCESS
 propertyUpdated( 5 , BLOCK , OUTPUTS ) : NO_CHANGES
 propertyUpdated( 5 , BLOCK , EVENT_INPUTS ) : NO_CHANGES
@@ -629,11 +630,14 @@ propertyUpdated( 5 , BLOCK , EVENT_OUTPUTS ) : NO_CHANGES
 propertyUpdated( 6 , LINK , SOURCE_PORT ) : SUCCESS
 objectDeleted( 7 , PORT )
 objectDeleted( 5 , BLOCK )
-propertyUpdated( 2 , DIAGRAM , CHILDREN ) : SUCCESS
 objectDeleted( 6 , LINK )
 objectDeleted( 2 , DIAGRAM )
-propertyUpdated( 23 , DIAGRAM , CHILDREN ) : SUCCESS
-propertyUpdated( 22 , BLOCK , CHILDREN ) : SUCCESS
+propertyUpdated( 24 , BLOCK , PARENT_DIAGRAM ) : SUCCESS
+propertyUpdated( 27 , LINK , PARENT_DIAGRAM ) : SUCCESS
+objectDeleted( 23 , DIAGRAM )
+propertyUpdated( 22 , BLOCK , PARENT_DIAGRAM ) : SUCCESS
+propertyUpdated( 24 , BLOCK , PARENT_BLOCK ) : SUCCESS
+propertyUpdated( 27 , LINK , PARENT_BLOCK ) : SUCCESS
 propertyUpdated( 24 , BLOCK , INPUTS ) : SUCCESS
 propertyUpdated( 24 , BLOCK , OUTPUTS ) : NO_CHANGES
 propertyUpdated( 24 , BLOCK , EVENT_INPUTS ) : NO_CHANGES
@@ -647,15 +651,14 @@ propertyUpdated( 24 , BLOCK , EVENT_OUTPUTS ) : NO_CHANGES
 propertyUpdated( 27 , LINK , SOURCE_PORT ) : SUCCESS
 objectDeleted( 26 , PORT )
 objectDeleted( 24 , BLOCK )
-propertyUpdated( 23 , DIAGRAM , CHILDREN ) : SUCCESS
-propertyUpdated( 22 , BLOCK , CHILDREN ) : SUCCESS
 objectDeleted( 27 , LINK )
-objectDeleted( 23 , DIAGRAM )
-propertyUpdated( 21 , DIAGRAM , CHILDREN ) : SUCCESS
 objectDeleted( 22 , BLOCK )
 objectDeleted( 21 , DIAGRAM )
-propertyUpdated( 9 , DIAGRAM , CHILDREN ) : SUCCESS
-propertyUpdated( 1 , BLOCK , CHILDREN ) : SUCCESS
+propertyUpdated( 10 , BLOCK , PARENT_DIAGRAM ) : SUCCESS
+propertyUpdated( 13 , LINK , PARENT_DIAGRAM ) : SUCCESS
+objectDeleted( 9 , DIAGRAM )
+propertyUpdated( 10 , BLOCK , PARENT_BLOCK ) : SUCCESS
+propertyUpdated( 13 , LINK , PARENT_BLOCK ) : SUCCESS
 propertyUpdated( 10 , BLOCK , INPUTS ) : SUCCESS
 propertyUpdated( 10 , BLOCK , OUTPUTS ) : NO_CHANGES
 propertyUpdated( 10 , BLOCK , EVENT_INPUTS ) : NO_CHANGES
@@ -669,13 +672,14 @@ propertyUpdated( 10 , BLOCK , EVENT_OUTPUTS ) : NO_CHANGES
 propertyUpdated( 13 , LINK , SOURCE_PORT ) : SUCCESS
 objectDeleted( 12 , PORT )
 objectDeleted( 10 , BLOCK )
-propertyUpdated( 9 , DIAGRAM , CHILDREN ) : SUCCESS
-propertyUpdated( 1 , BLOCK , CHILDREN ) : SUCCESS
 objectDeleted( 13 , LINK )
-objectDeleted( 9 , DIAGRAM )
 objectDeleted( 1 , BLOCK )
-propertyUpdated( 16 , DIAGRAM , CHILDREN ) : SUCCESS
-propertyUpdated( 15 , BLOCK , CHILDREN ) : SUCCESS
+propertyUpdated( 17 , BLOCK , PARENT_DIAGRAM ) : SUCCESS
+propertyUpdated( 20 , LINK , PARENT_DIAGRAM ) : SUCCESS
+objectDeleted( 16 , DIAGRAM )
+propertyUpdated( 15 , BLOCK , PARENT_DIAGRAM ) : SUCCESS
+propertyUpdated( 17 , BLOCK , PARENT_BLOCK ) : SUCCESS
+propertyUpdated( 20 , LINK , PARENT_BLOCK ) : SUCCESS
 propertyUpdated( 17 , BLOCK , INPUTS ) : SUCCESS
 propertyUpdated( 17 , BLOCK , OUTPUTS ) : NO_CHANGES
 propertyUpdated( 17 , BLOCK , EVENT_INPUTS ) : NO_CHANGES
@@ -689,11 +693,7 @@ propertyUpdated( 17 , BLOCK , EVENT_OUTPUTS ) : NO_CHANGES
 propertyUpdated( 20 , LINK , SOURCE_PORT ) : SUCCESS
 objectDeleted( 19 , PORT )
 objectDeleted( 17 , BLOCK )
-propertyUpdated( 16 , DIAGRAM , CHILDREN ) : SUCCESS
-propertyUpdated( 15 , BLOCK , CHILDREN ) : SUCCESS
 objectDeleted( 20 , LINK )
-objectDeleted( 16 , DIAGRAM )
-propertyUpdated( 14 , DIAGRAM , CHILDREN ) : SUCCESS
 objectDeleted( 15 , BLOCK )
 objectDeleted( 14 , DIAGRAM )
 // Try with two "BIGSOM_f" blocks connected together
@@ -2071,7 +2071,9 @@ propertyUpdated( 34 , BLOCK , EVENT_INPUTS ) : NO_CHANGES
 propertyUpdated( 34 , BLOCK , EVENT_OUTPUTS ) : NO_CHANGES
 objectDeleted( 37 , PORT )
 objectDeleted( 34 , BLOCK )
-propertyUpdated( 29 , DIAGRAM , CHILDREN ) : SUCCESS
+propertyUpdated( 39 , BLOCK , PARENT_DIAGRAM ) : SUCCESS
+propertyUpdated( 43 , BLOCK , PARENT_DIAGRAM ) : SUCCESS
+propertyUpdated( 47 , LINK , PARENT_DIAGRAM ) : SUCCESS
 propertyUpdated( 39 , BLOCK , INPUTS ) : SUCCESS
 propertyUpdated( 39 , BLOCK , OUTPUTS ) : NO_CHANGES
 propertyUpdated( 39 , BLOCK , EVENT_INPUTS ) : NO_CHANGES
@@ -2089,7 +2091,6 @@ propertyUpdated( 39 , BLOCK , EVENT_OUTPUTS ) : NO_CHANGES
 propertyUpdated( 47 , LINK , SOURCE_PORT ) : SUCCESS
 objectDeleted( 42 , PORT )
 objectDeleted( 39 , BLOCK )
-propertyUpdated( 29 , DIAGRAM , CHILDREN ) : SUCCESS
 propertyUpdated( 43 , BLOCK , INPUTS ) : SUCCESS
 propertyUpdated( 43 , BLOCK , OUTPUTS ) : NO_CHANGES
 propertyUpdated( 43 , BLOCK , EVENT_INPUTS ) : NO_CHANGES
@@ -2107,11 +2108,16 @@ propertyUpdated( 43 , BLOCK , EVENT_INPUTS ) : NO_CHANGES
 propertyUpdated( 43 , BLOCK , EVENT_OUTPUTS ) : NO_CHANGES
 objectDeleted( 46 , PORT )
 objectDeleted( 43 , BLOCK )
-propertyUpdated( 29 , DIAGRAM , CHILDREN ) : SUCCESS
 objectDeleted( 47 , LINK )
 objectDeleted( 29 , DIAGRAM )
-propertyUpdated( 72 , DIAGRAM , CHILDREN ) : SUCCESS
-propertyUpdated( 71 , BLOCK , CHILDREN ) : SUCCESS
+propertyUpdated( 73 , BLOCK , PARENT_DIAGRAM ) : SUCCESS
+propertyUpdated( 77 , BLOCK , PARENT_DIAGRAM ) : SUCCESS
+propertyUpdated( 81 , LINK , PARENT_DIAGRAM ) : SUCCESS
+objectDeleted( 72 , DIAGRAM )
+propertyUpdated( 71 , BLOCK , PARENT_DIAGRAM ) : SUCCESS
+propertyUpdated( 73 , BLOCK , PARENT_BLOCK ) : SUCCESS
+propertyUpdated( 77 , BLOCK , PARENT_BLOCK ) : SUCCESS
+propertyUpdated( 81 , LINK , PARENT_BLOCK ) : SUCCESS
 propertyUpdated( 73 , BLOCK , INPUTS ) : SUCCESS
 propertyUpdated( 73 , BLOCK , OUTPUTS ) : NO_CHANGES
 propertyUpdated( 73 , BLOCK , EVENT_INPUTS ) : NO_CHANGES
@@ -2129,8 +2135,6 @@ propertyUpdated( 73 , BLOCK , EVENT_OUTPUTS ) : NO_CHANGES
 propertyUpdated( 81 , LINK , SOURCE_PORT ) : SUCCESS
 objectDeleted( 76 , PORT )
 objectDeleted( 73 , BLOCK )
-propertyUpdated( 72 , DIAGRAM , CHILDREN ) : SUCCESS
-propertyUpdated( 71 , BLOCK , CHILDREN ) : SUCCESS
 propertyUpdated( 77 , BLOCK , INPUTS ) : SUCCESS
 propertyUpdated( 77 , BLOCK , OUTPUTS ) : NO_CHANGES
 propertyUpdated( 77 , BLOCK , EVENT_INPUTS ) : NO_CHANGES
@@ -2148,15 +2152,17 @@ propertyUpdated( 77 , BLOCK , EVENT_INPUTS ) : NO_CHANGES
 propertyUpdated( 77 , BLOCK , EVENT_OUTPUTS ) : NO_CHANGES
 objectDeleted( 80 , PORT )
 objectDeleted( 77 , BLOCK )
-propertyUpdated( 72 , DIAGRAM , CHILDREN ) : SUCCESS
-propertyUpdated( 71 , BLOCK , CHILDREN ) : SUCCESS
 objectDeleted( 81 , LINK )
-objectDeleted( 72 , DIAGRAM )
-propertyUpdated( 70 , DIAGRAM , CHILDREN ) : SUCCESS
 objectDeleted( 71 , BLOCK )
 objectDeleted( 70 , DIAGRAM )
-propertyUpdated( 84 , DIAGRAM , CHILDREN ) : SUCCESS
-propertyUpdated( 83 , BLOCK , CHILDREN ) : SUCCESS
+propertyUpdated( 85 , BLOCK , PARENT_DIAGRAM ) : SUCCESS
+propertyUpdated( 89 , BLOCK , PARENT_DIAGRAM ) : SUCCESS
+propertyUpdated( 93 , LINK , PARENT_DIAGRAM ) : SUCCESS
+objectDeleted( 84 , DIAGRAM )
+propertyUpdated( 83 , BLOCK , PARENT_DIAGRAM ) : SUCCESS
+propertyUpdated( 85 , BLOCK , PARENT_BLOCK ) : SUCCESS
+propertyUpdated( 89 , BLOCK , PARENT_BLOCK ) : SUCCESS
+propertyUpdated( 93 , LINK , PARENT_BLOCK ) : SUCCESS
 propertyUpdated( 85 , BLOCK , INPUTS ) : SUCCESS
 propertyUpdated( 85 , BLOCK , OUTPUTS ) : NO_CHANGES
 propertyUpdated( 85 , BLOCK , EVENT_INPUTS ) : NO_CHANGES
@@ -2174,8 +2180,6 @@ propertyUpdated( 85 , BLOCK , EVENT_OUTPUTS ) : NO_CHANGES
 propertyUpdated( 93 , LINK , SOURCE_PORT ) : SUCCESS
 objectDeleted( 88 , PORT )
 objectDeleted( 85 , BLOCK )
-propertyUpdated( 84 , DIAGRAM , CHILDREN ) : SUCCESS
-propertyUpdated( 83 , BLOCK , CHILDREN ) : SUCCESS
 propertyUpdated( 89 , BLOCK , INPUTS ) : SUCCESS
 propertyUpdated( 89 , BLOCK , OUTPUTS ) : NO_CHANGES
 propertyUpdated( 89 , BLOCK , EVENT_INPUTS ) : NO_CHANGES
@@ -2193,15 +2197,16 @@ propertyUpdated( 89 , BLOCK , EVENT_INPUTS ) : NO_CHANGES
 propertyUpdated( 89 , BLOCK , EVENT_OUTPUTS ) : NO_CHANGES
 objectDeleted( 92 , PORT )
 objectDeleted( 89 , BLOCK )
-propertyUpdated( 84 , DIAGRAM , CHILDREN ) : SUCCESS
-propertyUpdated( 83 , BLOCK , CHILDREN ) : SUCCESS
 objectDeleted( 93 , LINK )
-objectDeleted( 84 , DIAGRAM )
-propertyUpdated( 82 , DIAGRAM , CHILDREN ) : SUCCESS
 objectDeleted( 83 , BLOCK )
 objectDeleted( 82 , DIAGRAM )
-propertyUpdated( 48 , DIAGRAM , CHILDREN ) : SUCCESS
-propertyUpdated( 28 , BLOCK , CHILDREN ) : SUCCESS
+propertyUpdated( 49 , BLOCK , PARENT_DIAGRAM ) : SUCCESS
+propertyUpdated( 53 , BLOCK , PARENT_DIAGRAM ) : SUCCESS
+propertyUpdated( 57 , LINK , PARENT_DIAGRAM ) : SUCCESS
+objectDeleted( 48 , DIAGRAM )
+propertyUpdated( 49 , BLOCK , PARENT_BLOCK ) : SUCCESS
+propertyUpdated( 53 , BLOCK , PARENT_BLOCK ) : SUCCESS
+propertyUpdated( 57 , LINK , PARENT_BLOCK ) : SUCCESS
 propertyUpdated( 49 , BLOCK , INPUTS ) : SUCCESS
 propertyUpdated( 49 , BLOCK , OUTPUTS ) : NO_CHANGES
 propertyUpdated( 49 , BLOCK , EVENT_INPUTS ) : NO_CHANGES
@@ -2219,8 +2224,6 @@ propertyUpdated( 49 , BLOCK , EVENT_OUTPUTS ) : NO_CHANGES
 propertyUpdated( 57 , LINK , SOURCE_PORT ) : SUCCESS
 objectDeleted( 52 , PORT )
 objectDeleted( 49 , BLOCK )
-propertyUpdated( 48 , DIAGRAM , CHILDREN ) : SUCCESS
-propertyUpdated( 28 , BLOCK , CHILDREN ) : SUCCESS
 propertyUpdated( 53 , BLOCK , INPUTS ) : SUCCESS
 propertyUpdated( 53 , BLOCK , OUTPUTS ) : NO_CHANGES
 propertyUpdated( 53 , BLOCK , EVENT_INPUTS ) : NO_CHANGES
@@ -2238,13 +2241,16 @@ propertyUpdated( 53 , BLOCK , EVENT_INPUTS ) : NO_CHANGES
 propertyUpdated( 53 , BLOCK , EVENT_OUTPUTS ) : NO_CHANGES
 objectDeleted( 56 , PORT )
 objectDeleted( 53 , BLOCK )
-propertyUpdated( 48 , DIAGRAM , CHILDREN ) : SUCCESS
-propertyUpdated( 28 , BLOCK , CHILDREN ) : SUCCESS
 objectDeleted( 57 , LINK )
-objectDeleted( 48 , DIAGRAM )
 objectDeleted( 28 , BLOCK )
-propertyUpdated( 60 , DIAGRAM , CHILDREN ) : SUCCESS
-propertyUpdated( 59 , BLOCK , CHILDREN ) : SUCCESS
+propertyUpdated( 61 , BLOCK , PARENT_DIAGRAM ) : SUCCESS
+propertyUpdated( 65 , BLOCK , PARENT_DIAGRAM ) : SUCCESS
+propertyUpdated( 69 , LINK , PARENT_DIAGRAM ) : SUCCESS
+objectDeleted( 60 , DIAGRAM )
+propertyUpdated( 59 , BLOCK , PARENT_DIAGRAM ) : SUCCESS
+propertyUpdated( 61 , BLOCK , PARENT_BLOCK ) : SUCCESS
+propertyUpdated( 65 , BLOCK , PARENT_BLOCK ) : SUCCESS
+propertyUpdated( 69 , LINK , PARENT_BLOCK ) : SUCCESS
 propertyUpdated( 61 , BLOCK , INPUTS ) : SUCCESS
 propertyUpdated( 61 , BLOCK , OUTPUTS ) : NO_CHANGES
 propertyUpdated( 61 , BLOCK , EVENT_INPUTS ) : NO_CHANGES
@@ -2262,8 +2268,6 @@ propertyUpdated( 61 , BLOCK , EVENT_OUTPUTS ) : NO_CHANGES
 propertyUpdated( 69 , LINK , SOURCE_PORT ) : SUCCESS
 objectDeleted( 64 , PORT )
 objectDeleted( 61 , BLOCK )
-propertyUpdated( 60 , DIAGRAM , CHILDREN ) : SUCCESS
-propertyUpdated( 59 , BLOCK , CHILDREN ) : SUCCESS
 propertyUpdated( 65 , BLOCK , INPUTS ) : SUCCESS
 propertyUpdated( 65 , BLOCK , OUTPUTS ) : NO_CHANGES
 propertyUpdated( 65 , BLOCK , EVENT_INPUTS ) : NO_CHANGES
@@ -2281,11 +2285,7 @@ propertyUpdated( 65 , BLOCK , EVENT_INPUTS ) : NO_CHANGES
 propertyUpdated( 65 , BLOCK , EVENT_OUTPUTS ) : NO_CHANGES
 objectDeleted( 68 , PORT )
 objectDeleted( 65 , BLOCK )
-propertyUpdated( 60 , DIAGRAM , CHILDREN ) : SUCCESS
-propertyUpdated( 59 , BLOCK , CHILDREN ) : SUCCESS
 objectDeleted( 69 , LINK )
-objectDeleted( 60 , DIAGRAM )
-propertyUpdated( 58 , DIAGRAM , CHILDREN ) : SUCCESS
 objectDeleted( 59 , BLOCK )
 objectDeleted( 58 , DIAGRAM )
 // Try with a predefined SuperBlock
@@ -2621,14 +2621,14 @@ propertyUpdated( 97 , BLOCK , EVENT_INPUTS ) : NO_CHANGES
 propertyUpdated( 97 , BLOCK , EVENT_OUTPUTS ) : NO_CHANGES
 objectDeleted( 98 , PORT )
 objectDeleted( 97 , BLOCK )
-propertyUpdated( 94 , DIAGRAM , CHILDREN ) : SUCCESS
+propertyUpdated( 99 , BLOCK , PARENT_DIAGRAM ) : SUCCESS
+propertyUpdated( 101 , BLOCK , PARENT_DIAGRAM ) : SUCCESS
 propertyUpdated( 99 , BLOCK , INPUTS ) : NO_CHANGES
 propertyUpdated( 99 , BLOCK , OUTPUTS ) : SUCCESS
 propertyUpdated( 99 , BLOCK , EVENT_INPUTS ) : NO_CHANGES
 propertyUpdated( 99 , BLOCK , EVENT_OUTPUTS ) : NO_CHANGES
 objectDeleted( 100 , PORT )
 objectDeleted( 99 , BLOCK )
-propertyUpdated( 94 , DIAGRAM , CHILDREN ) : SUCCESS
 propertyUpdated( 101 , BLOCK , INPUTS ) : SUCCESS
 propertyUpdated( 101 , BLOCK , OUTPUTS ) : NO_CHANGES
 propertyUpdated( 101 , BLOCK , EVENT_INPUTS ) : NO_CHANGES
@@ -3066,91 +3066,91 @@ Model   :
 assert_checkequal(size(l(1).objs(1).model.rpar.objs), 2); // Blocks "IN_f" and "OUT_f"
 // Check that all the model items are freed
 clear
-propertyUpdated( 124 , DIAGRAM , CHILDREN ) : SUCCESS
-propertyUpdated( 121 , BLOCK , CHILDREN ) : SUCCESS
+propertyUpdated( 125 , BLOCK , PARENT_DIAGRAM ) : SUCCESS
+propertyUpdated( 127 , BLOCK , PARENT_DIAGRAM ) : SUCCESS
+objectDeleted( 124 , DIAGRAM )
+propertyUpdated( 121 , BLOCK , PARENT_DIAGRAM ) : SUCCESS
+propertyUpdated( 121 , BLOCK , INPUTS ) : SUCCESS
+propertyUpdated( 121 , BLOCK , OUTPUTS ) : NO_CHANGES
+propertyUpdated( 121 , BLOCK , EVENT_INPUTS ) : NO_CHANGES
+propertyUpdated( 121 , BLOCK , EVENT_OUTPUTS ) : NO_CHANGES
+objectDeleted( 122 , PORT )
+propertyUpdated( 121 , BLOCK , INPUTS ) : NO_CHANGES
+propertyUpdated( 121 , BLOCK , OUTPUTS ) : SUCCESS
+propertyUpdated( 121 , BLOCK , EVENT_INPUTS ) : NO_CHANGES
+propertyUpdated( 121 , BLOCK , EVENT_OUTPUTS ) : NO_CHANGES
+objectDeleted( 123 , PORT )
+propertyUpdated( 125 , BLOCK , PARENT_BLOCK ) : SUCCESS
+propertyUpdated( 127 , BLOCK , PARENT_BLOCK ) : SUCCESS
 propertyUpdated( 125 , BLOCK , INPUTS ) : NO_CHANGES
 propertyUpdated( 125 , BLOCK , OUTPUTS ) : SUCCESS
 propertyUpdated( 125 , BLOCK , EVENT_INPUTS ) : NO_CHANGES
 propertyUpdated( 125 , BLOCK , EVENT_OUTPUTS ) : NO_CHANGES
 objectDeleted( 126 , PORT )
 objectDeleted( 125 , BLOCK )
-propertyUpdated( 124 , DIAGRAM , CHILDREN ) : SUCCESS
-propertyUpdated( 121 , BLOCK , CHILDREN ) : SUCCESS
 propertyUpdated( 127 , BLOCK , INPUTS ) : SUCCESS
 propertyUpdated( 127 , BLOCK , OUTPUTS ) : NO_CHANGES
 propertyUpdated( 127 , BLOCK , EVENT_INPUTS ) : NO_CHANGES
 propertyUpdated( 127 , BLOCK , EVENT_OUTPUTS ) : NO_CHANGES
 objectDeleted( 128 , PORT )
 objectDeleted( 127 , BLOCK )
-objectDeleted( 124 , DIAGRAM )
-propertyUpdated( 120 , DIAGRAM , CHILDREN ) : SUCCESS
-propertyUpdated( 121 , BLOCK , INPUTS ) : SUCCESS
-propertyUpdated( 121 , BLOCK , OUTPUTS ) : NO_CHANGES
-propertyUpdated( 121 , BLOCK , EVENT_INPUTS ) : NO_CHANGES
-propertyUpdated( 121 , BLOCK , EVENT_OUTPUTS ) : NO_CHANGES
-objectDeleted( 122 , PORT )
-propertyUpdated( 121 , BLOCK , INPUTS ) : NO_CHANGES
-propertyUpdated( 121 , BLOCK , OUTPUTS ) : SUCCESS
-propertyUpdated( 121 , BLOCK , EVENT_INPUTS ) : NO_CHANGES
-propertyUpdated( 121 , BLOCK , EVENT_OUTPUTS ) : NO_CHANGES
-objectDeleted( 123 , PORT )
 objectDeleted( 121 , BLOCK )
 objectDeleted( 120 , DIAGRAM )
-propertyUpdated( 106 , DIAGRAM , CHILDREN ) : SUCCESS
-propertyUpdated( 103 , BLOCK , CHILDREN ) : SUCCESS
+propertyUpdated( 107 , BLOCK , PARENT_DIAGRAM ) : SUCCESS
+propertyUpdated( 109 , BLOCK , PARENT_DIAGRAM ) : SUCCESS
+objectDeleted( 106 , DIAGRAM )
+propertyUpdated( 103 , BLOCK , INPUTS ) : SUCCESS
+propertyUpdated( 103 , BLOCK , OUTPUTS ) : NO_CHANGES
+propertyUpdated( 103 , BLOCK , EVENT_INPUTS ) : NO_CHANGES
+propertyUpdated( 103 , BLOCK , EVENT_OUTPUTS ) : NO_CHANGES
+objectDeleted( 104 , PORT )
+propertyUpdated( 103 , BLOCK , INPUTS ) : NO_CHANGES
+propertyUpdated( 103 , BLOCK , OUTPUTS ) : SUCCESS
+propertyUpdated( 103 , BLOCK , EVENT_INPUTS ) : NO_CHANGES
+propertyUpdated( 103 , BLOCK , EVENT_OUTPUTS ) : NO_CHANGES
+objectDeleted( 105 , PORT )
+propertyUpdated( 107 , BLOCK , PARENT_BLOCK ) : SUCCESS
+propertyUpdated( 109 , BLOCK , PARENT_BLOCK ) : SUCCESS
 propertyUpdated( 107 , BLOCK , INPUTS ) : NO_CHANGES
 propertyUpdated( 107 , BLOCK , OUTPUTS ) : SUCCESS
 propertyUpdated( 107 , BLOCK , EVENT_INPUTS ) : NO_CHANGES
 propertyUpdated( 107 , BLOCK , EVENT_OUTPUTS ) : NO_CHANGES
 objectDeleted( 108 , PORT )
 objectDeleted( 107 , BLOCK )
-propertyUpdated( 106 , DIAGRAM , CHILDREN ) : SUCCESS
-propertyUpdated( 103 , BLOCK , CHILDREN ) : SUCCESS
 propertyUpdated( 109 , BLOCK , INPUTS ) : SUCCESS
 propertyUpdated( 109 , BLOCK , OUTPUTS ) : NO_CHANGES
 propertyUpdated( 109 , BLOCK , EVENT_INPUTS ) : NO_CHANGES
 propertyUpdated( 109 , BLOCK , EVENT_OUTPUTS ) : NO_CHANGES
 objectDeleted( 110 , PORT )
 objectDeleted( 109 , BLOCK )
-objectDeleted( 106 , DIAGRAM )
-propertyUpdated( 103 , BLOCK , INPUTS ) : SUCCESS
-propertyUpdated( 103 , BLOCK , OUTPUTS ) : NO_CHANGES
-propertyUpdated( 103 , BLOCK , EVENT_INPUTS ) : NO_CHANGES
-propertyUpdated( 103 , BLOCK , EVENT_OUTPUTS ) : NO_CHANGES
-objectDeleted( 104 , PORT )
-propertyUpdated( 103 , BLOCK , INPUTS ) : NO_CHANGES
-propertyUpdated( 103 , BLOCK , OUTPUTS ) : SUCCESS
-propertyUpdated( 103 , BLOCK , EVENT_INPUTS ) : NO_CHANGES
-propertyUpdated( 103 , BLOCK , EVENT_OUTPUTS ) : NO_CHANGES
-objectDeleted( 105 , PORT )
 objectDeleted( 103 , BLOCK )
-propertyUpdated( 115 , DIAGRAM , CHILDREN ) : SUCCESS
-propertyUpdated( 112 , BLOCK , CHILDREN ) : SUCCESS
+propertyUpdated( 116 , BLOCK , PARENT_DIAGRAM ) : SUCCESS
+propertyUpdated( 118 , BLOCK , PARENT_DIAGRAM ) : SUCCESS
+objectDeleted( 115 , DIAGRAM )
+propertyUpdated( 112 , BLOCK , PARENT_DIAGRAM ) : SUCCESS
+propertyUpdated( 112 , BLOCK , INPUTS ) : SUCCESS
+propertyUpdated( 112 , BLOCK , OUTPUTS ) : NO_CHANGES
+propertyUpdated( 112 , BLOCK , EVENT_INPUTS ) : NO_CHANGES
+propertyUpdated( 112 , BLOCK , EVENT_OUTPUTS ) : NO_CHANGES
+objectDeleted( 113 , PORT )
+propertyUpdated( 112 , BLOCK , INPUTS ) : NO_CHANGES
+propertyUpdated( 112 , BLOCK , OUTPUTS ) : SUCCESS
+propertyUpdated( 112 , BLOCK , EVENT_INPUTS ) : NO_CHANGES
+propertyUpdated( 112 , BLOCK , EVENT_OUTPUTS ) : NO_CHANGES
+objectDeleted( 114 , PORT )
+propertyUpdated( 116 , BLOCK , PARENT_BLOCK ) : SUCCESS
+propertyUpdated( 118 , BLOCK , PARENT_BLOCK ) : SUCCESS
 propertyUpdated( 116 , BLOCK , INPUTS ) : NO_CHANGES
 propertyUpdated( 116 , BLOCK , OUTPUTS ) : SUCCESS
 propertyUpdated( 116 , BLOCK , EVENT_INPUTS ) : NO_CHANGES
 propertyUpdated( 116 , BLOCK , EVENT_OUTPUTS ) : NO_CHANGES
 objectDeleted( 117 , PORT )
 objectDeleted( 116 , BLOCK )
-propertyUpdated( 115 , DIAGRAM , CHILDREN ) : SUCCESS
-propertyUpdated( 112 , BLOCK , CHILDREN ) : SUCCESS
 propertyUpdated( 118 , BLOCK , INPUTS ) : SUCCESS
 propertyUpdated( 118 , BLOCK , OUTPUTS ) : NO_CHANGES
 propertyUpdated( 118 , BLOCK , EVENT_INPUTS ) : NO_CHANGES
 propertyUpdated( 118 , BLOCK , EVENT_OUTPUTS ) : NO_CHANGES
 objectDeleted( 119 , PORT )
 objectDeleted( 118 , BLOCK )
-objectDeleted( 115 , DIAGRAM )
-propertyUpdated( 111 , DIAGRAM , CHILDREN ) : SUCCESS
-propertyUpdated( 112 , BLOCK , INPUTS ) : SUCCESS
-propertyUpdated( 112 , BLOCK , OUTPUTS ) : NO_CHANGES
-propertyUpdated( 112 , BLOCK , EVENT_INPUTS ) : NO_CHANGES
-propertyUpdated( 112 , BLOCK , EVENT_OUTPUTS ) : NO_CHANGES
-objectDeleted( 113 , PORT )
-propertyUpdated( 112 , BLOCK , INPUTS ) : NO_CHANGES
-propertyUpdated( 112 , BLOCK , OUTPUTS ) : SUCCESS
-propertyUpdated( 112 , BLOCK , EVENT_INPUTS ) : NO_CHANGES
-propertyUpdated( 112 , BLOCK , EVENT_OUTPUTS ) : NO_CHANGES
-objectDeleted( 114 , PORT )
 objectDeleted( 112 , BLOCK )
 objectDeleted( 111 , DIAGRAM )
index 8629af0..af4c6ba 100644 (file)
@@ -369,8 +369,8 @@ objectDeleted( 9 , PORT )
 objectDeleted( 6 , BLOCK )
 objectDeleted( 10 , LINK )
 objectDeleted( 11 , LINK )
-propertyUpdated( 1 , DIAGRAM , CHILDREN ) : SUCCESS
+propertyUpdated( 20 , LINK , PARENT_DIAGRAM ) : SUCCESS
+propertyUpdated( 21 , LINK , PARENT_DIAGRAM ) : SUCCESS
 objectDeleted( 20 , LINK )
-propertyUpdated( 1 , DIAGRAM , CHILDREN ) : SUCCESS
 objectDeleted( 21 , LINK )
 objectDeleted( 1 , DIAGRAM )
index 877e34f..8fde90f 100644 (file)
@@ -114,7 +114,7 @@ propertyUpdated( 4 , BLOCK , PARENT_DIAGRAM ) : SUCCESS
 propertyUpdated( 3 , DIAGRAM , VERSION_NUMBER ) : NO_CHANGES
 objectDeleted( 2 , BLOCK )
 clear scs_m
-propertyUpdated( 3 , DIAGRAM , CHILDREN ) : SUCCESS
+propertyUpdated( 4 , BLOCK , PARENT_DIAGRAM ) : SUCCESS
 objectDeleted( 4 , BLOCK )
 objectDeleted( 3 , DIAGRAM )
 // Create a diagram containing 2 summation blocks and two links
@@ -738,7 +738,11 @@ propertyUpdated( 28 , LINK , DESTINATION_PORT ) : NO_CHANGES
 //===================================================================================================
 // Test predefined link at diagram creation
 clear scs_m;
-propertyUpdated( 17 , DIAGRAM , CHILDREN ) : SUCCESS
+propertyUpdated( 18 , BLOCK , PARENT_DIAGRAM ) : SUCCESS
+propertyUpdated( 22 , BLOCK , PARENT_DIAGRAM ) : SUCCESS
+propertyUpdated( 25 , BLOCK , PARENT_DIAGRAM ) : SUCCESS
+propertyUpdated( 28 , LINK , PARENT_DIAGRAM ) : SUCCESS
+propertyUpdated( 29 , LINK , PARENT_DIAGRAM ) : SUCCESS
 propertyUpdated( 18 , BLOCK , INPUTS ) : SUCCESS
 propertyUpdated( 18 , BLOCK , OUTPUTS ) : NO_CHANGES
 propertyUpdated( 18 , BLOCK , EVENT_INPUTS ) : NO_CHANGES
@@ -755,7 +759,6 @@ propertyUpdated( 18 , BLOCK , EVENT_INPUTS ) : NO_CHANGES
 propertyUpdated( 18 , BLOCK , EVENT_OUTPUTS ) : NO_CHANGES
 objectDeleted( 21 , PORT )
 objectDeleted( 18 , BLOCK )
-propertyUpdated( 17 , DIAGRAM , CHILDREN ) : SUCCESS
 propertyUpdated( 22 , BLOCK , INPUTS ) : SUCCESS
 propertyUpdated( 22 , BLOCK , OUTPUTS ) : NO_CHANGES
 propertyUpdated( 22 , BLOCK , EVENT_INPUTS ) : NO_CHANGES
@@ -773,7 +776,6 @@ propertyUpdated( 22 , BLOCK , EVENT_OUTPUTS ) : NO_CHANGES
 propertyUpdated( 29 , LINK , SOURCE_PORT ) : SUCCESS
 objectDeleted( 24 , PORT )
 objectDeleted( 22 , BLOCK )
-propertyUpdated( 17 , DIAGRAM , CHILDREN ) : SUCCESS
 propertyUpdated( 25 , BLOCK , INPUTS ) : SUCCESS
 propertyUpdated( 25 , BLOCK , OUTPUTS ) : NO_CHANGES
 propertyUpdated( 25 , BLOCK , EVENT_INPUTS ) : NO_CHANGES
@@ -791,9 +793,7 @@ propertyUpdated( 25 , BLOCK , EVENT_OUTPUTS ) : SUCCESS
 propertyUpdated( 29 , LINK , DESTINATION_PORT ) : SUCCESS
 objectDeleted( 31 , PORT )
 objectDeleted( 25 , BLOCK )
-propertyUpdated( 17 , DIAGRAM , CHILDREN ) : SUCCESS
 objectDeleted( 28 , LINK )
-propertyUpdated( 17 , DIAGRAM , CHILDREN ) : SUCCESS
 objectDeleted( 29 , LINK )
 objectDeleted( 17 , DIAGRAM )
 lnk   = scicos_link( from=[1 1 0],to=[2 1 1] );
@@ -938,7 +938,9 @@ assert_checkequal(scs_m.objs(2).model.in,      -1);  // "
 //===================================================================================================
 // Test predefined link insertion
 clear scs_m;
-propertyUpdated( 33 , DIAGRAM , CHILDREN ) : SUCCESS
+propertyUpdated( 34 , BLOCK , PARENT_DIAGRAM ) : SUCCESS
+propertyUpdated( 38 , BLOCK , PARENT_DIAGRAM ) : SUCCESS
+propertyUpdated( 41 , LINK , PARENT_DIAGRAM ) : SUCCESS
 propertyUpdated( 34 , BLOCK , INPUTS ) : SUCCESS
 propertyUpdated( 34 , BLOCK , OUTPUTS ) : NO_CHANGES
 propertyUpdated( 34 , BLOCK , EVENT_INPUTS ) : NO_CHANGES
@@ -956,7 +958,6 @@ propertyUpdated( 34 , BLOCK , EVENT_OUTPUTS ) : NO_CHANGES
 propertyUpdated( 41 , LINK , SOURCE_PORT ) : SUCCESS
 objectDeleted( 37 , PORT )
 objectDeleted( 34 , BLOCK )
-propertyUpdated( 33 , DIAGRAM , CHILDREN ) : SUCCESS
 propertyUpdated( 38 , BLOCK , INPUTS ) : SUCCESS
 propertyUpdated( 38 , BLOCK , OUTPUTS ) : NO_CHANGES
 propertyUpdated( 38 , BLOCK , EVENT_INPUTS ) : NO_CHANGES
@@ -969,7 +970,6 @@ propertyUpdated( 38 , BLOCK , EVENT_INPUTS ) : SUCCESS
 propertyUpdated( 38 , BLOCK , EVENT_OUTPUTS ) : NO_CHANGES
 objectDeleted( 40 , PORT )
 objectDeleted( 38 , BLOCK )
-propertyUpdated( 33 , DIAGRAM , CHILDREN ) : SUCCESS
 objectDeleted( 41 , LINK )
 objectDeleted( 33 , DIAGRAM )
 lnk   = scicos_link( from=[1 1 0],to=[2 1 1] );
@@ -1222,7 +1222,9 @@ assert_checkequal(scs_m.objs(2).model.in,      -1);  // "
 //===================================================================================================
 // Test Links insertion before Block insertion
 clear scs_m;
-propertyUpdated( 43 , DIAGRAM , CHILDREN ) : SUCCESS
+propertyUpdated( 44 , BLOCK , PARENT_DIAGRAM ) : SUCCESS
+propertyUpdated( 48 , BLOCK , PARENT_DIAGRAM ) : SUCCESS
+propertyUpdated( 51 , LINK , PARENT_DIAGRAM ) : SUCCESS
 propertyUpdated( 44 , BLOCK , INPUTS ) : SUCCESS
 propertyUpdated( 44 , BLOCK , OUTPUTS ) : NO_CHANGES
 propertyUpdated( 44 , BLOCK , EVENT_INPUTS ) : NO_CHANGES
@@ -1240,7 +1242,6 @@ propertyUpdated( 44 , BLOCK , EVENT_OUTPUTS ) : NO_CHANGES
 propertyUpdated( 51 , LINK , SOURCE_PORT ) : SUCCESS
 objectDeleted( 47 , PORT )
 objectDeleted( 44 , BLOCK )
-propertyUpdated( 43 , DIAGRAM , CHILDREN ) : SUCCESS
 propertyUpdated( 48 , BLOCK , INPUTS ) : SUCCESS
 propertyUpdated( 48 , BLOCK , OUTPUTS ) : NO_CHANGES
 propertyUpdated( 48 , BLOCK , EVENT_INPUTS ) : NO_CHANGES
@@ -1253,7 +1254,6 @@ propertyUpdated( 48 , BLOCK , EVENT_INPUTS ) : SUCCESS
 propertyUpdated( 48 , BLOCK , EVENT_OUTPUTS ) : NO_CHANGES
 objectDeleted( 50 , PORT )
 objectDeleted( 48 , BLOCK )
-propertyUpdated( 43 , DIAGRAM , CHILDREN ) : SUCCESS
 objectDeleted( 51 , LINK )
 objectDeleted( 43 , DIAGRAM )
 lnk   = scicos_link( from=[2 1 0],to=[3 1 1] );
@@ -1553,11 +1553,12 @@ objectDeleted( 12 , BLOCK )
 objectDeleted( 15 , LINK )
 objectDeleted( 16 , LINK )
 objectDeleted( 52 , LINK )
-propertyUpdated( 53 , DIAGRAM , CHILDREN ) : SUCCESS
+propertyUpdated( 54 , LINK , PARENT_DIAGRAM ) : SUCCESS
+propertyUpdated( 55 , BLOCK , PARENT_DIAGRAM ) : SUCCESS
+propertyUpdated( 59 , BLOCK , PARENT_DIAGRAM ) : SUCCESS
 propertyUpdated( 58 , PORT , CONNECTED_SIGNALS ) : SUCCESS
 propertyUpdated( 60 , PORT , CONNECTED_SIGNALS ) : SUCCESS
 objectDeleted( 54 , LINK )
-propertyUpdated( 53 , DIAGRAM , CHILDREN ) : SUCCESS
 propertyUpdated( 55 , BLOCK , INPUTS ) : SUCCESS
 propertyUpdated( 55 , BLOCK , OUTPUTS ) : NO_CHANGES
 propertyUpdated( 55 , BLOCK , EVENT_INPUTS ) : NO_CHANGES
@@ -1574,7 +1575,6 @@ propertyUpdated( 55 , BLOCK , EVENT_INPUTS ) : NO_CHANGES
 propertyUpdated( 55 , BLOCK , EVENT_OUTPUTS ) : NO_CHANGES
 objectDeleted( 58 , PORT )
 objectDeleted( 55 , BLOCK )
-propertyUpdated( 53 , DIAGRAM , CHILDREN ) : SUCCESS
 propertyUpdated( 59 , BLOCK , INPUTS ) : SUCCESS
 propertyUpdated( 59 , BLOCK , OUTPUTS ) : NO_CHANGES
 propertyUpdated( 59 , BLOCK , EVENT_INPUTS ) : NO_CHANGES
index 41bbc67..33e8b0f 100644 (file)
@@ -340,14 +340,14 @@ propertyUpdated( 4 , BLOCK , EVENT_INPUTS ) : NO_CHANGES
 propertyUpdated( 4 , BLOCK , EVENT_OUTPUTS ) : NO_CHANGES
 objectDeleted( 5 , PORT )
 objectDeleted( 4 , BLOCK )
-propertyUpdated( 1 , DIAGRAM , CHILDREN ) : SUCCESS
+propertyUpdated( 6 , BLOCK , PARENT_DIAGRAM ) : SUCCESS
+propertyUpdated( 8 , BLOCK , PARENT_DIAGRAM ) : SUCCESS
 propertyUpdated( 6 , BLOCK , INPUTS ) : NO_CHANGES
 propertyUpdated( 6 , BLOCK , OUTPUTS ) : SUCCESS
 propertyUpdated( 6 , BLOCK , EVENT_INPUTS ) : NO_CHANGES
 propertyUpdated( 6 , BLOCK , EVENT_OUTPUTS ) : NO_CHANGES
 objectDeleted( 7 , PORT )
 objectDeleted( 6 , BLOCK )
-propertyUpdated( 1 , DIAGRAM , CHILDREN ) : SUCCESS
 propertyUpdated( 8 , BLOCK , INPUTS ) : SUCCESS
 propertyUpdated( 8 , BLOCK , OUTPUTS ) : NO_CHANGES
 propertyUpdated( 8 , BLOCK , EVENT_INPUTS ) : NO_CHANGES
@@ -1499,7 +1499,12 @@ propertyUpdated( 43 , BLOCK , LABEL ) : NO_CHANGES
 propertyUpdated( 43 , BLOCK , NZCROSS ) : NO_CHANGES
 propertyUpdated( 43 , BLOCK , NMODE ) : NO_CHANGES
 propertyUpdated( 43 , BLOCK , UID ) : NO_CHANGES
-propertyUpdated( 27 , DIAGRAM , CHILDREN ) : SUCCESS
+propertyUpdated( 28 , BLOCK , PARENT_DIAGRAM ) : SUCCESS
+propertyUpdated( 30 , BLOCK , PARENT_DIAGRAM ) : SUCCESS
+propertyUpdated( 34 , LINK , PARENT_DIAGRAM ) : SUCCESS
+propertyUpdated( 35 , BLOCK , PARENT_DIAGRAM ) : SUCCESS
+propertyUpdated( 40 , LINK , PARENT_DIAGRAM ) : SUCCESS
+propertyUpdated( 42 , LINK , PARENT_DIAGRAM ) : SUCCESS
 propertyUpdated( 28 , BLOCK , INPUTS ) : NO_CHANGES
 propertyUpdated( 28 , BLOCK , OUTPUTS ) : NO_CHANGES
 propertyUpdated( 28 , BLOCK , EVENT_INPUTS ) : SUCCESS
@@ -1507,7 +1512,6 @@ propertyUpdated( 28 , BLOCK , EVENT_OUTPUTS ) : NO_CHANGES
 propertyUpdated( 40 , LINK , DESTINATION_PORT ) : SUCCESS
 objectDeleted( 29 , PORT )
 objectDeleted( 28 , BLOCK )
-propertyUpdated( 27 , DIAGRAM , CHILDREN ) : SUCCESS
 propertyUpdated( 30 , BLOCK , INPUTS ) : NO_CHANGES
 propertyUpdated( 30 , BLOCK , OUTPUTS ) : NO_CHANGES
 propertyUpdated( 30 , BLOCK , EVENT_INPUTS ) : SUCCESS
@@ -1521,10 +1525,8 @@ propertyUpdated( 30 , BLOCK , EVENT_OUTPUTS ) : SUCCESS
 propertyUpdated( 34 , LINK , SOURCE_PORT ) : SUCCESS
 objectDeleted( 32 , PORT )
 objectDeleted( 30 , BLOCK )
-propertyUpdated( 27 , DIAGRAM , CHILDREN ) : SUCCESS
 propertyUpdated( 36 , PORT , CONNECTED_SIGNALS ) : SUCCESS
 objectDeleted( 34 , LINK )
-propertyUpdated( 27 , DIAGRAM , CHILDREN ) : SUCCESS
 propertyUpdated( 35 , BLOCK , INPUTS ) : NO_CHANGES
 propertyUpdated( 35 , BLOCK , OUTPUTS ) : NO_CHANGES
 propertyUpdated( 35 , BLOCK , EVENT_INPUTS ) : SUCCESS
@@ -1543,9 +1545,7 @@ propertyUpdated( 35 , BLOCK , EVENT_OUTPUTS ) : SUCCESS
 propertyUpdated( 42 , LINK , SOURCE_PORT ) : SUCCESS
 objectDeleted( 38 , PORT )
 objectDeleted( 35 , BLOCK )
-propertyUpdated( 27 , DIAGRAM , CHILDREN ) : SUCCESS
 objectDeleted( 40 , LINK )
-propertyUpdated( 27 , DIAGRAM , CHILDREN ) : SUCCESS
 objectDeleted( 42 , LINK )
 objectDeleted( 27 , DIAGRAM )
 propertyUpdated( 18 , BLOCK , INPUTS ) : NO_CHANGES
@@ -2017,36 +2017,52 @@ clk.model.rpar.objs(6).to
     2.    1.    1.
 // Check that all the model items are freed
 clear sb clk
-propertyUpdated( 13 , DIAGRAM , CHILDREN ) : SUCCESS
-propertyUpdated( 10 , BLOCK , CHILDREN ) : SUCCESS
+propertyUpdated( 14 , BLOCK , PARENT_DIAGRAM ) : SUCCESS
+propertyUpdated( 16 , BLOCK , PARENT_DIAGRAM ) : SUCCESS
+objectDeleted( 13 , DIAGRAM )
+propertyUpdated( 10 , BLOCK , INPUTS ) : SUCCESS
+propertyUpdated( 10 , BLOCK , OUTPUTS ) : NO_CHANGES
+propertyUpdated( 10 , BLOCK , EVENT_INPUTS ) : NO_CHANGES
+propertyUpdated( 10 , BLOCK , EVENT_OUTPUTS ) : NO_CHANGES
+objectDeleted( 11 , PORT )
+propertyUpdated( 10 , BLOCK , INPUTS ) : NO_CHANGES
+propertyUpdated( 10 , BLOCK , OUTPUTS ) : SUCCESS
+propertyUpdated( 10 , BLOCK , EVENT_INPUTS ) : NO_CHANGES
+propertyUpdated( 10 , BLOCK , EVENT_OUTPUTS ) : NO_CHANGES
+objectDeleted( 12 , PORT )
+propertyUpdated( 14 , BLOCK , PARENT_BLOCK ) : SUCCESS
+propertyUpdated( 16 , BLOCK , PARENT_BLOCK ) : SUCCESS
 propertyUpdated( 14 , BLOCK , INPUTS ) : NO_CHANGES
 propertyUpdated( 14 , BLOCK , OUTPUTS ) : SUCCESS
 propertyUpdated( 14 , BLOCK , EVENT_INPUTS ) : NO_CHANGES
 propertyUpdated( 14 , BLOCK , EVENT_OUTPUTS ) : NO_CHANGES
 objectDeleted( 15 , PORT )
 objectDeleted( 14 , BLOCK )
-propertyUpdated( 13 , DIAGRAM , CHILDREN ) : SUCCESS
-propertyUpdated( 10 , BLOCK , CHILDREN ) : SUCCESS
 propertyUpdated( 16 , BLOCK , INPUTS ) : SUCCESS
 propertyUpdated( 16 , BLOCK , OUTPUTS ) : NO_CHANGES
 propertyUpdated( 16 , BLOCK , EVENT_INPUTS ) : NO_CHANGES
 propertyUpdated( 16 , BLOCK , EVENT_OUTPUTS ) : NO_CHANGES
 objectDeleted( 17 , PORT )
 objectDeleted( 16 , BLOCK )
-objectDeleted( 13 , DIAGRAM )
-propertyUpdated( 10 , BLOCK , INPUTS ) : SUCCESS
-propertyUpdated( 10 , BLOCK , OUTPUTS ) : NO_CHANGES
-propertyUpdated( 10 , BLOCK , EVENT_INPUTS ) : NO_CHANGES
-propertyUpdated( 10 , BLOCK , EVENT_OUTPUTS ) : NO_CHANGES
-objectDeleted( 11 , PORT )
-propertyUpdated( 10 , BLOCK , INPUTS ) : NO_CHANGES
-propertyUpdated( 10 , BLOCK , OUTPUTS ) : SUCCESS
-propertyUpdated( 10 , BLOCK , EVENT_INPUTS ) : NO_CHANGES
-propertyUpdated( 10 , BLOCK , EVENT_OUTPUTS ) : NO_CHANGES
-objectDeleted( 12 , PORT )
 objectDeleted( 10 , BLOCK )
-propertyUpdated( 45 , DIAGRAM , CHILDREN ) : SUCCESS
-propertyUpdated( 43 , BLOCK , CHILDREN ) : SUCCESS
+propertyUpdated( 46 , BLOCK , PARENT_DIAGRAM ) : SUCCESS
+propertyUpdated( 48 , BLOCK , PARENT_DIAGRAM ) : SUCCESS
+propertyUpdated( 51 , LINK , PARENT_DIAGRAM ) : SUCCESS
+propertyUpdated( 52 , BLOCK , PARENT_DIAGRAM ) : SUCCESS
+propertyUpdated( 56 , LINK , PARENT_DIAGRAM ) : SUCCESS
+propertyUpdated( 57 , LINK , PARENT_DIAGRAM ) : SUCCESS
+objectDeleted( 45 , DIAGRAM )
+propertyUpdated( 43 , BLOCK , INPUTS ) : NO_CHANGES
+propertyUpdated( 43 , BLOCK , OUTPUTS ) : NO_CHANGES
+propertyUpdated( 43 , BLOCK , EVENT_INPUTS ) : NO_CHANGES
+propertyUpdated( 43 , BLOCK , EVENT_OUTPUTS ) : SUCCESS
+objectDeleted( 44 , PORT )
+propertyUpdated( 46 , BLOCK , PARENT_BLOCK ) : SUCCESS
+propertyUpdated( 48 , BLOCK , PARENT_BLOCK ) : SUCCESS
+propertyUpdated( 51 , LINK , PARENT_BLOCK ) : SUCCESS
+propertyUpdated( 52 , BLOCK , PARENT_BLOCK ) : SUCCESS
+propertyUpdated( 56 , LINK , PARENT_BLOCK ) : SUCCESS
+propertyUpdated( 57 , LINK , PARENT_BLOCK ) : SUCCESS
 propertyUpdated( 46 , BLOCK , INPUTS ) : NO_CHANGES
 propertyUpdated( 46 , BLOCK , OUTPUTS ) : NO_CHANGES
 propertyUpdated( 46 , BLOCK , EVENT_INPUTS ) : SUCCESS
@@ -2054,8 +2070,6 @@ propertyUpdated( 46 , BLOCK , EVENT_OUTPUTS ) : NO_CHANGES
 propertyUpdated( 56 , LINK , DESTINATION_PORT ) : SUCCESS
 objectDeleted( 47 , PORT )
 objectDeleted( 46 , BLOCK )
-propertyUpdated( 45 , DIAGRAM , CHILDREN ) : SUCCESS
-propertyUpdated( 43 , BLOCK , CHILDREN ) : SUCCESS
 propertyUpdated( 48 , BLOCK , INPUTS ) : NO_CHANGES
 propertyUpdated( 48 , BLOCK , OUTPUTS ) : NO_CHANGES
 propertyUpdated( 48 , BLOCK , EVENT_INPUTS ) : SUCCESS
@@ -2069,12 +2083,8 @@ propertyUpdated( 48 , BLOCK , EVENT_OUTPUTS ) : SUCCESS
 propertyUpdated( 51 , LINK , SOURCE_PORT ) : SUCCESS
 objectDeleted( 50 , PORT )
 objectDeleted( 48 , BLOCK )
-propertyUpdated( 45 , DIAGRAM , CHILDREN ) : SUCCESS
-propertyUpdated( 43 , BLOCK , CHILDREN ) : SUCCESS
 propertyUpdated( 53 , PORT , CONNECTED_SIGNALS ) : SUCCESS
 objectDeleted( 51 , LINK )
-propertyUpdated( 45 , DIAGRAM , CHILDREN ) : SUCCESS
-propertyUpdated( 43 , BLOCK , CHILDREN ) : SUCCESS
 propertyUpdated( 52 , BLOCK , INPUTS ) : NO_CHANGES
 propertyUpdated( 52 , BLOCK , OUTPUTS ) : NO_CHANGES
 propertyUpdated( 52 , BLOCK , EVENT_INPUTS ) : SUCCESS
@@ -2093,16 +2103,6 @@ propertyUpdated( 52 , BLOCK , EVENT_OUTPUTS ) : SUCCESS
 propertyUpdated( 57 , LINK , SOURCE_PORT ) : SUCCESS
 objectDeleted( 55 , PORT )
 objectDeleted( 52 , BLOCK )
-propertyUpdated( 45 , DIAGRAM , CHILDREN ) : SUCCESS
-propertyUpdated( 43 , BLOCK , CHILDREN ) : SUCCESS
 objectDeleted( 56 , LINK )
-propertyUpdated( 45 , DIAGRAM , CHILDREN ) : SUCCESS
-propertyUpdated( 43 , BLOCK , CHILDREN ) : SUCCESS
 objectDeleted( 57 , LINK )
-objectDeleted( 45 , DIAGRAM )
-propertyUpdated( 43 , BLOCK , INPUTS ) : NO_CHANGES
-propertyUpdated( 43 , BLOCK , OUTPUTS ) : NO_CHANGES
-propertyUpdated( 43 , BLOCK , EVENT_INPUTS ) : NO_CHANGES
-propertyUpdated( 43 , BLOCK , EVENT_OUTPUTS ) : SUCCESS
-objectDeleted( 44 , PORT )
 objectDeleted( 43 , BLOCK )
index 0374cac..a354f31 100644 (file)
@@ -467,28 +467,28 @@ assert_checkequal(Super2.model.rpar.objs(1).model.rpar.objs(1).from, [2 1 0]);
 assert_checkequal(Super2.model.rpar.objs(1).model.rpar.objs(1).to,   [3 1 1]);
 // Check that all the model items are freed
 clear
-propertyUpdated( 5 , DIAGRAM , CHILDREN ) : SUCCESS
-propertyUpdated( 4 , BLOCK , CHILDREN ) : SUCCESS
-objectDeleted( 6 , LINK )
+propertyUpdated( 6 , LINK , PARENT_DIAGRAM ) : SUCCESS
 objectDeleted( 5 , DIAGRAM )
+propertyUpdated( 6 , LINK , PARENT_BLOCK ) : SUCCESS
+objectDeleted( 6 , LINK )
 objectDeleted( 4 , BLOCK )
-propertyUpdated( 14 , DIAGRAM , CHILDREN ) : SUCCESS
-propertyUpdated( 13 , BLOCK , CHILDREN ) : SUCCESS
-objectDeleted( 15 , LINK )
+propertyUpdated( 15 , LINK , PARENT_DIAGRAM ) : SUCCESS
 objectDeleted( 14 , DIAGRAM )
-propertyUpdated( 12 , DIAGRAM , CHILDREN ) : SUCCESS
-propertyUpdated( 11 , BLOCK , CHILDREN ) : SUCCESS
-objectDeleted( 13 , BLOCK )
+propertyUpdated( 13 , BLOCK , PARENT_DIAGRAM ) : SUCCESS
 objectDeleted( 12 , DIAGRAM )
+propertyUpdated( 13 , BLOCK , PARENT_BLOCK ) : SUCCESS
+propertyUpdated( 15 , LINK , PARENT_BLOCK ) : SUCCESS
+objectDeleted( 15 , LINK )
+objectDeleted( 13 , BLOCK )
 objectDeleted( 11 , BLOCK )
-propertyUpdated( 9 , DIAGRAM , CHILDREN ) : SUCCESS
-propertyUpdated( 8 , BLOCK , CHILDREN ) : SUCCESS
-objectDeleted( 10 , LINK )
+propertyUpdated( 10 , LINK , PARENT_DIAGRAM ) : SUCCESS
 objectDeleted( 9 , DIAGRAM )
-propertyUpdated( 7 , DIAGRAM , CHILDREN ) : SUCCESS
+propertyUpdated( 8 , BLOCK , PARENT_DIAGRAM ) : SUCCESS
+propertyUpdated( 10 , LINK , PARENT_BLOCK ) : SUCCESS
+objectDeleted( 10 , LINK )
 objectDeleted( 8 , BLOCK )
 objectDeleted( 7 , DIAGRAM )
 objectDeleted( 1 , LINK )
-propertyUpdated( 2 , DIAGRAM , CHILDREN ) : SUCCESS
+propertyUpdated( 3 , LINK , PARENT_DIAGRAM ) : SUCCESS
 objectDeleted( 3 , LINK )
 objectDeleted( 2 , DIAGRAM )
index d392eab..03059eb 100644 (file)
@@ -116,7 +116,8 @@ assert_checkequal(newLink.from, [3 1 0]);
 // Check that all the model items are freed
 clear
 objectDeleted( 7 , LINK )
-propertyUpdated( 3 , DIAGRAM , CHILDREN ) : SUCCESS
+propertyUpdated( 4 , BLOCK , PARENT_DIAGRAM ) : SUCCESS
+propertyUpdated( 5 , LINK , PARENT_DIAGRAM ) : SUCCESS
 propertyUpdated( 4 , BLOCK , INPUTS ) : NO_CHANGES
 propertyUpdated( 4 , BLOCK , OUTPUTS ) : SUCCESS
 propertyUpdated( 4 , BLOCK , EVENT_INPUTS ) : NO_CHANGES
@@ -124,6 +125,5 @@ propertyUpdated( 4 , BLOCK , EVENT_OUTPUTS ) : NO_CHANGES
 propertyUpdated( 5 , LINK , SOURCE_PORT ) : SUCCESS
 objectDeleted( 6 , PORT )
 objectDeleted( 4 , BLOCK )
-propertyUpdated( 3 , DIAGRAM , CHILDREN ) : SUCCESS
 objectDeleted( 5 , LINK )
 objectDeleted( 3 , DIAGRAM )
index 8cd4a56..bab06fc 100644 (file)
@@ -98,11 +98,11 @@ assert_checkequal(b.model.rpar.objs(1).from, [3 3 0]);
 assert_checkequal(b.model.rpar.objs(1).to, [5 2 1]);
 // Check that all the model items are freed
 clear
-propertyUpdated( 5 , DIAGRAM , CHILDREN ) : SUCCESS
-propertyUpdated( 1 , BLOCK , CHILDREN ) : SUCCESS
-objectDeleted( 6 , LINK )
+propertyUpdated( 6 , LINK , PARENT_DIAGRAM ) : SUCCESS
 objectDeleted( 5 , DIAGRAM )
+propertyUpdated( 6 , LINK , PARENT_BLOCK ) : SUCCESS
+objectDeleted( 6 , LINK )
 objectDeleted( 1 , BLOCK )
-propertyUpdated( 3 , DIAGRAM , CHILDREN ) : SUCCESS
+propertyUpdated( 4 , LINK , PARENT_DIAGRAM ) : SUCCESS
 objectDeleted( 4 , LINK )
 objectDeleted( 3 , DIAGRAM )
index 4564644..c2d2d9f 100644 (file)
@@ -70,7 +70,7 @@ propertyUpdated( 3 , BLOCK , PARENT_DIAGRAM ) : SUCCESS
 propertyUpdated( 2 , DIAGRAM , VERSION_NUMBER ) : NO_CHANGES
 objectDeleted( 1 , BLOCK )
 clear scs_m
-propertyUpdated( 2 , DIAGRAM , CHILDREN ) : SUCCESS
+propertyUpdated( 3 , BLOCK , PARENT_DIAGRAM ) : SUCCESS
 objectDeleted( 3 , BLOCK )
 objectDeleted( 2 , DIAGRAM )
 // Test #2: the block is deleted after the diagram
@@ -136,7 +136,7 @@ propertyUpdated( 5 , DIAGRAM , CHILDREN ) : SUCCESS
 propertyUpdated( 6 , BLOCK , PARENT_DIAGRAM ) : SUCCESS
 propertyUpdated( 5 , DIAGRAM , VERSION_NUMBER ) : NO_CHANGES
 clear scs_m
-propertyUpdated( 5 , DIAGRAM , CHILDREN ) : SUCCESS
+propertyUpdated( 6 , BLOCK , PARENT_DIAGRAM ) : SUCCESS
 objectDeleted( 6 , BLOCK )
 objectDeleted( 5 , DIAGRAM )
 clear blk