@Ale9582 wrote:
dear sir,
i have this situation:
function convertVisibility(v) {
switch (v) {
case "public": return "+";
case "private": return "-";
case "protected": return "#";
case "package": return "~";
default: return v;
}
}// the item template for methods var methodTemplate = $(go.Panel, "Horizontal", // method visibility/access $(go.TextBlock, { isMultiline: false, editable: true, width: 12 }, new go.Binding("text", "visibility", convertVisibility)), // method name, underlined if scope=="class" to indicate static method $(go.TextBlock, { isMultiline: false, editable: true }, new go.Binding("text", "name").makeTwoWay(), new go.Binding("isUnderline", "scope", function(s) { return s[0] === 'c' })), // method parameters $(go.TextBlock, "()", // this does not permit adding/editing/removing of parameters via inplace edits new go.Binding("text", "parameters", function(parr) { var s = "("; for (var i = 0; i < parr.length; i++) { var param = parr[i]; if (i > 0) s += ", "; s += param.name + ": " + param.type; } return s + ")"; })), // method return type, if any $(go.TextBlock, "", new go.Binding("text", "type", function(t) { return (t ? ": " : ""); })), $(go.TextBlock, { isMultiline: false, editable: true }, new go.Binding("text", "type").makeTwoWay()) ); // this simple template does not have any buttons to permit adding or // removing properties or methods, but it could! myDiagram.nodeTemplateMap.add("Classe", $(go.Node, "Auto", $(go.Shape, "Rectangle",{ fill: "lightyellow" }), $(go.Panel, "Table", //linea che separa nome dai metodi $(go.RowColumnDefinition,{ row: 2, separatorStrokeWidth: 1.5, separatorStroke: "black" }), //PreHeader $(go.TextBlock, { row: 0, alignment: go.Spot.Center, font: "10pt sans-serif", isMultiline: false, editable: true }, new go.Binding("text", "tipo").makeTwoWay()), //Nome della Classe $(go.TextBlock, { row: 1, alignment: go.Spot.Center, font: "bold 12pt sans-serif", isMultiline: false, editable: true }, new go.Binding("text", "name").makeTwoWay()), //Scritta che viene mostrata quando il pannello è ridotto $(go.TextBlock, "Methods", { row: 2, font: "italic 10pt sans-serif" }, new go.Binding("visible", "visible", function(v) { return !v; }).ofObject("METHODS")), // methods $(go.Panel, "Vertical", { name: "METHODS" }, new go.Binding("itemArray", "methods"), { row: 2, margin: 3, stretch: go.GraphObject.Fill, defaultAlignment: go.Spot.Left, background: "lightyellow", itemTemplate: methodTemplate }, new go.Binding("itemArray", "methods").makeTwoWay(), new go.Binding("itemArray", "methodsList").makeTwoWay() ), $("PanelExpanderButton", "METHODS", { row: 2, visible: false, column: 1, alignment: go.Spot.TopRight }, new go.Binding("visible", "methods", function(arr) { return arr.length > 0; }) ), $("Button", { row:3, click: addMetodo}, $(go.TextBlock, "Aggiungi metodo")) ) ) ); function addMetodo(??) { }
i am not able to write the function addMetodo, because i have not idea to give the function the correct obj for add an items... can you help me?
Posts: 1
Participants: 1