Domanda

Stiamo lavorando sulla creazione di uno strumento di modellazione basato sul framework e strumenti di GMF. Abbiamo l'obbligo di consentire agli utenti di aggiungere viste (dati) in fase di esecuzione e utilizzare nei loro schemi. Saremo utilizzando i file SVG per rappresentare figure.

Qual è la corretta struttura di EditParts e le altre classi GEF correlati in un caso del genere? Stavamo pensando di implementare una singola classe GEF EditPart, che creerebbe la figura appropriata sulla base di un parametro (percorso del file SVG) presenti nel modello. Finora non sembra funzionare.

Ci deve essere qualcuno che ha già fatto qualcosa di simile prima. Googling e il forum Eclipse non sono stati utili finora ...

È stato utile?

Soluzione

Beh, abbiamo trovato una soluzione (parziale). Abbiamo un elemento, e in funzione di un parametro creiamo una figura bambino al suo interno, che utilizza un file in formato SVG (in base al parametro).

Il seguente codice di prova è chiamata nel costruttore della Figura:

  

svg ScalableImageFigure; URL URL;         if (tipo == 1) {url =   ArchitectureStudioDiagramEditorPlugin.getInstance (). GetBundle (). GetEntry (                     "Icone" + IPath.SEPARATOR + "ombra-box.svg"); } Else {url =   ArchitectureStudioDiagramEditorPlugin.getInstance (). GetBundle (). GetEntry (                     "Icone" + IPath.SEPARATOR + "star.svg"); } Svg = new   ScalableImageFigure (RenderedImageFactory.getInstance (url),   true, true, true);

  this.add(svg);

Ora abbiamo bisogno di capire come avere più elementi nella tavolozza.

Altri suggerimenti

Il modo corretto è quello di avere 1-1 mapping tra figura e EditPart. Anche compito pittura dovrebbe essere lasciato alla figura. Come l'immagine dovrebbe essere dipinto, la logica deve essere all'interno della cifra non nel EditPart.

Grazie

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top