Graphical Modeling Framework

Slides:



Advertisements
Podobne prezentacje
Graficzny klient SVN graficzny klient SVN integrujący się z powłoką systemu dostępny tylko dla systemu Windows - do pobrania z
Advertisements

CLIMGEN (generator danych pogodowych w modelu CropSyst.
Serwer WWW na AT89C52 Adrian Witlib Maciej Przeor ID06SK1
SMARTEAM Opracował: Dr inż. Jacek Habel.
Zastosowanie technologii medialnych i internetowych Wygląd witryny krok po kroku Wykład dr in ż. Jacek Wachowicz
KORESPONDENCJA SERYJNA
MS Access 2000 Formularze Piotr Górczyński 03/12/2003.
MS Access 2003 Kwerendy Paweł Górczyński.
MS Access 2000 Kwerendy Piotr Górczyński 25/08/2001.
MS Access 2000 Raporty Piotr Górczyński 16/12/2003.
MS Access 2000 Tworzenie tabel Piotr Górczyński 2005.
MS Access 2000 Tworzenie bazy danych Piotr Górczyński 2005.
20/09/ Języki programowania 1 Piotr Górczyński Kreator form.
Mirosław Ochodek Sponsorzy: EMF i dane EMF w plikach i bazie danych.
Sponsor główny: Bartosz Michalik Perspektywy czyli każdy może mieć swój punkt widzenia.
EMF i Genmodel Projekt org.inmost.crm.teneo.
Jakub Jurkiewicz Mirosław Ochodek Sponsorzy: Debug Jak szukać błędów w Eclipsie?
Czyli jak testować w Eclipsie?
zespół JPEG w składzie:
Tworzenie prezentacji w programie PowerPoint
Systemy mobilne i komunikacja bezprzewodowa Ćwiczenie 1 Jarosław Kurek WZIM SGGW 1.
Systemy operacyjne - Windows
WINDOWS 95 WYCINEK AUTOSTART TWORZENIE POWIĄZAŃ PLIKÓW Z APLIKACJAMI
WINDOWS 95.
Malowanie na ekranie- Paint (Paintbrush).
Tworzenie nowej biblioteki
Jak korzystać z programu peer-to-peer Na przykładzie programu eMule.
SIEĆ P2P 1. Definicja sieci równouprawnionej. To taka sieć, która składa się z komputerów o takim samym priorytecie ważności, a każdy z nich może pełnić.
Konfiguracja kont w programie Adobe Dreamweaver
Mateusz Antonow. Tekst Obraz Galeria Media Kształty & linie Przyciski & menu Sklep Internetowy Ustawienia Społecznościowe Aplikacje 3. Dodaj.
Pomoc dydaktyczna dla klas IV Opracowanie: mgr inż.. Anna Wyciślik
Instrukcja USOSweb Wersja: Opracował: Sebastian Sieńko Moduł sprawdzianów.
Temat: Operacje na plikach i folderach str.
Janusz ROŻEJ GENERATORY APLIKACJI Generatory aplikacji Janusz ROŻEJ
Lokalizacja i Globalizacja na witrynie w Visual Web Developer 2008 (ASP.Net) Daniel Literski.
Instrukcja obsługi systemu CMS Przygotowanie
System raportowania, ewaluacji oraz badania satysfakcji Klienta.
Instrukcja USOS Ankiety wersja by Marek Opacki.
Korespondencja seryjna
Robimy własne notatki - Notatnik
Przeglądanie zasobów komputera - uruchamianie programów
Operacje w tekstach z wykorzystywaniem menu Edycja i menu podręcznego – kopiowanie i wklejanie.
Temat 2: Edytory HTML.
Tytuł:Poradnik do programu PowerPoint?
Współpraca z innymi aplikacjami. Organizacja informacji 10 XII 2013.
Visual Basic w Excelu.
Ujarzmić Worda Agnieszka Terebus.
Temat 11: Odsyłacze.
Beata Sanakiewicz. Spis treści  Program MS FrontPage Program MS FrontPage  Pierwsze spotkanie Pierwsze spotkanie  Ustawienia witryny Ustawienia witryny.
Wprowadzenie do spisów treści j a następnie naciśnij klawisz F5 lub kliknij pozycję Pokaz slajdów > Od początku, aby rozpocząć kurs. Na pasku komunikatów.
Przewodnik Przewodnik Mój folder EBSCOhost (My EBSCOhost)
Excel Wykresy – różne typy, wykresy funkcji.
PULPIT WINDOWS.
Informatyka +.
Visual Basic w Excelu - podstawy
Konfiguracja VPN Serwera – Windows 7
Wzorce slajdów, animacje, różne orientacje slajdów
Bartosz Michalik Jakub Jurkiewicz Sponsor główny: Eclipse IDE Zanim rozpoczniemy naszą pracę...
Komputerowe malowanki
Formatowanie dokumentów
Operacje na plikach i folderach
EBSCOhost Collection Manager Konto osoby proponującej książki do zakupu Przewodnik support.ebsco.com.
BAZY DANYCH Microsoft Access Akademia Górniczo-Hutnicza Wydział Elektrotechniki, Automatyki, Informatyki i Inżynierii Biomedycznej Katedra Automatyki i.
Instrukcja obsługi aplikacji „Wizualizacja produktów CRH Klinkier”
Tworzenie wykresów część I
Microsoft® Office Word
Dominik Benduski Michał Mandecki Podstawy Visual Basic w Excelu.
PODSTAWOWE ZARZĄDZANIE KOMPUTERAMI Z SYSTEMEM WINDOWS
Wstęp - Prosta aplikacja internetowa w technologii Java EE 5
Zapis prezentacji:

Graphical Modeling Framework Alicja Ciemniewska i Jakub Jurkiewicz 2017-03-26 Graphical Modeling Framework Przedstawienie prezentera – Alicja Ciemniewska, Jakub Jurkiewicz, absolwenci PP (inżynieria wymagań), Kuba - pracownik IBM Eclipse Support Center przy Politechnice Poznańskiej Dzisiaj zatrzymamy się trochę nad możliwościami tworzenia graficznych edytorów w Eclipsie. Eclipse Summer School

Alicja Ciemniewska i Jakub Jurkiewicz Agenda 2017-03-26 Co to jest GMF? Przykłady Jak działa GMF? Do pracy Co jeszcze… Podsumowanie Pytania Eclipse Summer School

Alicja Ciemniewska i Jakub Jurkiewicz Co to jest GMF? 2017-03-26 Graphical Modeling Framework (GMF) - projekt Eclipse wspierający łatwe tworzenie edytorów graficznych bazując na EMF i GEF EMF + GEF = GMF is a framework that takes a set of configuration files (a domain model, a graphical definition, and a tool definition), puts them all in a blender, and **poof - magic** out comes a professional looking Eclipse plug-in. Not only does it generate most of the functionality that you have designed, it also gives many freebies such as printing, drag-and-drop, save to image, and customization. GMF to „framework”, który na podstawie zbioru plików konfiguracyjnych: modelu dziedzinowego, definicji graficznej i definicji narzędzi pozwala w łatwy i wręcz magiczny sposób stworzyć profesjonalnie wyglądający plugin Eclipse. Pozwala on wygenerować znaczną część zaprojektowanej funkcjonalności, udostępniając przy tym przydatne funkcje takie jak drukowanie, mechanizm drag & drop, export diagramu do obrazka. Wygenerowanie znacznej części kodu gwarantuje, że kod ten nie jest tak podatny na błędy. Ponadto dzięki temu możemy skupić się na implementacji istotnych funkcji programu. Zanim powstał GMF, diagramy graficzne w Eclipse były tworzone z wykorzystaniem GEFa. GEF pozwalała na wykorzystanie dowolnego modelu danych, jednak najczęściej programiści wykorzystywali EMFa, gdyż posiadał już „wbudowaną” część funkcjonalności (np. Powiadamianie o zmianach w modelu). Z tego właśnie powodu wymyślono GMFa, który łączy zalety modelu EMFa z możliwościam graficznymi GEFa i pozwala na łatwe generowania edytorów graficznych. Eclipse Summer School

Alicja Ciemniewska i Jakub Jurkiewicz Przykłady GMF 2017-03-26 Ecore Diagram Editor Przykładowy diagram wygenerowany w GMF Eclipse Summer School

Alicja Ciemniewska i Jakub Jurkiewicz Przykłady GMF 2017-03-26 Taipan Przykładowy diagram wygenerowany w GMF Eclipse Summer School

Alicja Ciemniewska i Jakub Jurkiewicz Przykłady GMF 2017-03-26 Mind Map Przykładowy diagram wygenerowany w GMF Eclipse Summer School

Alicja Ciemniewska i Jakub Jurkiewicz Przykłady GMF 2017-03-26 Assembly Editor of Cape Clear Przykładowy diagram wygenerowany w GMF znaleziony w Internecie. Graficzny edytor do modelowania procesów Eclipse Summer School

Alicja Ciemniewska i Jakub Jurkiewicz Przykłady GMF 2017-03-26 Nasz edytor  Przykładowy diagram wygenerowany w GMF znaleziony w Internecie. Graficzny edytor do modelowania procesów Eclipse Summer School

Alicja Ciemniewska i Jakub Jurkiewicz Jak działa GMF? 2017-03-26 Schemat Jak działa GMF? Kursy pokazujące jak rozpocząć pracę z GMF od razu przechodzą do kreatorów, które są udostępnione wraz ze środowiskiem i wspomagają pracę z GMFem. Poza modelem zawierającym dane (model dziedzinowy) wszystkie pozostałe pliki konfiguracyjne mogą być wygenerowane za pomocą kreatorów. Jest to bardzo wygodne, jednak posłgując się zasadą "Nie generuj czegoś czego nie rozumiesz" zagłębimy się na chwilę "pod" warstwę kreatorów. Postaram się Państwu ogólnie nakreslić co dzieje się za kreatorami : ecore, gmfgraph, gmftool. gmfmap. Eclipse Summer School

Alicja Ciemniewska i Jakub Jurkiewicz Jak działa GMF: EMF 2017-03-26 Metamodel ECore Jak wpomniane zostało wcześniej … Model dziedzinowy (pliki ecore/genmodel) stanowią podstawę rozwoju wszelkich aplikacji Eclipsowych. Są to pliki EMF-owe (o EMF już Państwo słyszeli na tym kursie). Pozwalają zamodelować obiekty dziedzinowe, a nastęonie łatwo wygenerować kod obsługujący ten model, włączając klasy reprezentujace obiekty, kod do ich edycji, mechanizm notyfikacji oraz nasłuchiwania na zmiany modelu. Eclipse Summer School

Alicja Ciemniewska i Jakub Jurkiewicz Jak działa GMF: EMF 2017-03-26 Metamodel ECore Jak wpomniane zostało wcześniej … Model dziedzinowy (pliki ecore/genmodel) stanowią podstawę rozwoju wszelkich aplikacji Eclipsowych. Są to pliki EMF-owe (o EMF już Państwo słyszeli na tym kursie). Pozwalają zamodelować obiekty dziedzinowe, a nastęonie łatwo wygenerować kod obsługujący ten model, włączając klasy reprezentujace obiekty, kod do ich edycji, mechanizm notyfikacji oraz nasłuchiwania na zmiany modelu. ECore zawiera jedynie informacje o modelu Genmodel zawiera informacje potrzebne do wygenerowania kodu Genmodel contains additional information needed for code generation - package prefix, generation options, etc. Eclipse Summer School

Alicja Ciemniewska i Jakub Jurkiewicz Jak działa GMF 2017-03-26 Definicje graficzna i narzędzi są jasne. Graficzna to lista figur zdefiniowana w plikach .gmfgraph, które będą użte do wyświetlenia klas z modelu dziedzinowego. Definicja narzędzi (.gmftool) określa jaki tekst i ikony mają zostać wyświetlone na palecie oraz jako podpowiedzi na przyciskach. Eclipse Summer School

Alicja Ciemniewska i Jakub Jurkiewicz Jak działa GMF 2017-03-26 Ostatnim krokiem jest określnenie jak te wszystkie elementy współpracują przez zdefiniowanie pliku mapowania .gmfmap. Ten element stanowi spoiwo wszystkich pozostałych plików konfiguracyjnych. Dzięki niemu GMF wie jaką akcję ma wykonać w odpowiedzi na wybranie elemetnu z palety, jakie klasy wygenerować i jakie figury wyświetlić na diagramie, kiedy te klasy są dodawane do diagramu. Kiedy wszystko jest już połączone za pomocą mapowania, generujemy plik generatora .gmfgen i za jego pomocą kod aplikacji. Eclipse Summer School

GMF - Ćwiczenia praktyczne Alicja Ciemniewska i Jakub Jurkiewicz 2017-03-26 GMF - Ćwiczenia praktyczne Przewodniki pokazujące jak rozpocząć przygodę z GMF zaczynają od kreatorów pokazują Kreatory Eclipse Summer School

Alicja Ciemniewska i Jakub Jurkiewicz 2017-03-26 Przyrost 1 Model EMF Przewodniki pokazujące jak rozpocząć przygodę z GMF zaczynają od kreatorów pokazują Kreatory Eclipse Summer School

Alicja Ciemniewska i Jakub Jurkiewicz Projekt 2017-03-26 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” Do katalogu model kopiujemy plik projects.ecore Wybieramy opcję „Initialize ecore_diagram diagram file” Możemy zobaczyć jak wygląda model dziedzinowy naszej aplikacji Eclipse Summer School

Alicja Ciemniewska i Jakub Jurkiewicz Projekt 2017-03-26 Diagram modelu Tworzymy nowy projekt GMF Zaznaczamy „Show dashboard view for the created project” Do katalogu model kopiujemy plik projects.ecore Wybieramy opcję „Initialize ecore_diagram diagram file” Możemy zobaczyć jak wygląda model dziedzinowy naszej aplikacji Dashboard Eclipse Summer School

Alicja Ciemniewska i Jakub Jurkiewicz Model ECore 2017-03-26 To jest nasz model dziedzinowy, który posłuży nam do stworzenia edytora graficznego. Edytor będzie pozwalał na stworzenie „map” projektów, zadań zdefiniowanych w ramach projektu i przypisanie ludzi do określonych zadań. Eclipse Summer School

Alicja Ciemniewska i Jakub Jurkiewicz Generator modelu 2017-03-26 Tworzymy generator modelu Mając plik ECore, generujemy genmodel. Eclipse Summer School

Alicja Ciemniewska i Jakub Jurkiewicz Generator modelu 2017-03-26 Model generatora - projects.genmodel Generujemy kod: Model code Edit code Mając plik ECore, generujemy genmodel. Eclipse Summer School

Przyrost 2 GMF Pierwsze kroki Alicja Ciemniewska i Jakub Jurkiewicz 2017-03-26 Przyrost 2 GMF Pierwsze kroki Przewodniki pokazujące jak rozpocząć przygodę z GMF zaczynają od kreatorów pokazują Kreatory Eclipse Summer School

Definicja graficzna - .gmfgraph Alicja Ciemniewska i Jakub Jurkiewicz Definicja graficzna - .gmfgraph 2017-03-26 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 Mając modele .ecore i .genmodel możemy wygenerować graficzną definicję modelu .gmfgraph Model reprezentacji graficznej jest używany do definiowania figur, wierzchołków, połączeń itd. które będą wyświetlane na diagramie. W tym celu klikamy na widoku „GMF Dashboard” (lub w menu New…->Other…->Graphical Definition Model) aby wybrać kreator „Simple Graphical Definition Model wizard” Jako diagram element wybieramy nadrzędny element – czyli trac (to będzie nasze płótno na którym będziemy ustawiać kolejne elementy Eclipse Summer School

Definicja graficzna - .gmfgraph Alicja Ciemniewska i Jakub Jurkiewicz Definicja graficzna - .gmfgraph 2017-03-26 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 tylko kilka podstawowych elementów: Project jako wierzchołek Name jako etykietę projektu Subprojects jako połączenie (zalżność) między projektami Eclipse Summer School

Alicja Ciemniewska i Jakub Jurkiewicz Rezultat .gmfgraph 2017-03-26 Kiedy przyjrzycie się modelowi, ujrzycie element Canvas (płótno) jako nadrzędny element, który posiada galerię figur zawierającą Prostokąt, Etykietę i Linię (łamaną) reprezentującą połączenie. Są one używane przez odpowiadające im elementy modelu: Node (Wierzchołek), Diagram Label (etykieta) i Connection do reprezentacji Projektów z modelu dziedzinowego. Na razie możemy zostawić domyśle wartości dla tych elementów i skupić się na zdefiniowaniu narzędzi (służących do stworzenia tych elementów). Po otworzeniu pliku gmfgraph widzimy, że jego głównym elementem jest element o nazwie Canvas, elementy wchodzące w jego skład to: kształty/figury dostępne w ramach aplikacji (są one tworzone w węźle Figure Gallery Default) wierzchołki (ang. nodes) – graficzna reprezentacja elementów modelu etykiety diagramu (ang. diagram labels) – etykiety wierzchołków połączenia (ang. connections) – linie wskazujące na związki między elementami modelu Definicje figur znajdują się w elementach Figure Descriptor Eclipse Summer School

Alicja Ciemniewska i Jakub Jurkiewicz Definicja narzędzi 2017-03-26 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. Stworzymy teraz prosty model narzędzi. W rzeczywistości proces ten jest prawie identyczny z poprzednim. Uruchamiamy kreator Simple Tooling Definition Model 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 As mentioned above, the tooling definition model is used to specify the palette, creation tools, actions, etc. for your graphical elements. To the right is a diagram of the model. The cheat sheet will guide you through a very similar process for getting started with our Simple Tooling Definition Model. In fact, the two steps are virtually identical, as the mindmap domain model is loaded and examined for possible tooling needs. We will simply select the same options we did for the graphical definition, save a tool for the Topic name label, and begin with a very simple palette for our Topic elements. Eclipse Summer School

Alicja Ciemniewska i Jakub Jurkiewicz Definicja narzędzi 2017-03-26 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 Eclipse Summer School

Alicja Ciemniewska i Jakub Jurkiewicz Rezultat - .gmftool 2017-03-26 Patrząc na stworzony model zobaczymy, że najwyższym elementem jest „Tool registry” pod którym możemy znaleźć Paletę. Paleta zawiera Grupy Narzędzi (na razie tylko jedną) w których znajdują się narzędzia do tworzenia poszczególnych elementów modelu. Looking at the model provided for us, we see there is a top-level 'Tool Registry' element, under which we find a Palette. The palette contains a Tool Group with Creation Tool elements for both Topic nodes and links for subtopic elements that were identified by the wizard. We will reorganize these and modify them a bit in the future, but for now we'll leave the defaults and move on to the mapping definition. Feel free to browse this model and inspect its properties to familiarize yourself with tooling definitions. Eclipse Summer School

Definicja odwzorowania Alicja Ciemniewska i Jakub Jurkiewicz Definicja odwzorowania 2017-03-26 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. Ten model jest kluczowy dla rozwoju aplikacji GMF i 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. Eclipse Summer School

Alicja Ciemniewska i Jakub Jurkiewicz Mapowanie 2017-03-26 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 Eclipse Summer School

Alicja Ciemniewska i Jakub Jurkiewicz Mapowanie 2017-03-26 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>) Na początek wybierzemy proste mapowanie dla elementów wybranych w poprzednich krokach: Eclipse Summer School

Alicja Ciemniewska i Jakub Jurkiewicz Mapowanie 2017-03-26 Eclipse Summer School

Alicja Ciemniewska i Jakub Jurkiewicz Mapowanie 2017-03-26 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 (przed wygenerowaniem sprawdzić czy wszystkie leementy wygenerowały się poprawnie szczególnie Link mapping!!!!!!) Eclipse Summer School

Alicja Ciemniewska i Jakub Jurkiewicz Generowanie kodu 2017-03-26 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 Eclipse Summer School

Uruchamianie aplikacji Alicja Ciemniewska i Jakub Jurkiewicz Uruchamianie aplikacji 2017-03-26 Tworzymy nową konfigurację i uruchamiamy aplikację Odznaczamy Dodajemy tylko wymagane Sprawdzamy Zapisujemy Eclipse Summer School

Uruchamianie aplikacji Alicja Ciemniewska i Jakub Jurkiewicz Uruchamianie aplikacji 2017-03-26 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) Eclipse Summer School

Alicja Ciemniewska i Jakub Jurkiewicz Efekt przyrostu 2. 2017-03-26 Eclipse Summer School

Przyrost 3 Dodajemy kolejny element (Person) Alicja Ciemniewska i Jakub Jurkiewicz 2017-03-26 Przyrost 3 Dodajemy kolejny element (Person) Przewodniki pokazujące jak rozpocząć przygodę z GMF zaczynają od kreatorów pokazują Kreatory Eclipse Summer School

Alicja Ciemniewska i Jakub Jurkiewicz Co zrobimy? 2017-03-26 Teraz dodamy kolejny element reprezentujący osoby. Zrobimy to edytując pliki modelu graficznego Eclipse Summer School

Alicja Ciemniewska i Jakub Jurkiewicz .gmfgraph 2017-03-26 Definiujemy Figure descriptor dla elementu Person (PersonFigure) Figurę, która będzie reprezentować osobę np. elipsę (PersonFigure) Etykietę z imieniem osoby na elemencie i Child Access Eclipse Summer School

Alicja Ciemniewska i Jakub Jurkiewicz .gmfgraph 2017-03-26 Etykietę z imieniem osoby na elemencie (PersonLabel) oraz dostęp do etykiety - Child Access Eclipse Summer School

Alicja Ciemniewska i Jakub Jurkiewicz .gmfgraph 2017-03-26 Wierzchołek reprezentujący osobę – Person Etykietę Diagram Label - PersonName Eclipse Summer School

Alicja Ciemniewska i Jakub Jurkiewicz .gmfgraph 2017-03-26 Figure Descriptor Ellipse Label Child Access Node Diagram Label Eclipse Summer School

Alicja Ciemniewska i Jakub Jurkiewicz .gmftool 2017-03-26 W .gmftool musimy zdefiniować narzędzia do tworzenia tych elementów Najpierw jednak podzielimy elementy na dwie grupy: Nodes Connections Eclipse Summer School

Alicja Ciemniewska i Jakub Jurkiewicz .gmftool 2017-03-26 Do grupy z wierzchołkami dodajemy (przez skopiowanie) narzędzie do tworzenia wierzchołków reprezentujących osoby Eclipse Summer School

Alicja Ciemniewska i Jakub Jurkiewicz .gmfmap 2017-03-26 Definiujemy Top Node Reference Person Top Node Reference Referencja do modelu Eclipse Summer School

Alicja Ciemniewska i Jakub Jurkiewicz .gmfmap 2017-03-26 Node Mapping Element modelu Wierzchołek na diagramie Narzędzie z palety Eclipse Summer School

Alicja Ciemniewska i Jakub Jurkiewicz .gmfmap 2017-03-26 Feature Label Mapping Etykieta na diagramie UWAGA! Po zmianach w gmftool (po dodaniu grup) gmfam może być niepoprawny, bo zmieniły się położenia narzędzi! Trzeba sprawdzić! Atrybut z modelu wyświetlany na etykiecie Eclipse Summer School

Alicja Ciemniewska i Jakub Jurkiewicz Efekt przyrostu 3. 2017-03-26 Eclipse Summer School

Alicja Ciemniewska i Jakub Jurkiewicz Ćwiczenie 1 2017-03-26 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! ;-) Pdzielimy projekt na 2 częsci:jedna zawierająca etykietę wierzchołka i drugą zawierającą wewnętrzne elementy Eclipse Summer School

Przyrost 4 Zadania (Tasks) (Compartments) Alicja Ciemniewska i Jakub Jurkiewicz 2017-03-26 Przyrost 4 Zadania (Tasks) (Compartments) Eclipse Summer School

Alicja Ciemniewska i Jakub Jurkiewicz Co teraz robimy? 2017-03-26 Dodamy teraz zadania przydzielone do określonych projektów Pdzielimy projekt na 2 częsci:jedna zawierająca etykietę wierzchołka i drugą zawierającą wewnętrzne elementy Eclipse Summer School

Alicja Ciemniewska i Jakub Jurkiewicz Co teraz robimy? 2017-03-26 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 Pdzielimy projekt na 2 częsci:jedna zawierająca etykietę wierzchołka i drugą zawierającą wewnętrzne elementy Eclipse Summer School

Compartment - .gmfgraph Alicja Ciemniewska i Jakub Jurkiewicz Compartment - .gmfgraph 2017-03-26 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 Eclipse Summer School

Compartment - .gmfgraph Alicja Ciemniewska i Jakub Jurkiewicz Compartment - .gmfgraph 2017-03-26 Figure Descriptor Compartment Wykorzystywana figura Eclipse Summer School

Alicja Ciemniewska i Jakub Jurkiewicz Compartment - .gmftool 2017-03-26 Definiujemy narzędzie do stworzenia zadań Task Eclipse Summer School

Alicja Ciemniewska i Jakub Jurkiewicz Compartment - .gmfmap 2017-03-26 Definiujemy mapowanie między modelami – Compartment Mapping w Project Node Mapping Note : If you're wondering about the difference between 'Children Feature' and 'Containment Feature' the idea is this (as described in the newsgroup): the 'Containment Feature' refers to where children are stored, while the 'Children Feature' refers to where to take them from. These are usually the same, and there is no need to set Children Feature if Containment Feature is set as it will default to this value. An example of when you'd need to specify this property is with EClass and EAttribute where eStructuralFeatures is the 'containment' for both operations and attributes, but where eAttributes is 'children' for instances of EAttribute. Eclipse Summer School

Alicja Ciemniewska i Jakub Jurkiewicz Efekt przyrostu 4. 2017-03-26 Eclipse Summer School

Przyrost 5 Zadania przypisane do osób Alicja Ciemniewska i Jakub Jurkiewicz 2017-03-26 Przyrost 5 Zadania przypisane do osób Eclipse Summer School

Alicja Ciemniewska i Jakub Jurkiewicz Co teraz robimy? 2017-03-26 Dodamy zależność określającą, które zadania są przypisane do osób. Eclipse Summer School

Person Tasks - .gmfgraph Alicja Ciemniewska i Jakub Jurkiewicz Person Tasks - .gmfgraph 2017-03-26 Dodajemy Polyline Decoration do galerii figur Dodajemy figurę przedstawiającą zależność Figure Descriptor (nazwa: PersonTaskFigure) Polyline Connection Connection Eclipse Summer School

Alicja Ciemniewska i Jakub Jurkiewicz .gmfgraph 2017-03-26 Eclipse Summer School

Alicja Ciemniewska i Jakub Jurkiewicz .gmfgraph 2017-03-26 Eclipse Summer School

PersonTaskDecoration .gmfgraph PersonTaskDecoration Nowy Figur Descriptor Polyline Connection

Alicja Ciemniewska i Jakub Jurkiewicz .gmfgraph 2017-03-26 PersonTaskFigure Connection PersonTask Eclipse Summer School

Alicja Ciemniewska i Jakub Jurkiewicz Person Tasks - .gmftool 2017-03-26 Dodajemy narzędzie do tworzenia połączeń Eclipse Summer School

Alicja Ciemniewska i Jakub Jurkiewicz Person Tasks - .gmfmap 2017-03-26 Dodajemy Link Mapping Link Mapping Model Narzędzie z palety Element na diagramie Eclipse Summer School

Alicja Ciemniewska i Jakub Jurkiewicz Efekt przyrostu 5. 2017-03-26 Eclipse Summer School

Przyrost 6 Figura złożona (Composite figure) Alicja Ciemniewska i Jakub Jurkiewicz 2017-03-26 Przyrost 6 Figura złożona (Composite figure) Eclipse Summer School

Alicja Ciemniewska i Jakub Jurkiewicz Co chcemy zrobić? 2017-03-26 To co chcemy teraz zrobić to zamienić figurę reprezentującą osobę na figurę przypominającą kształtem człowieczka. Eclipse Summer School

Złożona figura - .gmfgraph Alicja Ciemniewska i Jakub Jurkiewicz Złożona figura - .gmfgraph 2017-03-26 Dodajemy prostokąt (Outline – False, Fill – False), a na nim: Layout XY Color Size Figure elements Dodajemy prostokąt, który będzie stanowił ramę naszej figury. Ustawiamy właściwości figury: Outline i Fill na False. Jak widać na rysunku dodamy teraz kolejne element składowe naszej figury. Najpierw dodajemy XY Layout, który pozwoli nam rozmieścić pozostałe figury. Następnie ustawimy rozmiar oraz dodamy pozostałe figury: Elipsy jako głowę i oczy, prostokąt jako nos oraz wielokąty jako usta i resztę ciała. Zamiast dodawać wszystkie elementy po kolei , co byłoby czasochłonne skorzystamy tym razem ze ściągi i wkleimy kod bezpośrednio do pliku. Otwieramy .gmfgraph w edytorze tekstoym, znajdujemy fragment z opisem figury PersonCompositeFigure i wklejamy fragment znajdujący się w dodatkowym pliku. Eclipse Summer School

Złożona figura - .gmfgraph Alicja Ciemniewska i Jakub Jurkiewicz Złożona figura - .gmfgraph 2017-03-26 Otwieramy w edytorze tekstowym i znajdujemy fragment opisujący figurę Dodajemy prostokąt, który będzie stanowił ramę naszej figury. Ustawiamy właściwości figury: Outline i Fill na False. Jak widać na rysunku dodamy teraz kolejne element składowe naszej figury. Najpierw dodajemy XY Layout, który pozwoli nam rozmieścić pozostałe figury. Następnie ustawimy rozmiar oraz dodamy pozostałe figury: Elipsy jako głowę i oczy, prostokąt jako nos oraz wielokąty jako usta i resztę ciała. Zamiast dodawać wszystkie elementy po kolei , co byłoby czasochłonne skorzystamy tym razem ze ściągi i wkleimy kod bezpośrednio do pliku. Otwieramy .gmfgraph w edytorze tekstoym, znajdujemy fragment z opisem figury PersonCompositeFigure i wklejamy fragment znajdujący się w dodatkowym pliku. Eclipse Summer School

Złożona figura - .gmfgraph Alicja Ciemniewska i Jakub Jurkiewicz Złożona figura - .gmfgraph 2017-03-26 Wklejamy kod Dodajemy prostokąt, który będzie stanowił ramę naszej figury. Ustawiamy właściwości figury: Outline i Fill na False. Jak widać na rysunku dodamy teraz kolejne element składowe naszej figury. Najpierw dodajemy XY Layout, który pozwoli nam rozmieścić pozostałe figury. Następnie ustawimy rozmiar oraz dodamy pozostałe figury: Elipsy jako głowę i oczy, prostokąt jako nos oraz wielokąty jako usta i resztę ciała. Zamiast dodawać wszystkie elementy po kolei , co byłoby czasochłonne skorzystamy tym razem ze ściągi i wkleimy kod bezpośrednio do pliku. Otwieramy .gmfgraph w edytorze tekstoym, znajdujemy fragment z opisem figury PersonCompositeFigure i wklejamy fragment znajdujący się w dodatkowym pliku. Eclipse Summer School

Złożona figura - .gmfgraph Alicja Ciemniewska i Jakub Jurkiewicz Złożona figura - .gmfgraph 2017-03-26 Wracamy do edytora GMF – wszystkie elementy są wstawione!  Dodajemy prostokąt, który będzie stanowił ramę naszej figury. Ustawiamy właściwości figury: Outline i Fill na False. Jak widać na rysunku dodamy teraz kolejne element składowe naszej figury. Najpierw dodajemy XY Layout, który pozwoli nam rozmieścić pozostałe figury. Następnie ustawimy rozmiar oraz dodamy pozostałe figury: Elipsy jako głowę i oczy, prostokąt jako nos oraz wielokąty jako usta i resztę ciała. Zamiast dodawać wszystkie elementy po kolei , co byłoby czasochłonne skorzystamy tym razem ze ściągi i wkleimy kod bezpośrednio do pliku. Otwieramy .gmfgraph w edytorze tekstoym, znajdujemy fragment z opisem figury PersonCompositeFigure i wklejamy fragment znajdujący się w dodatkowym pliku. Eclipse Summer School

Złożona figura - .gmfgraph Alicja Ciemniewska i Jakub Jurkiewicz Złożona figura - .gmfgraph 2017-03-26 Dodajemy etykietę jako osobną figurę BasicLabelFigure oraz PersonBasicLabel Musimy dodać jeszcze podpis figury. W tym celu dodajemy Figure descriptor BasicLabelFigure i w nim dodajemy Label o takiej samej nazwie. Następnie dodajemy Diaram Label – PersonBasicLabel, a we właściwościach ustawiamy Element Icon – false; Figure - BasicLabelFigure Icon Figure Name Eclipse Summer School

Złożona figura - .gmfgraph Alicja Ciemniewska i Jakub Jurkiewicz Złożona figura - .gmfgraph 2017-03-26 Podmieniamy figurę w PersonNode Node Person PersonCompositeFigure Musimy dodać jeszcze podpis figury. W tym celu dodajemy Figure descriptor BasicLabelFigure i w nim dodajemy Label o takiej samej nazwie. Następnie dodajemy Diaram Label – PersonBasicLabel, a we właściwościach ustawiamy Element Icon – false; Figure - BasicLabelFigure Eclipse Summer School

Złożona figura - .gmfmap Alicja Ciemniewska i Jakub Jurkiewicz Złożona figura - .gmfmap 2017-03-26 Podmieniamy Diagram Label w Label Mapping Feature Label Mapping PersonBasicLabel Musimy dodać jeszcze podpis figury. W tym celu dodajemy Figure descriptor BasicLabelFigure i w nim dodajemy Label o takiej samej nazwie. Następnie dodajemy Diaram Label – PersonBasicLabel, a we właściwościach ustawiamy Element Icon – false; Figure - BasicLabelFigure Eclipse Summer School

Alicja Ciemniewska i Jakub Jurkiewicz Rezultat przyrostu 6. 2017-03-26 Eclipse Summer School

Alicja Ciemniewska i Jakub Jurkiewicz Ćwiczenie 2 2017-03-26 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ę! ;-) Musimy dodać jeszcze podpis figury. W tym celu dodajemy Figure descriptor BasicLabelFigure i w nim dodajemy Label o takiej samej nazwie. Następnie dodajemy Diaram Label – PersonBasicLabel, a we właściwościach ustawiamy Element Icon – false; Figure - BasicLabelFigure Eclipse Summer School

Co jeszcze można zrobić? Alicja Ciemniewska i Jakub Jurkiewicz 2017-03-26 Co jeszcze można zrobić? Eclipse Summer School

Alicja Ciemniewska i Jakub Jurkiewicz List Layout 2017-03-26 Zmieniamy właściwości w .gmftool List layout wskazuje jak mają zostać ułożone elementy wewnątrz elementu Compartment. Jeśli List layout ma wartość TRUE elementy wewnątrz Compartment będą układane jeden pod drugim wyrównane do lewej strony. Jeśli ustawimy wartość na FALSE elementy będą umieszczone w miejscu wstawienia i będzie je można przesuwać; mogą też wtedy nachodzić na siebie nawzajem. Czasem trzeba usunąć istniejący plugin z diagramem! Eclipse Summer School

Ikony dla elementów modelu Alicja Ciemniewska i Jakub Jurkiewicz Ikony dla elementów modelu 2017-03-26 Podmieniamy pliki w katalogu icons Zmieniamy właściwości w .gmftool Eclipse Summer School

Ikony dla edytora i kreatora Alicja Ciemniewska i Jakub Jurkiewicz Ikony dla edytora i kreatora 2017-03-26 Zmieniamy właściwości w .gmfgen Właściwości diagramu Właściwości edytora Eclipse Summer School

Alicja Ciemniewska i Jakub Jurkiewicz Zmiana rozszerzenia 2017-03-26 Zmieniamy właściwości w .gmfgen Eclipse Summer School

Alicja Ciemniewska i Jakub Jurkiewicz Przechowywanie 2017-03-26 Przechowywanie modelu i diagramu w jednym pliku Sprawdź!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Sprawdzone!  Eclipse Summer School

Wbudowane mechanizmy Eksportu do obrazka Drukowanie Zoom Automatyczne rozmieszczanie elementów Ukrywanie elementów „Cofnij”/”Ponów”

GMF - Podsumowanie Szybki sposób na tworzenie aplikacji Profesjonalnie wyglądający edytor Wbudowane mechanizmy

Linki www.eclipse.org/gmf wiki.eclipse.org/GMF_Tutorial ftp://ftp.man.szczecin.pl/pub/eclipse/technology/ph oenix/demos/gmf-orgchart/GMF-orgchart.swf www.onjava.com/pub/a/onjava/2007/07/11/gmf- beyond-the-wizards.html Newsgroup: org.modeling.gmf

Pytania?

Dziękuję za uwagę 