Pregunta

Estamos trabajando en la creación de una herramienta de modelado basado en la estructura y herramientas GMF. Tenemos un requisito para permitir a los usuarios añadir puntos de vista (figuras) en tiempo de ejecución y los utilizan en sus diagramas. Vamos a utilizar archivos SVG para representar figuras.

¿Cuál es la estructura correcta de EditParts y otras clases relacionadas GEF en un caso así? Estábamos pensando en la implementación de una sola clase GEF EditPart, que crearía la figura adecuada en función de un parámetro (ruta al archivo de SVG) presentes en el modelo. Hasta el momento no parece estar funcionando.

Tiene que haber alguien que ya ha hecho algo como esto antes. Buscar en Google y los foros de Eclipse no han sido de gran ayuda en lo que va ...

¿Fue útil?

Solución

Bueno, encontramos una solución (parcial). Tenemos uno de los elementos, y en función de un parámetro creamos una figura niño en su interior, que utiliza un archivo SVG (basado en el parámetro).

El siguiente código de prueba se denomina en el constructor de la Figura:

  

SVG ScalableImageFigure; URL url;         si (tipo == 1) {url =   ArchitectureStudioDiagramEditorPlugin.getInstance (). GetBundle (). GetEntry (                     "Iconos" + IPath.SEPARATOR + "sombra-box.svg"); } Else {url =   ArchitectureStudioDiagramEditorPlugin.getInstance (). GetBundle (). GetEntry (                     "Iconos" + IPath.SEPARATOR + "star.svg"); SVG} = new   ScalableImageFigure (RenderedImageFactory.getInstance (url),   cierto, cierto, true);

  this.add(svg);

Ahora tenemos que encontrar la manera de tener múltiples elementos de la paleta.

Otros consejos

La forma correcta es tener un a uno entre figura y EditPart. También tarea de pintar se debe dejar a la figura. Cómo la imagen debe ser pintado, la lógica debe estar dentro de la figura no en el EditPart.

Gracias

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top