{ "types": { "__pElement": [ { "name": "__pLabel", "type": "string", "default": "" }, { "name": "__pPivotIn", "type": "string", "default": "" }, { "name": "__pPivotOut", "type": "string", "default": "" }, { "name": "__pMatchSubtypes", "type": "boolean", "default": false }, { "name": "name", "type": "code", "default": "\"[PYTHON]\"\n\"Example:\t result = True\"\n\"Example:\t result = getAttr()\"\n\n\"[JAVASCRIPT]\"\n\"Example:\t true\"\n\"Example:\t getAttr()\"" }, { "name": "position", "type": "code", "default": "\"[PYTHON]\"\n\"Example:\t result = True\"\n\"Example:\t result = getAttr()\"\n\n\"[JAVASCRIPT]\"\n\"Example:\t true\"\n\"Example:\t getAttr()\"" } ], "__pPositionable": [ { "name": "__pLabel", "type": "string", "default": "" }, { "name": "__pPivotIn", "type": "string", "default": "" }, { "name": "__pPivotOut", "type": "string", "default": "" }, { "name": "__pMatchSubtypes", "type": "boolean", "default": false }, { "name": "position", "type": "code", "default": "\"[PYTHON]\"\n\"Example:\t result = True\"\n\"Example:\t result = getAttr()\"\n\n\"[JAVASCRIPT]\"\n\"Example:\t true\"\n\"Example:\t getAttr()\"" } ], "__pCar": [ { "name": "__pLabel", "type": "string", "default": "" }, { "name": "__pPivotIn", "type": "string", "default": "" }, { "name": "__pPivotOut", "type": "string", "default": "" }, { "name": "__pMatchSubtypes", "type": "boolean", "default": false }, { "name": "name", "type": "code", "default": "\"[PYTHON]\"\n\"Example:\t result = True\"\n\"Example:\t result = getAttr()\"\n\n\"[JAVASCRIPT]\"\n\"Example:\t true\"\n\"Example:\t getAttr()\"" }, { "name": "position", "type": "code", "default": "\"[PYTHON]\"\n\"Example:\t result = True\"\n\"Example:\t result = getAttr()\"\n\n\"[JAVASCRIPT]\"\n\"Example:\t true\"\n\"Example:\t getAttr()\"" } ], "__pStart": [ { "name": "__pLabel", "type": "string", "default": "" }, { "name": "__pPivotIn", "type": "string", "default": "" }, { "name": "__pPivotOut", "type": "string", "default": "" }, { "name": "__pMatchSubtypes", "type": "boolean", "default": false }, { "name": "name", "type": "code", "default": "\"[PYTHON]\"\n\"Example:\t result = True\"\n\"Example:\t result = getAttr()\"\n\n\"[JAVASCRIPT]\"\n\"Example:\t true\"\n\"Example:\t getAttr()\"" }, { "name": "position", "type": "code", "default": "\"[PYTHON]\"\n\"Example:\t result = True\"\n\"Example:\t result = getAttr()\"\n\n\"[JAVASCRIPT]\"\n\"Example:\t true\"\n\"Example:\t getAttr()\"" } ], "__pFinish": [ { "name": "__pLabel", "type": "string", "default": "" }, { "name": "__pPivotIn", "type": "string", "default": "" }, { "name": "__pPivotOut", "type": "string", "default": "" }, { "name": "__pMatchSubtypes", "type": "boolean", "default": false }, { "name": "name", "type": "code", "default": "\"[PYTHON]\"\n\"Example:\t result = True\"\n\"Example:\t result = getAttr()\"\n\n\"[JAVASCRIPT]\"\n\"Example:\t true\"\n\"Example:\t getAttr()\"" }, { "name": "position", "type": "code", "default": "\"[PYTHON]\"\n\"Example:\t result = True\"\n\"Example:\t result = getAttr()\"\n\n\"[JAVASCRIPT]\"\n\"Example:\t true\"\n\"Example:\t getAttr()\"" } ], "__pCup": [ { "name": "__pLabel", "type": "string", "default": "" }, { "name": "__pPivotIn", "type": "string", "default": "" }, { "name": "__pPivotOut", "type": "string", "default": "" }, { "name": "__pMatchSubtypes", "type": "boolean", "default": false }, { "name": "name", "type": "code", "default": "\"[PYTHON]\"\n\"Example:\t result = True\"\n\"Example:\t result = getAttr()\"\n\n\"[JAVASCRIPT]\"\n\"Example:\t true\"\n\"Example:\t getAttr()\"" }, { "name": "position", "type": "code", "default": "\"[PYTHON]\"\n\"Example:\t result = True\"\n\"Example:\t result = getAttr()\"\n\n\"[JAVASCRIPT]\"\n\"Example:\t true\"\n\"Example:\t getAttr()\"" } ] }, "constraints": [ { "name": "noAbstractInstances", "event": "pre-create", "code": "/* comment next line to enable this constraint */\nthrow \"IgnoredConstraint\"\nfalse", "targetType": "Element" }, { "name": "noAbstractInstances", "event": "pre-create", "code": "/* comment next line to enable this constraint */\nthrow \"IgnoredConstraint\"\nfalse", "targetType": "Positionable" } ], "actions": [ { "name": "distinctPLabels", "event": "post-create", "code": "if( getAttr(\"__pLabel\") == \"\" )\n{\n\tvar pLabels = getAllNodes().\n\t\t\t\t\t\t\tfilter( function(n) {return hasAttr(\"__pLabel\",n);} ).\n\t\t\t\t\t\t\t\tmap( function(n) {return getAttr(\"__pLabel\",n);} ),\n\t\t i\t\t\t= \"0\";\n\n\twhile( _utils.contains(pLabels,i) )\n\t\ti = String(parseInt(i)+1);\n\tsetAttr(\"__pLabel\",i);\n}", "targetType": "*" } ], "cardinalities": { "__pElement": [], "__pPositionable": [], "__pCar": [], "__pStart": [], "__pFinish": [], "__pCup": [] }, "legalConnections": {}, "connectorTypes": {}, "types2parentTypes": { "__pElement": [ "__pPositionable" ], "__pPositionable": [], "__pCar": [ "__pElement", "__pPositionable" ], "__pStart": [ "__pElement", "__pPositionable" ], "__pFinish": [ "__pElement", "__pPositionable" ], "__pCup": [ "__pElement", "__pPositionable" ] } }