Einführung in das Graphical Editor Framework Tutorial, iX-Konferenz 2005.1 13.6.2005, nh-Hotel, Heidelberg Dr. Boris Bokowski <bokowski@acm.org>

Slides:



Advertisements
Ähnliche Präsentationen
Developing your Business to Success We are looking for business partners. Enterprise Content Management with OS|ECM Version 6.
Advertisements

E-Solutions mySchoeller.com for Felix Schoeller Imaging
Software Engineering 2 Übung – Konstruktion interaktiver (CASE) Tools SS 2007 Leif Geiger, Carsten Reckord, Software Engineering.
Modellgetriebene Softwareentwicklung
Vorlesung: 1 Betriebliche Informationssysteme 2003 Prof. Dr. G. Hellberg Studiengang Informatik FHDW Vorlesung: Betriebliche Informationssysteme Teil3.
Einführung in die Informatik: Programmierung und Software-Entwicklung
Vorteile der Online-Produkte
Telefonnummer.
CPCP Institute of Clinical Pharmacology AGAH Annual Meeting, 29. Februar 2004, Berlin, Praktischer Umgang mit den Genehmigungsanträgen gemäß 12. AMG Novelle.
Modelle und Methoden der Linearen und Nichtlinearen Optimierung (Ausgewählte Methoden und Fallstudien) U N I V E R S I T Ä T H A M B U R G November 2011.
Modelle und Methoden der Linearen und Nichtlinearen Optimierung (Ausgewählte Methoden und Fallstudien) U N I V E R S I T Ä T H A M B U R G November 2011.
Workshop zur Medienarbeit der katholischen Kirche Aspekte des Religionsmonitors Berlin, 02. April 2008.
1 JIM-Studie 2010 Jugend, Information, (Multi-)Media Landesanstalt für Kommunikation Baden-Württemberg (LFK) Landeszentrale für Medien und Kommunikation.
= = = = 47 = 47 = 48 = =
-17 Konjunkturerwartung Europa September 2013 Indikator > +20 Indikator 0 a +20 Indikator 0 a -20 Indikator < -20 Europäische Union gesamt: +6 Indikator.
Scratch Der Einstieg in das Programmieren. Scatch: Entwicklungsumgebung Prof. Dr. Haftendorn, Leuphana Universität Lüneburg,
AUFGABE 1: Ein Wagen (dargestellt durch ein Rechteck) soll sich von links nach rechts bewegen. Tipp: Timer benutzen AUFGABE 2: Zusätzlich zu Aufgabe.
Installation des Add-In SOLVERSTAT
© 2006 W. Oberschelp, G. Vossen Rechneraufbau & Rechnerstrukturen, Folie 2.1.
Grundkurs Theoretische Informatik, Folie 2.1 © 2006 G. Vossen,K.-U. Witt Grundkurs Theoretische Informatik Kapitel 2 Gottfried Vossen Kurt-Ulrich Witt.
Objektorientierte Programmierung JDK-Klassenbibliothek
Vorlesung: 1 Betriebliche Informationssysteme 2003 Prof. Dr. G. Hellberg Studiengang Informatik FHDW Vorlesung: Betriebliche Informationssysteme Teil2.
Christian Kästner Modellgetriebene Softwareentwicklung Eclipse Modelling Framework.
Vererbung Spezialisierung von Klassen in JAVA möglich durch
PKJ 2005/1 Stefan Dissmann Rückblick auf 2005 Was zuletzt in 2005 vorgestellt wurde: Klassen mit Attributen, Methoden und Konstruktoren Referenzen auf.
PKJ 2005/1 Stefan Dissmann Zusammenfassung Bisher im Kurs erarbeitete Konzepte(1): Umgang mit einfachen Datentypen Umgang mit Feldern Umgang mit Referenzen.
PKJ 2005/1 Stefan Dissmann Klassenhierarchie Person Kunde Goldkunde Lieferant Object.
Brandenburgische Technische Universität Cottbus Program Profiling Andrzej Filipiak Übung Testen von Software SoSe 2006.
Differentieller Stromverstärker
Schieferdeckarten Dach.ppt
Divide and Conquer Eclipse RCP und Spring in verteilten Anwendungen Stefan Reichert | Lufthansa Systems Benjamin Pasero | IBM Rational.
Bild 1.1 Copyright © Alfred Mertins | Signaltheorie, 2. Auflage Vieweg+Teubner PLUS Zusatzmaterialien Vieweg+Teubner Verlag | Wiesbaden.
Software(technik)praktikum Tutorial: Einführung in GEF
20:00.
Die Geschichte von Rudi
SK / , , in Hochkössen und der Wildschönau flow Ski- und Snowboardschule Intersport Menzel.
Eine Einführung in die CD-ROM
ETS4 - Was ist neu? - Wie fange ich an? - Noch Fragen?
Java und Eclipse.
1 Ein kurzer Sprung in die tiefe Vergangenheit der Erde.
The free XML Editor for Windows COOKTOP Semistrukturierte Daten 1 Vortrag Semistrukturierte Daten 1 COOKTOP The free XML-Editor for Windows
Gameplay Systems I Softwaretechnologie II (Teil 2): Simulation und 3D Programmierung SS 2012 Prof. Dr. phil. Manfred Thaller Referent: Christian Weitz.
Das 19. Jahrhundert: John Ruskin ( ) und die Kunsterziehungsbewegung in England.
Cooperation unlimited © Zühlke August 2008 Hansjörg Scherer Folie 1 Cooperation unlimited TFS als BackEnd für Visual Studio und Eclipse.
XML IV: Cocoon 2.
NEU! 1 2. Wo kommt diese Art von Rezeptor im Körper vor?
Deutsch III Unit 4 Part 5 Shopping. 1 to go shopping.
Template v5 October 12, Copyright © Infor. All Rights Reserved.
PROCAM Score Alter (Jahre)
PARTENARIAT ÉDUCATIF GRUNDTVIG PARTENARIAT ÉDUCATIF GRUNDTVIG REPERES KULTURELLER ZUSAMMENHALT UND AUSDEHNUNG DER IDEEN AUF EUROPÄISCHEM.
Das IT - Informationssystem
Großer Altersunterschied bei Paaren fällt nicht auf!
GMF (Graphical Modeling Framework)
1 (C)2006, Hermann Knoll, HTW Chur, FHO Quadratische Reste Definitionen: Quadratischer Rest Quadratwurzel Anwendungen.
Analyseprodukte numerischer Modelle
Pigmentierte Läsionen der Haut
Schutzvermerk nach DIN 34 beachten 20/05/14 Seite 1 Grundlagen XSoft Lösung :Logische Grundschaltung IEC-Grundlagen und logische Verknüpfungen.
Vortrag von Rechtsanwältin Verena Nedden, Fachanwältin für Steuerrecht zur Veranstaltung Wege zum bedingungslosen Grundeinkommen der Piratenpartei Rhein-Hessen.
Technische Universität München 1 CADUI' June FUNDP Namur G B I The FUSE-System: an Integrated User Interface Design Environment Frank Lonczewski.
Ertragsteuern, 5. Auflage Christiana Djanani, Gernot Brähler, Christian Lösel, Andreas Krenzin © UVK Verlagsgesellschaft mbH, Konstanz und München 2012.
Titelmasterformat durch Klicken bearbeiten Textmasterformate durch Klicken bearbeiten Zweite Ebene Dritte Ebene Vierte Ebene Fünfte Ebene 1 Rising energy.
Bildergalerie PRESEASON CAMP Juni 2014 Romanshorn Get ready for the Season!
Es war einmal ein Haus
Numbers Greetings and Good-byes All about Me Verbs and Pronouns
Kompetenztraining Jura Martin Zwickel / Eva Julia Lohse / Matthias Schmid ISBN: © 2014 Walter de Gruyter GmbH, Berlin/Boston Abbildungsübersicht.
1 10 pt 15 pt 20 pt 25 pt 5 pt 10 pt 15 pt 20 pt 25 pt 5 pt 10 pt 15 pt 20 pt 25 pt 5 pt 10 pt 15 pt 20 pt 25 pt 5 pt 10 pt 15 pt 20 pt 25 pt 5 pt Wie.
Das IT - Informationssystem
1 Medienpädagogischer Forschungsverbund Südwest KIM-Studie 2014 Landesanstalt für Kommunikation Baden-Württemberg (LFK) Landeszentrale für Medien und Kommunikation.
Monatsbericht Ausgleichsenergiemarkt Gas – Oktober
Monatsbericht Ausgleichsenergiemarkt Gas – November
 Präsentation transkript:

Einführung in das Graphical Editor Framework Tutorial, iX-Konferenz 2005.1 13.6.2005, nh-Hotel, Heidelberg Dr. Boris Bokowski <bokowski@acm.org>

Maßgeschneiderte grafische Editoren mit GEF Kontext GEF – Graphical Editor Framework Existiert seit ca. fünf Jahren Ursprünglich com.ibm.etools.gef, dann org.eclipse.gef Basis für graphische Editoren in IBM-Produkten (z.B. WSAD) Wird zunehmend in Open Source- und kommerziellen Produkten verwendet Einbindung in Eclipse Einbindung in das Top-Level-Projekt "Eclipse Tools" Versionsnummern sind synchron zu Eclipse Platform Aktuelle Version: 3.0.1 Nächste Version: 3.1, Mitte 2005 Releases in der Regel eine Woche nach Eclipse Platform © 2005 by Boris Bokowski; made available under the EPL v1.0

Graphical Editor Framework Screenshots © 2005 by Boris Bokowski; made available under the EPL v1.0

Maßgeschneiderte grafische Editoren mit GEF Gliederung Set-Up Features von GEF Hello, World Architektur von GEF Hands-On: Schrittweise Weiterentwicklung von Hello World Hands-On: Ein fertiger Beispieleditor © 2005 by Boris Bokowski; made available under the EPL v1.0

Maßgeschneiderte grafische Editoren mit GEF Set-Up © 2005 by Boris Bokowski; made available under the EPL v1.0

Maßgeschneiderte grafische Editoren mit GEF Set-Up Eclipse 3.1 RC2 eclipse-SDK-3.1RC2-win32.zip entpacken, z.B. nach C:\GEF-Tutorial (Optional: JRE jre.zip entpacken, nach C:\ GEF-Tutorial\eclipse) Workspace: GEF, GEF-Examples, Tutorial-Projekte workspace.zip entpacken, nach C:\GEF-Tutorial Eclipse starten C:\GEF-Tutorial\eclipse\eclipse.exe Als Workspace auswählen: C:\GEF-Tutorial\workspace Häkchen bei Default Welcome-View schließen © 2005 by Boris Bokowski; made available under the EPL v1.0

Maßgeschneiderte grafische Editoren mit GEF Set-Up – Import von Plug-Ins Inkrementellen Compiler temporär ausschalten

Maßgeschneiderte grafische Editoren mit GEF Set-Up Import der vorbereiteten Projekte File->Import… 2 1 3 4 © 2005 by Boris Bokowski; made available under the EPL v1.0

Maßgeschneiderte grafische Editoren mit GEF Set-Up Close Projects Inkrementellen Compiler wieder anschalten 1 2 © 2005 by Boris Bokowski; made available under the EPL v1.0

Maßgeschneiderte grafische Editoren mit GEF Features © 2005 by Boris Bokowski; made available under the EPL v1.0

Empfehlungen zum Vorgehen Was ist einfach, was ist aufwändig Shapes Connections Layers Nesting Palette Menu Tools Printing Direct Edit Undo/Redo Handles Ruler Accessibility Grid, Snap Zoom Animation Layout Overview Integration © 2005 by Boris Bokowski; made available under the EPL v1.0

Features Shapes Example Integration Connections Shapes © 2005 by International Business Machines; made available under the EPL v1.0

Features Flow Example Tools Layout Nesting Animation © 2005 by International Business Machines; made available under the EPL v1.0

Features Logic Example Palette Undo/Redo Zoom Ruler © 2005 by International Business Machines; made available under the EPL v1.0

Features METUS Handles Accessibility Direct Edit Layers © 2005 by Boris Bokowski; made available under the EPL v1.0

Maßgeschneiderte grafische Editoren mit GEF Features GEF-Examples ausprobieren Run->Run… 2 3 1 4 © 2005 by Boris Bokowski; made available under the EPL v1.0

Maßgeschneiderte grafische Editoren mit GEF Features File->New->Project… "Testprojekt" eingeben, Finish File->New->Example… Window->Show View->Other…, Basic->Palette © 2005 by Boris Bokowski; made available under the EPL v1.0

Maßgeschneiderte grafische Editoren mit GEF Features © 2005 by Boris Bokowski; made available under the EPL v1.0

Maßgeschneiderte grafische Editoren mit GEF Demo © 2005 by Boris Bokowski; made available under the EPL v1.0

Maßgeschneiderte grafische Editoren mit GEF Hello, World © 2005 by Boris Bokowski; made available under the EPL v1.0

Maßgeschneiderte grafische Editoren mit GEF Hello, World 3 1 2 4 © 2005 by Boris Bokowski; made available under the EPL v1.0

Maßgeschneiderte grafische Editoren mit GEF Hello, World 6 5 7 © 2005 by Boris Bokowski; made available under the EPL v1.0

Maßgeschneiderte grafische Editoren mit GEF Hello, World 9 8 10 © 2005 by Boris Bokowski; made available under the EPL v1.0

Maßgeschneiderte grafische Editoren mit GEF Hello, World package de.eclipseteam.geftutorial.simple.views; import org.eclipse.swt.widgets.Composite; import org.eclipse.ui.part.ViewPart; public class SampleView extends ViewPart { public void createPartControl(Composite parent) { // TODO Auto-generated method stub } public void setFocus() { © 2005 by Boris Bokowski; made available under the EPL v1.0

Maßgeschneiderte grafische Editoren mit GEF Hello, World 2 3 1 4 © 2005 by Boris Bokowski; made available under the EPL v1.0

Maßgeschneiderte grafische Editoren mit GEF Hello, World public class SampleView extends ViewPart { private GraphicalViewer graphicalViewer; public void createPartControl(Composite parent) { graphicalViewer = new GraphicalViewerImpl(); graphicalViewer.createControl(parent); graphicalViewer.setEditDomain(new EditDomain()); graphicalViewer.setEditPartFactory(new EditPartFactory() { …… }); graphicalViewer.setContents(new Object()); } public void setFocus() { © 2005 by Boris Bokowski; made available under the EPL v1.0

Maßgeschneiderte grafische Editoren mit GEF Hello, World public EditPart createEditPart(EditPart context, Object model) { EditPart result = new AbstractGraphicalEditPart() { protected IFigure createFigure() { return new Label("Hello, World"); } protected void createEditPolicies() { }; result.setModel(model); return result; © 2005 by Boris Bokowski; made available under the EPL v1.0

Maßgeschneiderte grafische Editoren mit GEF Architektur © 2005 by Boris Bokowski; made available under the EPL v1.0

Architektur Plug-In-Abhängigkeiten GEF ui.views RCP SWT Draw2D Platform Runtime © 2005 by International Business Machines; made available under the EPL v1.0

Architektur Schichten Interaction Layer Model-to-View mapping Workbench Integration Rendering Layout Scaling Native (SWT) Layer © 2005 by International Business Machines; made available under the EPL v1.0

Architektur Model-View-Controller Figure Refresh Commands Notification EditPart Events / Requests © 2005 by Boris Bokowski; made available under the EPL v1.0

Keine Annahmen in GEF, was das Modell angeht. Architektur Modell Keine Annahmen in GEF, was das Modell angeht. Sinnvoll sind: Notification bzw. Observer-Pattern Command-Pattern Persistenz Keine Abhängigkeit zu Controller oder View Möglichkeiten: Java Beans, PropertyChangeSupport Eclipse Modeling Framework (EMF) © 2005 by Boris Bokowski; made available under the EPL v1.0

Vieles in Draw2D vorhanden Architektur View View-Klassen Vieles in Draw2D vorhanden Ansonsten Unterklasse von org.eclipse.draw2d.Figure Draw2D Toolkit auf der Basis von SWT Figure, Layout, Layer, Scrolling, Events, … Kann unabhängig von GEF verwendet werden © 2005 by Boris Bokowski; made available under the EPL v1.0

Architektur Figures (Draw2D) 1 2 3 6 1 6 2 3 4 5 5 4 © 2005 by International Business Machines; made available under the EPL v1.0

Architektur Layouts (Draw2D) BorderLayout FlowLayout Top 1 2 Left Center Right 3 4 Bottom XYLayout ToolbarLayout 1 2 3 12,8,20,10 30,20,27,14 © 2005 by International Business Machines; made available under the EPL v1.0

Architektur Controller EditPart (i.d.R.) ein EditPart-Objekt pro Modell-Objekt Genauer: ein EditPart-Objekt pro Einheit, die für sich selektierbar / editierbar / löschbar sein soll Zuständigkeiten Erzeugung des Figure-Objekts Bestimmung der enthaltenen Objekte Aktualisierung des Figure-Objekts bei Modelländerungen Umsetzung von Requests in Commands Erzeugung von EditParts durch eine Factory © 2005 by Boris Bokowski; made available under the EPL v1.0

Architektur Erzeugung von EditParts GraphicalViewer EditPart Factory Model EditParts Figures @#! © 2005 by International Business Machines; made available under the EPL v1.0

Hands-On Schrittweise Erweiterung von Hello, World Schritt 2: Liste von Strings Schritt 3: Editierbarkeit (Verschieben) Schritt 4: Editierbarkeit (Nesting) Schritt 5: … Schritt 6: Überraschung! © 2005 by Boris Bokowski; made available under the EPL v1.0

Architektur Kontrollfluss im Detail EditPart EditPolicy Requests Commands Tool EditPart SWT Canvas SWT Events Requests Commands Stack Commands ? © 2005 by International Business Machines; made available under the EPL v1.0

Hands-On Schrittweise Erweiterung von Hello, World Schritt 2: Liste von Strings Schritt 3: Editierbarkeit (Verschieben) Schritt 4: Editierbarkeit (Nesting) Schritt 5: BulletBorder Schritt 6: Outline Editor! © 2005 by Boris Bokowski; made available under the EPL v1.0

Architektur Sonstiges Connections Sind grundsätzlich gerichtet Start- und Endpunkt sind Anchor-Objekte Commands Undo/Redo CommandStack Palette Enthält Tools Gruppiert in Ordnern U.v.m… © 2005 by Boris Bokowski; made available under the EPL v1.0

Empfehlungen zum Vorgehen Cheat Sheet Unterklasse von GraphicalEditor EditDomain, EditPartFactory, Top-Level-Modellobjekt setzen Pro EditPart: Erzeugung des Objekts in der EditPartFactory createFigure() Figure erzeugen refreshVisuals() Figure aktualisieren getModelChildren() Nesting activate(), deactivate() Notification einrichten createEditPolicies() Editierbarkeit konfigurieren (Command-Objekte erzeugen) Für Connections: getModelSourceConnections() ausgehende Verbindungen getModelTargetConnections() eingehende Verbindungen createEditPolicies() Palette, Tools, Handles, Drag and Drop, … © 2005 by Boris Bokowski; made available under the EPL v1.0

Empfehlungen zum Vorgehen Informationsquellen High-Level-Overview GEF-Tutorial von der EclipseCon 2005 GefDescription auf eclipsewiki Anleitungen "Maßgeschneiderte grafische Editoren", Boris Bokowski, Frank Gerhardt Eclipse Magazin Vol. 2 Artikel auf www.eclipse.org "A Shape Diagram Editor", Bo Majewski (Cisco) "Using GEF with EMF", Chris Aniszczyk (IBM) "Building a Database Schema Diagram Editor with GEF", Phil Zoio (Realsolve Solutions) Buch SWT in Action (Manning), enthält ca. 50 Seiten zu GEF (Anhang) © 2005 by Boris Bokowski; made available under the EPL v1.0

Maßgeschneiderte grafische Editoren mit GEF Fragen? © 2005 by Boris Bokowski; made available under the EPL v1.0