A classe ConnectionAdorner permite criar novos links no Diagrama. Antes da criação de um link, uma função é chamada no Diagrama para verificar
se a ação é permitida. Esta função pode ser ligada ao DiagramEditor por meio da marcação allowCreateLinkFunction, que tem o
seguinte formato:
allowCreateLinkFunction: function(DiagramEditor, startNode, endNode)
Quando um novo link é criado, uma função é chamada para ativar a modificação do novo link:
onLinkUpdated: function (diagram, link, isNew, undoAction)
em que:
- diagram é o diagrama atual.
- link é o link criado.
- isNew é um booleano que indica se o link é novo (
true
para um link recém-criado). - undoAction é o
ConnectAction
criado para esta atualização. É possível configurar ações customizadas para desfazer e refazer, e incluir quaisquer outros dados necessários para esta ação.
A Classe ConnectAction
A classe ConnectAction permite desfazer e refazer a ação de conexão. É possível customizar esta ação incluindo funções do usuário que geralmente
são chamadas a partir da função
onLinkUpdated
.
Ela contém os seguintes métodos:getLink
: obtém o link modificado. Este método localiza automaticamente o link correto, mesmo após substituições por ações desfazer.- setUndoUserFunction: configura a função desfazer do usuário.
- getUndoUserFunction: obtém a função desfazer do usuário.
- setRedoUserFunction: configura a função refazer do usuário.
- getRedoUserFunction: obtém a função refazer do usuário.
Usando o Identificador de Conexões
O identificador de conexões é representado por um triângulo posicionado
em cada lado da caixa delimitadora do elemento. Assim como os identificadores de redimensionamento,
estes identificadores são destacados quando o cursor passa sobre eles, indicando que
uma ação pode ser executada. Ao clicar no identificador, é criado um link
entre o identificador selecionado (criando um
BasicPort
na posição especificada) e o cursor do mouse. O novo link é criado
quando você arrasta o terminal suspenso para uma porta em outro nó ou subgráfico.As portas de destino são exibidas nas entidades quando
você passa o mouse sobre elas. As portas de destino são exatamente iguais às portas
de origem. Se uma ação soltar for executada em uma das portas, um
BasicPort
será
criado no lado do elemento e a extremidade do link será anexada a ele. Se nenhum identificador de destino da conexão for especificado e o botão do mouse
for solto diretamente sobre o componente de destino, será criado um AutomaticPort
.Ao pressionar a tecla Ctrl, é possível criar um
AutomaticPort
na origem do link, neste caso, o link pode ser originado em qualquer porta.Nota
- Ao arrastar o identificador de conexões, a função
allowCreateLink
é avaliada em cada evento mouse over e o cursor do mouse é alterado para mostrar se a ação de conexão é permitida nesse local.
- Depois que o link é criado, os elementos finais e iniciais são avaliados e o link é redesignado ao pai comum de primeiro nível. Por exemplo, se os dois elementos pertencerem ao mesmo subgráfico, o pai do link também será o mesmo subgráfico.