Click here to load reader

old presentation

  • View
    407

  • Download
    2

Embed Size (px)

Text of old presentation

  • 1. Einfhrung in das Graphical Editor Framework Tutorial, iX-Konferenz 2005.1 13.6.2005, nh-Hotel, Heidelberg Dr. Boris Bokowski

2.

  • GEF Graphical Editor Framework
    • Existiert seit ca. fnf Jahren
    • Ursprnglich com.ibm.etools.gef, dann org.eclipse.gef
    • Basis fr 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
    • Nchste Version: 3.1, Mitte 2005
    • Releases in der Regel eine Woche nach Eclipse Platform

Mageschneiderte grafische Editoren mit GEF Kontext 2005 by Boris Bokowski; made available under the EPL v1.0 3. Graphical Editor Framework Screenshots 2005 by Boris Bokowski; made available under the EPL v1.0 4.

  • Set-Up
  • Features von GEF
  • Hello, World
  • Architektur von GEF
  • Hands-On: Schrittweise Weiterentwicklung von Hello World
  • Hands-On: Ein fertiger Beispieleditor

Mageschneiderte grafische Editoren mit GEF Gliederung 2005 by Boris Bokowski; made available under the EPL v1.0 5.

  • Set-Up

Mageschneiderte grafische Editoren mit GEF 2005 by Boris Bokowski; made available under the EPL v1.0 6.

  • 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-Tutorialeclipse)
  • Workspace: GEF, GEF-Examples, Tutorial-Projekte
    • workspace.zip entpacken, nach C:GEF-Tutorial
  • Eclipse starten
    • C:GEF-Tutorialeclipseeclipse.exe
    • Als Workspace auswhlen: C:GEF-Tutorialworkspace
    • Hkchen bei Default
    • Welcome-View schlieen

Mageschneiderte grafische Editoren mit GEF Set-Up 2005 by Boris Bokowski; made available under the EPL v1.0 7. Mageschneiderte grafische Editoren mit GEF Set-Up Import von Plug-Ins

  • Inkrementellen Compiler temporr ausschalten

8.

  • Import der vorbereiteten Projekte
    • File->Import

Mageschneiderte grafische Editoren mit GEF Set-Up 2005 by Boris Bokowski; made available under the EPL v1.0 1 4 3 2 9.

  • Close Projects
  • Inkrementellen Compiler wieder anschalten

Mageschneiderte grafische Editoren mit GEF Set-Up 2005 by Boris Bokowski; made available under the EPL v1.0 1 2 10.

  • Features

Mageschneiderte grafische Editoren mit GEF 2005 by Boris Bokowski; made available under the EPL v1.0 11. Empfehlungen zum VorgehenWas ist einfach, was ist aufwndig 2005 by Boris Bokowski; made available under the EPL v1.0 Accessibility Zoom Overview Undo/Redo Printing Menu Tools Handles Direct Edit Grid, Snap Palette Animation Nesting Layers Connections Shapes Ruler Layout Integration 12. Features Shapes Example 2005 by International Business Machines; made available under the EPL v1.0 Connections Shapes Integration 13. Features Flow Example 2005 by International Business Machines; made available under the EPL v1.0 Animation Nesting Layout Tools 14. Features Logic Example 2005 by International Business Machines; made available under the EPL v1.0 Zoom Undo/Redo Palette Ruler 15. Features METUS 2005 by Boris Bokowski; made available under the EPL v1.0 Accessibility Handles Direct Edit Layers 16.

  • GEF-Examples ausprobieren
    • Run->Run

Mageschneiderte grafische Editoren mit GEF Features 2005 by Boris Bokowski; made available under the EPL v1.0 1 2 3 4 17.

  • File->New->Project
  • "Testprojekt" eingeben, Finish
  • File->New->Example
  • Window->Show View->Other, Basic->Palette

Mageschneiderte grafische Editoren mit GEF Features 2005 by Boris Bokowski; made available under the EPL v1.0 18. Mageschneiderte grafische Editoren mit GEF Features 2005 by Boris Bokowski; made available under the EPL v1.0 19.

  • Demo

Mageschneiderte grafische Editoren mit GEF 2005 by Boris Bokowski; made available under the EPL v1.0 20.

  • Hello, World

Mageschneiderte grafische Editoren mit GEF 2005 by Boris Bokowski; made available under the EPL v1.0 21. Mageschneiderte grafische Editoren mit GEF Hello, World 2005 by Boris Bokowski; made available under the EPL v1.0 1 2 3 4 22. Mageschneiderte grafische Editoren mit GEF Hello, World 2005 by Boris Bokowski; made available under the EPL v1.0 5 6 7 23. Mageschneiderte grafische Editoren mit GEF Hello, World 2005 by Boris Bokowski; made available under the EPL v1.0 8 9 10 24. Mageschneiderte grafische Editoren mit GEF Hello, World 2005 by Boris Bokowski; made available under the EPL v1.0 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() { // TODO Auto-generated method stub } } 25. Mageschneiderte grafische Editoren mit GEF Hello, World 2005 by Boris Bokowski; made available under the EPL v1.0 1 2 3 4 26. Mageschneiderte 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 27. Mageschneiderte 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 28.

  • Architektur

Mageschneiderte grafische Editoren mit GEF 2005 by Boris Bokowski; made available under the EPL v1.0 29. Architektur Plug-In-Abhngigkeiten GEF ui.views RCPPlatform Runtime 2005 by International Business Machines; made available under the EPL v1.0 SWT Draw2D 30. 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 31. Architektur Model-View-Controller Model Figure Events / Requests 2005 by Boris Bokowski; made available under the EPL v1.0 EditPart Commands Notification Refresh 32. Architektur Modell

  • Keine Annahmen in GEF, was das Modell angeht.
  • Sinnvoll sind:
    • Notification bzw. Observer-Pattern
    • Command-Pattern
    • Persistenz
    • Keine Abhngigkeit zu Controller oder View
  • Mglichkeiten:
    • Java Beans, PropertyChangeSupport
    • Eclipse Modeling Framework (EMF)

2005 by Boris Bokowski; made available under the EPL v1.0 33. 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 unabhngig von GEF verwendet werden

2005 by Boris Bokowski; made available under the EPL v1.0 34. ArchitekturFigures (Draw2D) 1 3 6 4 5 1 2 2 3 4 5 6 2005 by International Business Machines; made available under the EPL v1.0 35. ArchitekturLayouts (Draw2D) Top BorderLayout FlowLayout Bottom Left Right Center 1 2 3 4 ToolbarLayout XYLayout 12,8,20,10 30,20,27,14 1 2 3 2005 by International Business Machines; made available under the EPL v1.0 36. Architektur Controller

  • EditPart
    • (i.d.R.) ein EditPart-Objekt pro Modell-Objekt
      • Genauer: ein EditPart-Objekt pro Einheit,die fr sich selektierbar / editierbar / lschbar sein soll