Para criar um nó programaticamente, use o método ibm_ilog.diagram.Graph.createNode(). Quando nenhum argumento for especificado, o método createNode
criará uma instância ibm_ilog.diagram.Node e a inicializará com o modelo de nó
padrão (uma forma retangular e uma forma de texto).
Para especificar uma representação gráfica customizada, o método Graph.createNode
aceita um parâmetro
template
que deve ser
uma sequência ou uma propriedade de objeto JavaScript simples que está em conformidade
com a especificação de serialização GFX. Por exemplo:var graph = ... var template = ibm_ilog.diagram.declareTemplate({ shape: {type:'rect'}, fill: 'blue'}); var node = graph.createNode(template);
Nota
Neste exemplo, os parâmetros de modelo são definidos
como sequências. The optional ibm_ilog.diagram.declareTemplate() function
processes the template for the templating engine, resulting in better
performance. Consulte a seção Ligações para obter um exemplo
que define parâmetros de modelo como propriedades de objeto JavaScript.
Para alterar modelos dinamicamente, use o método node.applyTemplate().
Desta forma, é possível alterar a representação gráfica da mesma instância
do nó e manter as configurações de porta do link. Por exemplo:
var graph = ... var template = ibm_ilog.diagram.declareTemplate({ shape: {type:'rect'}, fill: 'blue'}); var node = graph.createNode(template); // ... // later, the template is changed for a new one node.applyTemplate({ shape: {type:'ellipse'}, fill: 'red'});
Se um subcomponente for referido a partir da instância do nó,
ou seja, a instância do nó define uma referência direta a um de seus filhos,
o modelo poderá sinalizar o subcomponente com a propriedade
dojoAttachPoint
.
O valor desta propriedade é o nome da propriedade da referência definida
na instância do nó. Por exemplo:[{ dojoAttachPoint: 'baseShape', shape: { type: 'rect', ... } ... }, { dojoAttachPoint: 'textShape', shape: { type: 'text', ... } ... }]
Se você usar este modelo, uma nova propriedade será configurada na
instância do nó para cada entrada
dojoAttachPoint
no modelo e se aplicará à forma correspondente. Depois de aplicar o modelo,
você acessará a forma retangular por meio da propriedade node.baseShape
e a forma de texto por meio da propriedade node.textShape.