Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

Alicja Ciemniewska Jakub Jurkiewicz Alicja Ciemniewska Jakub.

Podobne prezentacje


Prezentacja na temat: "Alicja Ciemniewska Jakub Jurkiewicz Alicja Ciemniewska Jakub."— Zapis prezentacji:

1 Alicja Ciemniewska Jakub Jurkiewicz Alicja Ciemniewska Jakub Jurkiewicz Główny sponsor: Graphical Modeling Framework

2 Szkoła Letnia Eclipse 2007 Agenda 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

3 Szkoła Letnia Eclipse 2007 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 =

4 Szkoła Letnia Eclipse 2007 Przykłady GMF Ecore Diagram Editor

5 Szkoła Letnia Eclipse 2007 Przykłady GMF Taipan

6 Szkoła Letnia Eclipse 2007 Przykłady GMF Mind Map

7 Szkoła Letnia Eclipse 2007 Przykłady GMF Assembly Editor of Cape Clear

8 Szkoła Letnia Eclipse 2007 Przykłady GMF Nasz edytor

9 Szkoła Letnia Eclipse 2007 Jak działa GMF? Schemat

10 Szkoła Letnia Eclipse 2007 Jak działa GMF: EMF Metamodel ECore

11 Szkoła Letnia Eclipse 2007 Jak działa GMF: EMF Metamodel ECore

12 Szkoła Letnia Eclipse 2007 Jak działa GMF

13 Szkoła Letnia Eclipse 2007 Jak działa GMF

14 GMF - Ćwiczenia praktyczne

15 Przyrost 1 Model EMF

16 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 Projekt

17 Dashboard Diagram modelu

18 Model ECore

19 Szkoła Letnia Eclipse 2007 Generator modelu Tworzymy generator modelu

20 Szkoła Letnia Eclipse 2007 Generator modelu Model generatora - projects.genmodel Generujemy kod: Model code Edit code Model generatora - projects.genmodel Generujemy kod: Model code Edit code

21 Przyrost 2 GMF Pierwsze kroki

22 Szkoła Letnia Eclipse 2007 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

23 Szkoła Letnia Eclipse 2007 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

24 Szkoła Letnia Eclipse 2007 Rezultat.gmfgraph

25 Szkoła Letnia Eclipse 2007 Definicja 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

26 Szkoła Letnia Eclipse 2007 Definicja 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

27 Szkoła Letnia Eclipse 2007 Rezultat -.gmftool

28 Szkoła Letnia Eclipse 2007 Definicja 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.

29 Szkoła Letnia Eclipse 2007 Mapowanie 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

30 Szkoła Letnia Eclipse 2007 Mapowanie 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; )

31 Szkoła Letnia Eclipse 2007 Mapowanie

32 Szkoła Letnia Eclipse 2007 Mapowanie 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

33 Szkoła Letnia Eclipse 2007 Generowanie 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

34 Szkoła Letnia Eclipse 2007 Uruchamianie aplikacji Tworzymy nową konfigurację i uruchamiamy aplikację Odznaczamy Dodajemy tylko wymagane Sprawdzamy Zapisujemy

35 Szkoła Letnia Eclipse 2007 Uruchamianie 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)

36 Szkoła Letnia Eclipse 2007 Efekt przyrostu 2.

37 Przyrost 3 Dodajemy kolejny element (Person)

38 Szkoła Letnia Eclipse 2007 Co zrobimy? Teraz dodamy kolejny element reprezentujący osoby. Zrobimy to edytując pliki modelu graficznego

39 Szkoła Letnia Eclipse 2007.gmfgraph Definiujemy Figure descriptor dla elementu Person (PersonFigure) Figurę, która będzie reprezentować osobę np. elipsę (PersonFigure)

40 Szkoła Letnia Eclipse 2007.gmfgraph Etykietę z imieniem osoby na elemencie (PersonLabel) oraz dostęp do etykiety - Child Access

41 Szkoła Letnia Eclipse 2007.gmfgraph Wierzchołek reprezentujący osobę – Person Etykietę Diagram Label - PersonName

42 Szkoła Letnia Eclipse 2007.gmfgraph Figure Descriptor Ellipse Label Child Access Node Diagram Label

43 Szkoła Letnia Eclipse 2007.gmftool 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

44 Szkoła Letnia Eclipse 2007.gmftool Do grupy z wierzchołkami dodajemy (przez skopiowanie) narzędzie do tworzenia wierzchołków reprezentujących osoby

45 Szkoła Letnia Eclipse 2007.gmfmap Definiujemy Top Node Reference Person Top Node Reference Referencja do modelu

46 Szkoła Letnia Eclipse 2007.gmfmap Node Mapping Element modelu Wierzchołek na diagramieNarzędzie z palety

47 Szkoła Letnia Eclipse 2007.gmfmap Feature Label Mapping Etykieta na diagramie Atrybut z modelu wyświetlany na etykiecie

48 Szkoła Letnia Eclipse 2007 Efekt przyrostu 3.

49 Szkoła Letnia Eclipse 2007 Ć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! ;-)

50 Przyrost 4 Zadania (Tasks) (Compartments)

51 Szkoła Letnia Eclipse 2007 Co teraz robimy? Dodamy teraz zadania przydzielone do określonych projektów

52 Szkoła Letnia Eclipse 2007 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

53 Szkoła Letnia Eclipse 2007 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

54 Szkoła Letnia Eclipse 2007 Compartment -.gmfgraph Figure Descriptor Compartment Wykorzystywana figura

55 Szkoła Letnia Eclipse 2007 Compartment -.gmftool Definiujemy narzędzie do stworzenia zadań Task

56 Szkoła Letnia Eclipse 2007 Compartment -.gmfmap Definiujemy mapowanie między modelami – Compartment Mapping w Project Node Mapping

57 Szkoła Letnia Eclipse 2007 Efekt przyrostu 4.

58 Przyrost 5 Zadania przypisane do osób

59 Szkoła Letnia Eclipse 2007 Co teraz robimy? Dodamy zależność określającą, które zadania są przypisane do osób.

60 Szkoła Letnia Eclipse 2007 Person Tasks -.gmfgraph Dodajemy Polyline Decoration do galerii figur Dodajemy figurę przedstawiającą zależność Figure Descriptor (nazwa: PersonTaskFigure) Polyline Connection Connection

61 Szkoła Letnia Eclipse 2007.gmfgraph

62 Szkoła Letnia Eclipse 2007.gmfgraph

63 Szkoła Letnia Eclipse 2007.gmfgraph PersonTaskDecoration Nowy Figur Descriptor Polyline Connection

64 Szkoła Letnia Eclipse 2007.gmfgraph Connection PersonTask PersonTaskFigure

65 Szkoła Letnia Eclipse 2007 Person Tasks -.gmftool Dodajemy narzędzie do tworzenia połączeń

66 Szkoła Letnia Eclipse 2007 Person Tasks -.gmfmap Dodajemy Link Mapping Link Mapping Model Element na diagramie Narzędzie z palety

67 Szkoła Letnia Eclipse 2007 Efekt przyrostu 5.

68 Przyrost 6 Figura złożona (Composite figure)

69 Szkoła Letnia Eclipse 2007 Co chcemy zrobić?

70 Szkoła Letnia Eclipse 2007 Złożona figura -.gmfgraph Dodajemy prostokąt (Outline – False, Fill – False), a na nim: Layout XY Color Size Figure elements

71 Szkoła Letnia Eclipse 2007 Złożona figura -.gmfgraph Otwieramy w edytorze tekstowym i znajdujemy fragment opisujący figurę

72 Szkoła Letnia Eclipse 2007 Złożona figura -.gmfgraph Wklejamy kod

73 Szkoła Letnia Eclipse 2007 Złożona figura -.gmfgraph Wracamy do edytora GMF – wszystkie elementy są wstawione!

74 Szkoła Letnia Eclipse 2007 Złożona figura -.gmfgraph Dodajemy etykietę jako osobną figurę BasicLabelFigure oraz PersonBasicLabel Icon Figure Name

75 Szkoła Letnia Eclipse 2007 Złożona figura -.gmfgraph Podmieniamy figurę w PersonNode PersonCompositeFigure Node Person

76 Szkoła Letnia Eclipse 2007 Złożona figura -.gmfmap Podmieniamy Diagram Label w Label Mapping PersonBasicLabel Feature Label Mapping

77 Szkoła Letnia Eclipse 2007 Rezultat przyrostu 6.

78 Szkoła Letnia Eclipse 2007 Ć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ę! ;-)

79 Co jeszcze można zrobić?

80 Szkoła Letnia Eclipse 2007 List Layout Zmieniamy właściwości w.gmftool

81 Szkoła Letnia Eclipse 2007 Ikony dla elementów modelu Podmieniamy pliki w katalogu icons Zmieniamy właściwości w.gmftool

82 Szkoła Letnia Eclipse 2007 Ikony dla edytora i kreatora Zmieniamy właściwości w.gmfgen Właściwości diagramu Właściwości edytora

83 Szkoła Letnia Eclipse 2007 Zmiana rozszerzenia Zmieniamy właściwości w.gmfgen

84 Szkoła Letnia Eclipse 2007 Przechowywanie Przechowywanie modelu i diagramu w jednym pliku

85 Szkoła Letnia Eclipse 2007 Wbudowane 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

86 Szkoła Letnia Eclipse 2007 GMF - 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

87 Szkoła Letnia Eclipse 2007 Linki wiki.eclipse.org/GMF_Tutorial ftp://ftp.man.szczecin.pl/pub/eclipse/technology/ph oenix/demos/gmf-orgchart/GMF-orgchart.swf beyond-the-wizards.html Newsgroup: org.modeling.gmf wiki.eclipse.org/GMF_Tutorial ftp://ftp.man.szczecin.pl/pub/eclipse/technology/ph oenix/demos/gmf-orgchart/GMF-orgchart.swf beyond-the-wizards.html Newsgroup: org.modeling.gmf

88 Szkoła Letnia Eclipse 2007 Pytania?Pytania?

89 Dziękuję za uwagę


Pobierz ppt "Alicja Ciemniewska Jakub Jurkiewicz Alicja Ciemniewska Jakub."

Podobne prezentacje


Reklamy Google