Criando Links

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.