Las principales características que tiene este framework son:
Abstracción de herramientas internas. Se ocultan completamente las herramientas GEF y Draw2d que necesitan mayor tiempo de aprendizaje, por esta razón dispone de una API de Java que facilita la tarea.
Reutilización de otros editores. Cuando se diseño la herramienta, se hizo con la idea de que sus usuarios pudieran reutilizar todos aquellos comportamientos de la herramienta que quieran usar en la confección de las características de sus propios editores. Gracias a este plugin se puede generar un editor sin apenas esfuerzo que posteriormente se pueden adaptar a lo que el usuario desee mediante el uso de las implementaciones por defecto proporcionadas.
Multiplataforma. Los diagramas se pueden utilizar en diferentes plataforma, aunque actualmente la herramienta Graphitti solo es compatible con Eclipse.
Accesibilidad. Se les proporciona a los usuario el acceso por teclado completo a todas las funciones de esta herramienta y permite a los usuarios ampliar la representación visual de los diagramas.
La comunicación entre un usuario y la herramienta Graphiti se lleva a cabo a través de la pantalla. Los dos componente de Graphiti serán los encargado de dar la funcionalidades a los usuarios, por un lado el Interaction Component recibirá peticiones para cambiar el tamaño, arrastrar y soltar, o borrar del editor y por otro el Rendering Engine será el que muestre la información y realice el procesamiento de las peticiones que realiza el usuario a través del Diagram Type Agent, que explicaremos a continuación.
Las principales tareas de Diagram Type Agent es modificar los datos cuando el usuario comienza a interactuar con el editor. Para esto va a interactuar con los tres siguiente modelos:
Modelo de Dominio
El modelo de dominio contiene los datos que tiene que ser visualizados gráficamente. Que van a diseñarse con GMF en nuestro caso, será el modelo que define el problema.
Modelo de Pictograma
El Modelo Pictograma contiene la información completa para representar el editor gráfico. Cada diagrama se puede representar sin la presencia de los datos de dominio. Esto obliga a que se almacenen datos en el modelo pictograma y en el modelo de redundante de datos
Modelo de Enlace
El Modelo de Enlace es el responsable de la conexión de datos del modelo de dominio y la representación gráfica o modelo pictograma.
Concepto Feature
La estructura interna del Diagram Type Agent se programa gracias al concepto Feature, que serán las operaciones que puede hacer el usuario en el diagrama. Y que van a ser reutilizado por los programadores para crear cada una de las funciones que se pueden hacer con los elementos de la paleta de herramientas.
Add Features. Añade la representación gráfica de un objeto del Modelo de dominio en el Pictograma.
Create Features. Produce nuevos objetos en el Modelo de Dominio como la representación gráfica. Aquí deberíamos de reutilizar código de otros ejemplos para saber como se representa los elementos en el diagrama.
Remove Features. Borra las representaciones gráficas del Pictograma.
Delete Features. Borra los objetos del Modelo de Dominio y su representación gráfica del Pictograma.
Gracias al concepto Feature el usuario puede modificar mediante la programación en Java de los elementos necesarios para nuestros propios editores.