O elemento modelo único representou várias vezes na interface do usuário… Como implementar no GEF?

StackOverflow https://stackoverflow.com/questions/4254662

  •  27-09-2019
  •  | 
  •  

Pergunta

Eu tenho um modelo em que um objeto de modelo é representado várias vezes no gráfico exibido. Considere o seguinte modelo:

  1. Existem muitas partições
  2. Cada partição tem X Sourceports e Y DestinationPorts
  3. Cada fonte de origem pode estar conectado a uma porto de destino
  4. Uma partição é selecionada

Quero visualizar isso de modo que a partição selecionada esteja no centro:

  1. À esquerda, há todas as partições visíveis com todos os portos -fonte pintados
  2. No centro, há a partição selecionada com todas as portas pintadas
  3. À direita, todas as partições são visíveis com todas as portas de destino pintadas
  4. Todas as conexões entre as portas são pintadas
  5. O usuário pode manipular as portas e conexões (adicione/remover portas e conexões)

Portanto, meu modelo de uma partição mapeia para várias figuras. Uma partição comum é pintada duas vezes (uma vez à esquerda e uma vez à direita) e a partição selecionada três vezes.

Como implementar isso no GEF? Devo criar um editpart por partição e deixá -la retornar um ifigre para todas as representações gráficas? Ou todas as instâncias que são atraídas para a tela têm seu próprio editpart? Ou é benífico criar um modelo extra em que uma partição é representada através de várias instâncias de modelo?

Foi útil?

Solução

Sugiro criar um modelo diferente que contenha todos os dados do VisualizAzion: dessa maneira, você pode vincular um elemento do modelo de dados a múltiplas instâncias dos elementos do modelo de visualização e resolver seu problema de maneira simples e elegante. Além disso, você não "polui" o modelo de dados com todos os dados necessários para a visualização, ou seja, a coordenada dos elementos no diagrama.

Saluti

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top