89
Alicja Ciemniewska [email protected] Jakub Jurkiewicz [email protected] Główny sponsor: Główny sponsor: Graphical Modeling Framework

Graphical Modeling Framework

  • Upload
    patsy

  • View
    89

  • Download
    2

Embed Size (px)

DESCRIPTION

Graphical Modeling Framework. Agenda. Co to jest GMF? Przykłady Jak działa GMF? Do pracy Co jeszcze… Podsumowanie Pytania. Co to jest G M F?. Graphical Modeling Framework ( G MF ) - projekt Eclipse wspierający łatwe tworzenie edytorów graficznych bazując na EMF i GEF - PowerPoint PPT Presentation

Citation preview

Page 1: Graphical  Modeling Framework

Alicja [email protected] Jakub [email protected]

Alicja [email protected] Jakub [email protected]

Główny sponsor:Główny sponsor:

Graphical Modeling Framework

Graphical Modeling Framework

Page 2: Graphical  Modeling Framework

Szkoła Letnia Eclipse 2007

AgendaAgenda

▪ Co to jest GMF?

▪ Przykłady

▪ Jak działa GMF?

▪ Do pracy

▪ Co jeszcze…

▪ Podsumowanie

▪ Pytania

▪ Co to jest GMF?

▪ Przykłady

▪ Jak działa GMF?

▪ Do pracy

▪ Co jeszcze…

▪ Podsumowanie

▪ Pytania

Page 3: Graphical  Modeling Framework

Szkoła Letnia Eclipse 2007

Co to jest GMF?Co to jest GMF?

▪ Graphical Modeling Framework (GMF) - projekt Eclipse wspierający łatwe tworzenie edytorów graficznych bazując na EMF i GEF

▪ EMF + GEF =

▪ Graphical Modeling Framework (GMF) - projekt Eclipse wspierający łatwe tworzenie edytorów graficznych bazując na EMF i GEF

▪ EMF + GEF =

Page 4: Graphical  Modeling Framework

Szkoła Letnia Eclipse 2007

Przykłady GMFPrzykłady GMF

▪ Ecore Diagram Editor▪ Ecore Diagram Editor

Page 5: Graphical  Modeling Framework

Szkoła Letnia Eclipse 2007

Przykłady GMFPrzykłady GMF

▪ Taipan▪ Taipan

Page 6: Graphical  Modeling Framework

Szkoła Letnia Eclipse 2007

Przykłady GMFPrzykłady GMF

▪ Mind Map▪ Mind Map

Page 7: Graphical  Modeling Framework

Szkoła Letnia Eclipse 2007

Przykłady GMFPrzykłady GMF▪ Assembly Editor of Cape

Clear▪ Assembly Editor of Cape

Clear

Page 8: Graphical  Modeling Framework

Szkoła Letnia Eclipse 2007

Przykłady GMFPrzykłady GMF

▪ Nasz edytor ▪ Nasz edytor

Page 9: Graphical  Modeling Framework

Szkoła Letnia Eclipse 2007

Jak działa GMF?Jak działa GMF?

▪ Schemat▪ Schemat

Page 10: Graphical  Modeling Framework

Szkoła Letnia Eclipse 2007

Jak działa GMF: EMFJak działa GMF: EMF

▪ Metamodel ECore▪ Metamodel ECore

Page 11: Graphical  Modeling Framework

Szkoła Letnia Eclipse 2007

Jak działa GMF: EMFJak działa GMF: EMF

▪ Metamodel ECore▪ Metamodel ECore

Page 12: Graphical  Modeling Framework

Szkoła Letnia Eclipse 2007

Jak działa GMFJak działa GMF

Page 13: Graphical  Modeling Framework

Szkoła Letnia Eclipse 2007

Jak działa GMFJak działa GMF

Page 14: Graphical  Modeling Framework

GMF - Ćwiczenia praktyczne

GMF - Ćwiczenia praktyczne

Page 15: Graphical  Modeling Framework

Przyrost 1Model EMFPrzyrost 1Model EMF

Page 16: Graphical  Modeling Framework

Szkoła Letnia Eclipse 2007

▪ Tworzymy nowy projekt GMF

▪ Zaznaczamy Show dashboard view for the created project

▪ Kopiujemy plik projects.ecore

▪ Generujemy diagram Initialize ecore_diagram diagram file

▪ Tworzymy nowy projekt GMF

▪ Zaznaczamy Show dashboard view for the created project

▪ Kopiujemy plik projects.ecore

▪ Generujemy diagram Initialize ecore_diagram diagram file

ProjektProjekt

Page 17: Graphical  Modeling Framework

ProjektProjekt

Dashboard

Diagram modelu

Page 18: Graphical  Modeling Framework

Model ECoreModel ECore

Page 19: Graphical  Modeling Framework

Szkoła Letnia Eclipse 2007

Generator modeluGenerator modelu

▪ Tworzymy generator modelu

▪ Tworzymy generator modelu

Page 20: Graphical  Modeling Framework

Szkoła Letnia Eclipse 2007

Generator modeluGenerator modelu

▪ Model generatora - projects.genmodel

▪ Generujemy kod:

• Model code

• Edit code

▪ Model generatora - projects.genmodel

▪ Generujemy kod:

• Model code

• Edit code

Page 21: Graphical  Modeling Framework

Przyrost 2GMF Pierwsze kroki

Przyrost 2GMF Pierwsze kroki

Page 22: Graphical  Modeling Framework

Szkoła Letnia Eclipse 2007

Definicja graficzna - .gmfgraph

Definicja graficzna - .gmfgraph

▪ Definicja graficzna zawiera informacje o figurach reprezentujących elementy modelu

▪ Klikamy na widoku GMF Dashboard (lub w menu New…->Other…->Graphical Definition Model) aby wybrać kreator Simple Graphical Definition Model wizard

▪ Definicja graficzna zawiera informacje o figurach reprezentujących elementy modelu

▪ Klikamy na widoku GMF Dashboard (lub w menu New…->Other…->Graphical Definition Model) aby wybrać kreator Simple Graphical Definition Model wizard

Page 23: Graphical  Modeling Framework

Szkoła Letnia Eclipse 2007

Definicja graficzna - .gmfgraph

Definicja graficzna - .gmfgraph

▪ Wybieramy katalog, nazwę pliku i plik z modelem

▪ Wybieramy nadrzędny element Trac

▪ Wybieramy tylko kilka podstawowych elementów:

• Project jako wierzchołek

• Name jako etykietę projektu

• Subprojects jako połączenie (zalżność) między projektami

▪ Wybieramy katalog, nazwę pliku i plik z modelem

▪ Wybieramy nadrzędny element Trac

▪ Wybieramy tylko kilka podstawowych elementów:

• Project jako wierzchołek

• Name jako etykietę projektu

• Subprojects jako połączenie (zalżność) między projektami

Page 24: Graphical  Modeling Framework

Szkoła Letnia Eclipse 2007

Rezultat .gmfgraphRezultat .gmfgraph

Page 25: Graphical  Modeling Framework

Szkoła Letnia Eclipse 2007

Definicja narzędziDefinicja narzędzi

▪ Definicja narzędzi (Tooling definition model) zawiera definicję palety, narzędzi służących do tworzenia elementów, akcji itp.

▪ Uruchamiamy kreator Simple Tooling Definition Model

▪ Definicja narzędzi (Tooling definition model) zawiera definicję palety, narzędzi służących do tworzenia elementów, akcji itp.

▪ Uruchamiamy kreator Simple Tooling Definition Model

Page 26: Graphical  Modeling Framework

Szkoła Letnia Eclipse 2007

Definicja narzędziDefinicja narzędzi▪ Wybieramy katalog

i podajemy nazwę pliku

▪ Wybieramy model dziedzinowy (.ecore)

▪ Wybieramy jako element nadrzędny Trac

▪ Odznaczamy wszystko i wybieramy te same elementy co w modelu graficznym Project i subprojects

▪ Wybieramy katalog i podajemy nazwę pliku

▪ Wybieramy model dziedzinowy (.ecore)

▪ Wybieramy jako element nadrzędny Trac

▪ Odznaczamy wszystko i wybieramy te same elementy co w modelu graficznym Project i subprojects

Page 27: Graphical  Modeling Framework

Szkoła Letnia Eclipse 2007

Rezultat - .gmftoolRezultat - .gmftool

Page 28: Graphical  Modeling Framework

Szkoła Letnia Eclipse 2007

Definicja odwzorowaniaDefinicja odwzorowania

▪ Definicja odwzorowania (Mapping definition model) pozwoli połączyć nam 3 modele, które do tej pory stworzyliśmy:

• model (.ecore)

• definicję graficzną (.gmfgraph)

• definicję narzędzi (.gmftool)

▪ Plik .gmfmap będzie użyty jako wejście dla transformacji, która stworzy końcowy model, z którego można wygenerować kod źródłowy aplikacji.

▪ Definicja odwzorowania (Mapping definition model) pozwoli połączyć nam 3 modele, które do tej pory stworzyliśmy:

• model (.ecore)

• definicję graficzną (.gmfgraph)

• definicję narzędzi (.gmftool)

▪ Plik .gmfmap będzie użyty jako wejście dla transformacji, która stworzy końcowy model, z którego można wygenerować kod źródłowy aplikacji.

Page 29: Graphical  Modeling Framework

Szkoła Letnia Eclipse 2007

MapowanieMapowanie▪ W celu stworzenia modelu mapowania

wybieramy kreator Guide Mapping Model Creation.

▪ Ponownie wybieramy katalog model, którym będziemy przechowywać model

▪ Wybieramy plik z modelem dziedzinowym (.ecore), pakiet dla którego generujemy model (trac) oraz klasę (Trac)

▪ Na następnych stronach kreatora wybieramy model graficzny (.gmfgraph) i definicję narzędzi (.gmftool)

▪ Na ostatniej stronie wybieramy elementy do odwzorowania

▪ W celu stworzenia modelu mapowania wybieramy kreator Guide Mapping Model Creation.

▪ Ponownie wybieramy katalog model, którym będziemy przechowywać model

▪ Wybieramy plik z modelem dziedzinowym (.ecore), pakiet dla którego generujemy model (trac) oraz klasę (Trac)

▪ Na następnych stronach kreatora wybieramy model graficzny (.gmfgraph) i definicję narzędzi (.gmftool)

▪ Na ostatniej stronie wybieramy elementy do odwzorowania

Page 30: Graphical  Modeling Framework

Szkoła Letnia Eclipse 2007

MapowanieMapowanie

▪ Po lewej stronie usuwamy wszystkie elementy poza elementem Project (Project, projects)

▪ Po prawej stronie usuwamy wszystkie elementy pozostawiające jedynie połączenie subprojects : Project (ProjectSubprojects; <unspecified>)

▪ Po lewej stronie usuwamy wszystkie elementy poza elementem Project (Project, projects)

▪ Po prawej stronie usuwamy wszystkie elementy pozostawiające jedynie połączenie subprojects : Project (ProjectSubprojects; <unspecified>)

Page 31: Graphical  Modeling Framework

Szkoła Letnia Eclipse 2007

MapowanieMapowanie

Page 32: Graphical  Modeling Framework

Szkoła Letnia Eclipse 2007

MapowanieMapowanie▪ Jedyne co musimy ręcznie zdefiniować w modelu to

etykieta jaka ma zostać wyświetlona na wierzchołkach diagramu:

▪ W tym celu wybieramy element Feature Label Mapping i w widoku Properties dla elementu Diagram Label wybieramy z listy rozwijalnej Diagram Label ProjectName

▪ Jedyne co musimy ręcznie zdefiniować w modelu to etykieta jaka ma zostać wyświetlona na wierzchołkach diagramu:

▪ W tym celu wybieramy element Feature Label Mapping i w widoku Properties dla elementu Diagram Label wybieramy z listy rozwijalnej Diagram Label ProjectName

Page 33: Graphical  Modeling Framework

Szkoła Letnia Eclipse 2007

Generowanie koduGenerowanie kodu▪ Po zakończeniu edycji modelu,

klikamy prawym na modelu i z menu wybieramy opcje Create generator model…

▪ Ponownie podajemy folder, nazwę, ścieżkę do modelu odwzorowania (.gmfmap) oraz ścieżkę do generatora modelu (.genmodel). Resztę opcji pozostawiamy tak jak są zaznaczone domyśnie.

▪ Pojawił się model generatora (.gmfgen). Teraz wybieramy na modelu opcję Generate diagram code

▪ Po zakończeniu edycji modelu, klikamy prawym na modelu i z menu wybieramy opcje Create generator model…

▪ Ponownie podajemy folder, nazwę, ścieżkę do modelu odwzorowania (.gmfmap) oraz ścieżkę do generatora modelu (.genmodel). Resztę opcji pozostawiamy tak jak są zaznaczone domyśnie.

▪ Pojawił się model generatora (.gmfgen). Teraz wybieramy na modelu opcję Generate diagram code

Page 34: Graphical  Modeling Framework

Szkoła Letnia Eclipse 2007

Uruchamianie aplikacjiUruchamianie aplikacji

▪ Tworzymy nową konfigurację i uruchamiamy aplikację

▪ Tworzymy nową konfigurację i uruchamiamy aplikację

Odznaczamy

Dodajemy tylko

wymagane

Sprawdzamy

Zapisujemy

Page 35: Graphical  Modeling Framework

Szkoła Letnia Eclipse 2007

Uruchamianie aplikacjiUruchamianie aplikacji

▪ Tworzymy nowy projekt, a następnie wybieramy nowy przykład i wybieramy stworzony przez nas Projects Diagram

▪ Teraz możemy dodawać nowe elementy, Projekty, Podprojekty i definiować połączenia między nimi.

▪ Działa Zoom

▪ Można automatycznie ustawiać elementy za pomocą Arrange All

▪ Dostępna jest siatka ułatwiająca pozycjonowanie elementów (menu Diagram->View->Grid)

▪ Tworzymy nowy projekt, a następnie wybieramy nowy przykład i wybieramy stworzony przez nas Projects Diagram

▪ Teraz możemy dodawać nowe elementy, Projekty, Podprojekty i definiować połączenia między nimi.

▪ Działa Zoom

▪ Można automatycznie ustawiać elementy za pomocą Arrange All

▪ Dostępna jest siatka ułatwiająca pozycjonowanie elementów (menu Diagram->View->Grid)

Page 36: Graphical  Modeling Framework

Szkoła Letnia Eclipse 2007

Efekt przyrostu 2.Efekt przyrostu 2.

Page 37: Graphical  Modeling Framework

Przyrost 3Dodajemy kolejny element (Person)

Przyrost 3Dodajemy kolejny element (Person)

Page 38: Graphical  Modeling Framework

Szkoła Letnia Eclipse 2007

Co zrobimy?Co zrobimy?

▪ Teraz dodamy kolejny element reprezentujący osoby. Zrobimy to edytując pliki modelu graficznego

▪ Teraz dodamy kolejny element reprezentujący osoby. Zrobimy to edytując pliki modelu graficznego

Page 39: Graphical  Modeling Framework

Szkoła Letnia Eclipse 2007

.gmfgraph.gmfgraph

▪ Definiujemy Figure descriptor dla elementu Person (PersonFigure)

▪ Figurę, która będzie reprezentować osobę np. elipsę (PersonFigure)

▪ Definiujemy Figure descriptor dla elementu Person (PersonFigure)

▪ Figurę, która będzie reprezentować osobę np. elipsę (PersonFigure)

Page 40: Graphical  Modeling Framework

Szkoła Letnia Eclipse 2007

.gmfgraph.gmfgraph

▪ Etykietę z imieniem osoby na elemencie (PersonLabel)

▪ oraz dostęp do etykiety - Child Access

▪ Etykietę z imieniem osoby na elemencie (PersonLabel)

▪ oraz dostęp do etykiety - Child Access

Page 41: Graphical  Modeling Framework

Szkoła Letnia Eclipse 2007

.gmfgraph.gmfgraph

• Wierzchołek reprezentujący osobę – Person

• Etykietę Diagram Label - PersonName

• Wierzchołek reprezentujący osobę – Person

• Etykietę Diagram Label - PersonName

Page 42: Graphical  Modeling Framework

Szkoła Letnia Eclipse 2007

.gmfgraph .gmfgraph

Figure DescriptorEllipse

Label

Child Access

Node

Diagram Label

Page 43: Graphical  Modeling Framework

Szkoła Letnia Eclipse 2007

.gmftool.gmftool

▪ W .gmftool musimy zdefiniować narzędzia do tworzenia tych elementów

▪ W .gmftool musimy zdefiniować narzędzia do tworzenia tych elementów

▪ Najpierw jednak podzielimy elementy na dwie grupy:

• Nodes

• Connections

▪ Najpierw jednak podzielimy elementy na dwie grupy:

• Nodes

• Connections

Page 44: Graphical  Modeling Framework

Szkoła Letnia Eclipse 2007

.gmftool.gmftool

▪ Do grupy z wierzchołkami dodajemy (przez skopiowanie) narzędzie do tworzenia wierzchołków reprezentujących osoby

▪ Do grupy z wierzchołkami dodajemy (przez skopiowanie) narzędzie do tworzenia wierzchołków reprezentujących osoby

Page 45: Graphical  Modeling Framework

Szkoła Letnia Eclipse 2007

.gmfmap.gmfmap• Definiujemy Top Node Reference Person• Definiujemy Top Node Reference Person

Top Node Reference

Referencja do modelu

Page 46: Graphical  Modeling Framework

Szkoła Letnia Eclipse 2007

.gmfmap.gmfmap

Node Mapping

Element modelu

Wierzchołek na diagramie

Narzędzie z palety

Page 47: Graphical  Modeling Framework

Szkoła Letnia Eclipse 2007

.gmfmap.gmfmap

Feature Label Mapping

Etykieta na diagramie

Atrybut z modelu wyświetlany na etykiecie

Page 48: Graphical  Modeling Framework

Szkoła Letnia Eclipse 2007

Efekt przyrostu 3.Efekt przyrostu 3.

Page 49: Graphical  Modeling Framework

Szkoła Letnia Eclipse 2007

Ćwiczenie 1Ćwiczenie 1▪ Co trzeba zrobić?

• W modelu dodać nowy element (z atrybutem typu EString), który będzie trzymany w klasie Trac (zależność Aggregation)

• Wygenerować model i edit

• Dokonać zmian w definicji graficznej

• Dokonać zmian w definicji narzędzi

• Dokonać zmian w mapowaniu

• Przegenerować kod diagramu

▪ UWAGA! Można wygrać batonika za najciekawszy element! ;-)

▪ Co trzeba zrobić?

• W modelu dodać nowy element (z atrybutem typu EString), który będzie trzymany w klasie Trac (zależność Aggregation)

• Wygenerować model i edit

• Dokonać zmian w definicji graficznej

• Dokonać zmian w definicji narzędzi

• Dokonać zmian w mapowaniu

• Przegenerować kod diagramu

▪ UWAGA! Można wygrać batonika za najciekawszy element! ;-)

Page 50: Graphical  Modeling Framework

Przyrost 4Zadania (Tasks)(Compartments)

Przyrost 4Zadania (Tasks)(Compartments)

Page 51: Graphical  Modeling Framework

Szkoła Letnia Eclipse 2007

Co teraz robimy?Co teraz robimy?

▪ Dodamy teraz zadania przydzielone do określonych projektów

▪ Dodamy teraz zadania przydzielone do określonych projektów

Page 52: Graphical  Modeling Framework

Szkoła Letnia Eclipse 2007

Co teraz robimy?Co teraz robimy?

▪ Najpierw wydzielimy w elemencie Project miejsce, w którym znajdować się będą zadania (Compartment)

▪ Stworzymy elementy Task reprezentujące zadania wewnątrz elementów Project

▪ Najpierw wydzielimy w elemencie Project miejsce, w którym znajdować się będą zadania (Compartment)

▪ Stworzymy elementy Task reprezentujące zadania wewnątrz elementów Project

Page 53: Graphical  Modeling Framework

Szkoła Letnia Eclipse 2007

Compartment - .gmfgraph

Compartment - .gmfgraph

▪ Definiujemy nową figurę reprezentującą zadania

• Figure Descriptor – TaskFigure i Rectangle - TaskFigure

• Label TaskSummaryFigure

• Child Access do elementu etykiety

▪ Def. wierzchołek reprezentujący zadanie – Task Node

▪ Diagram Label TaskSummary

▪ TaskCompartment

Pamiętaj, aby usunąć Flow Layout z ProjectFigure

▪ Definiujemy nową figurę reprezentującą zadania

• Figure Descriptor – TaskFigure i Rectangle - TaskFigure

• Label TaskSummaryFigure

• Child Access do elementu etykiety

▪ Def. wierzchołek reprezentujący zadanie – Task Node

▪ Diagram Label TaskSummary

▪ TaskCompartment

Pamiętaj, aby usunąć Flow Layout z ProjectFigure

Page 54: Graphical  Modeling Framework

Szkoła Letnia Eclipse 2007

Compartment - .gmfgraph

Compartment - .gmfgraph

Figure Descriptor

Compartment

Wykorzystywana figura

Page 55: Graphical  Modeling Framework

Szkoła Letnia Eclipse 2007

Compartment - .gmftool

Compartment - .gmftool

▪ Definiujemy narzędzie do stworzenia zadań Task

▪ Definiujemy narzędzie do stworzenia zadań Task

Page 56: Graphical  Modeling Framework

Szkoła Letnia Eclipse 2007

Compartment - .gmfmap

Compartment - .gmfmap

▪ Definiujemy mapowanie między modelami – Compartment Mapping w Project Node Mapping

▪ Definiujemy mapowanie między modelami – Compartment Mapping w Project Node Mapping

Page 57: Graphical  Modeling Framework

Szkoła Letnia Eclipse 2007

Efekt przyrostu 4.Efekt przyrostu 4.

Page 58: Graphical  Modeling Framework

Przyrost 5Zadania przypisane

do osób

Przyrost 5Zadania przypisane

do osób

Page 59: Graphical  Modeling Framework

Szkoła Letnia Eclipse 2007

Co teraz robimy?Co teraz robimy?

▪ Dodamy zależność określającą, które zadania są przypisane do osób.

▪ Dodamy zależność określającą, które zadania są przypisane do osób.

Page 60: Graphical  Modeling Framework

Szkoła Letnia Eclipse 2007

Person Tasks - .gmfgraph

Person Tasks - .gmfgraph

▪ Dodajemy Polyline Decoration do galerii figur

▪ Dodajemy figurę przedstawiającą zależność

• Figure Descriptor (nazwa: PersonTaskFigure)

• Polyline Connection

▪ Connection

▪ Dodajemy Polyline Decoration do galerii figur

▪ Dodajemy figurę przedstawiającą zależność

• Figure Descriptor (nazwa: PersonTaskFigure)

• Polyline Connection

▪ Connection

Page 61: Graphical  Modeling Framework

Szkoła Letnia Eclipse 2007

.gmfgraph.gmfgraph

Page 62: Graphical  Modeling Framework

Szkoła Letnia Eclipse 2007

.gmfgraph.gmfgraph

Page 63: Graphical  Modeling Framework

Szkoła Letnia Eclipse 2007

.gmfgraph.gmfgraph

PersonTaskDecoration

Nowy Figur Descriptor

Polyline Connection

Page 64: Graphical  Modeling Framework

Szkoła Letnia Eclipse 2007

.gmfgraph.gmfgraph

Connection PersonTask

PersonTaskFigure

Page 65: Graphical  Modeling Framework

Szkoła Letnia Eclipse 2007

Person Tasks - .gmftoolPerson Tasks - .gmftool▪ Dodajemy narzędzie do tworzenia

połączeń▪ Dodajemy narzędzie do tworzenia

połączeń

Page 66: Graphical  Modeling Framework

Szkoła Letnia Eclipse 2007

Person Tasks - .gmfmapPerson Tasks - .gmfmap

▪ Dodajemy Link Mapping▪ Dodajemy Link Mapping

Link Mapping

Model

Element na diagramie Narzędzie z palety

Page 67: Graphical  Modeling Framework

Szkoła Letnia Eclipse 2007

Efekt przyrostu 5.Efekt przyrostu 5.

Page 68: Graphical  Modeling Framework

Przyrost 6Figura złożona

(Composite figure)

Przyrost 6Figura złożona

(Composite figure)

Page 69: Graphical  Modeling Framework

Szkoła Letnia Eclipse 2007

Co chcemy zrobić?Co chcemy zrobić?

Page 70: Graphical  Modeling Framework

Szkoła Letnia Eclipse 2007

Złożona figura - .gmfgraph

Złożona figura - .gmfgraph

▪ Dodajemy prostokąt (Outline – False, Fill – False), a na nim:

• Layout XY

• Color

• Size

• Figure elements

▪ Dodajemy prostokąt (Outline – False, Fill – False), a na nim:

• Layout XY

• Color

• Size

• Figure elements

Page 71: Graphical  Modeling Framework

Szkoła Letnia Eclipse 2007

Złożona figura - .gmfgraph

Złożona figura - .gmfgraph

▪ Otwieramy w edytorze tekstowym i znajdujemy fragment opisujący figurę

▪ Otwieramy w edytorze tekstowym i znajdujemy fragment opisujący figurę

Page 72: Graphical  Modeling Framework

Szkoła Letnia Eclipse 2007

Złożona figura - .gmfgraph

Złożona figura - .gmfgraph

▪ Wklejamy kod▪ Wklejamy kod

Page 73: Graphical  Modeling Framework

Szkoła Letnia Eclipse 2007

Złożona figura - .gmfgraph

Złożona figura - .gmfgraph

▪ Wracamy do edytora GMF – wszystkie elementy są wstawione!

▪ Wracamy do edytora GMF – wszystkie elementy są wstawione!

Page 74: Graphical  Modeling Framework

Szkoła Letnia Eclipse 2007

Złożona figura - .gmfgraph

Złożona figura - .gmfgraph

▪ Dodajemy etykietę jako osobną figurę BasicLabelFigure oraz PersonBasicLabel

▪ Dodajemy etykietę jako osobną figurę BasicLabelFigure oraz PersonBasicLabel

IconFigureName

Page 75: Graphical  Modeling Framework

Szkoła Letnia Eclipse 2007

Złożona figura - .gmfgraph

Złożona figura - .gmfgraph

▪ Podmieniamy figurę w PersonNode▪ Podmieniamy figurę w PersonNode

PersonCompositeFigure

Node Person

Page 76: Graphical  Modeling Framework

Szkoła Letnia Eclipse 2007

Złożona figura - .gmfmap

Złożona figura - .gmfmap

▪ Podmieniamy Diagram Label w Label Mapping

▪ Podmieniamy Diagram Label w Label Mapping

PersonBasicLabel

Feature Label Mapping

Page 77: Graphical  Modeling Framework

Szkoła Letnia Eclipse 2007

Rezultat przyrostu 6.Rezultat przyrostu 6.

Page 78: Graphical  Modeling Framework

Szkoła Letnia Eclipse 2007

Ćwiczenie 2Ćwiczenie 2

▪ Co trzeba zrobić?

• Wymyśleć figurę

• Zmienić definicję figury w gmfgraph

• Uaktualnić odnośniki (jeśli jest to konieczne) dla naszej figury – pliki gmfgraph i gmfmap

▪ UWAGA! Można wygrać batonika za najciekawszą figurę! ;-)

▪ Co trzeba zrobić?

• Wymyśleć figurę

• Zmienić definicję figury w gmfgraph

• Uaktualnić odnośniki (jeśli jest to konieczne) dla naszej figury – pliki gmfgraph i gmfmap

▪ UWAGA! Można wygrać batonika za najciekawszą figurę! ;-)

Page 79: Graphical  Modeling Framework

Co jeszczemożna zrobić?

Co jeszczemożna zrobić?

Page 80: Graphical  Modeling Framework

Szkoła Letnia Eclipse 2007

List LayoutList Layout▪ Zmieniamy właściwości w .gmftool▪ Zmieniamy właściwości w .gmftool

Page 81: Graphical  Modeling Framework

Szkoła Letnia Eclipse 2007

Ikony dla elementów modelu

Ikony dla elementów modelu

▪ Podmieniamy pliki w katalogu icons

▪ Zmieniamy właściwości w .gmftool

▪ Podmieniamy pliki w katalogu icons

▪ Zmieniamy właściwości w .gmftool

Page 82: Graphical  Modeling Framework

Szkoła Letnia Eclipse 2007

Ikony dla edytora i kreatora

Ikony dla edytora i kreatora

▪ Zmieniamy właściwości w .gmfgen▪ Zmieniamy właściwości w .gmfgen

Właściwości diagramu

Właściwości edytora

Page 83: Graphical  Modeling Framework

Szkoła Letnia Eclipse 2007

Zmiana rozszerzeniaZmiana rozszerzenia▪ Zmieniamy właściwości w .gmfgen▪ Zmieniamy właściwości w .gmfgen

Page 84: Graphical  Modeling Framework

Szkoła Letnia Eclipse 2007

PrzechowywaniePrzechowywanie▪ Przechowywanie modelu i diagramu

w jednym pliku▪ Przechowywanie modelu i diagramu

w jednym pliku

Page 85: Graphical  Modeling Framework

Szkoła Letnia Eclipse 2007

Wbudowane mechanizmyWbudowane mechanizmy

▪ Eksportu do obrazka

▪ Drukowanie

▪ Zoom

▪ Automatyczne rozmieszczanie elementów

▪ Ukrywanie elementów

▪ „Cofnij”/”Ponów”

▪ Eksportu do obrazka

▪ Drukowanie

▪ Zoom

▪ Automatyczne rozmieszczanie elementów

▪ Ukrywanie elementów

▪ „Cofnij”/”Ponów”

Page 86: Graphical  Modeling Framework

Szkoła Letnia Eclipse 2007

GMF - PodsumowanieGMF - Podsumowanie

▪ Szybki sposób na tworzenie aplikacji

▪ Profesjonalnie wyglądający edytor

▪ Wbudowane mechanizmy

▪ Szybki sposób na tworzenie aplikacji

▪ Profesjonalnie wyglądający edytor

▪ Wbudowane mechanizmy

Page 87: Graphical  Modeling Framework

Szkoła Letnia Eclipse 2007

LinkiLinki

▪ www.eclipse.org/gmf

▪ wiki.eclipse.org/GMF_Tutorial

▪ ftp://ftp.man.szczecin.pl/pub/eclipse/technology/phoenix/demos/gmf-orgchart/GMF-orgchart.swf

▪ www.onjava.com/pub/a/onjava/2007/07/11/gmf-beyond-the-wizards.html

▪ Newsgroup: org.modeling.gmf

▪ www.eclipse.org/gmf

▪ wiki.eclipse.org/GMF_Tutorial

▪ ftp://ftp.man.szczecin.pl/pub/eclipse/technology/phoenix/demos/gmf-orgchart/GMF-orgchart.swf

▪ www.onjava.com/pub/a/onjava/2007/07/11/gmf-beyond-the-wizards.html

▪ Newsgroup: org.modeling.gmf

Page 88: Graphical  Modeling Framework

Szkoła Letnia Eclipse 2007

Pytania?Pytania?Pytania?Pytania?

Page 89: Graphical  Modeling Framework

Szkoła Letnia Eclipse 2007

Dziękuję za uwagę