// Metamodel[FeatureModel]

// Generate Metanodes

dojo.declare("KodouguNode42", kodougu.domain.KodouguNode, {
    resizeStyle: 8, 
    nodetype: 'Node', 
	canBreakLine: true, 

    render: function(node, renderer, parentGroup) {
        try {
            var nodeGroup = renderer.begin_render(node, null, parentGroup);
            if (node.imageUrl == "") {
                renderer.draw_round_rect(0,0,node.width,node.height,7,7);
                renderer.draw_text(node.element.getName(), 0, 0, "cc");
            }
            else {
                renderer.draw_image(node.imageUrl);
            }
            renderer.end_render();
            node.children.forEach(function(child){
                child.render(child, renderer, nodeGroup);
            });
        }
        catch(err) {
            logError(err, "KodouguNode42::render");
            renderer.begin_render(node);
            renderer.draw_error();
            renderer.end_render();
        }
    }
});

dojo.declare("KodouguNode43", kodougu.domain.KodouguNode, {
    resizeStyle: 8, 
    nodetype: 'Relationship', 
	canBreakLine: true, 

    render: function(node, renderer, parentGroup) {
        try {
            var nodeGroup = renderer.begin_render(node, null, parentGroup);
            if (node.imageUrl == "") {
                var arrowType = node.element.getMust() == 0 ? "circle" : "black_circle"
                renderer.draw_relationship(null, null, arrowType);

            }
            else {
                renderer.draw_image(node.imageUrl);
            }
            renderer.end_render();
            node.children.forEach(function(child){
                child.render(child, renderer, nodeGroup);
            });
        }
        catch(err) {
            logError(err, "KodouguNode43::render");
            renderer.begin_render(node);
            renderer.draw_error();
            renderer.end_render();
        }
    }
});


// Generate Metaelements


dojo.declare("KodouguElement45", kodougu.domain.KodouguElement, {
    _typeName: "FMFeature", 
	_generalClasses: [""], 
    _name: null, 
    getName: function() {
        return this._name;
    }, 
    setName: function(argv) {
		this._name = argv;
    },


    
    
    __kodougu_dummy: null
});


dojo.declare("KodouguElement46", kodougu.domain.KodouguElement, {
    _typeName: "FMRelation", 
	_generalClasses: [""], 
    _must: null, 
    getMust: function() {
        return this._must;
    }, 
    setMust: function(argv) {
		this._must = argv;
    },


    
    
    __kodougu_dummy: null
});

