3
{OPEN}
Whydo youneeda Domain-SpecificEditor ?
Createa GraphicalUser Interface
Choosea GUI libraryand a GUI language
WrittingCode
–It isslow
–Executethe code to know whatyouare doing
–You needto eitherknow the languageor refereto the
documentation
Usinga GUI editor
–It isfast
–WYSIWYG
–The possible modifications are display in the dedicatedtool
–The possible modifications are limitedby the tool
Pyramidion
A frameworkto createDomain-Specificeditor
Usedto createPyramida GUI Editor.
Domain = objectsmodifiedby
the editor
4
{OPEN}
A Traffic Light example(1/3)
Step1 : Select the element
I needa widget to select the element
I needa selectionsystem
Step2 : Modifythe element
I needa widget to modifythe selectedelement
I needto know wichelementare selected
I needa system thatwilluse the DSL to change the element
5
{OPEN}
A Traffic Light example(2/3)
Treeplugin
To select one element and display the selection
Background plugin
To Display and change the colorof the selectedelements
Plugin = a tooladdedto the
editor
6
{OPEN}
A Traffic Light example(3/3)
7
{OPEN}
Editor
A plugin basedarchitecture
System to addwidgets to the view
View
System
1
Modification
System
1
Selection
System
1
System to select the element
System to modifythe element
Plugins can
Addnew widgetsto the viewof the editor
Modifythe currentselectionof the editor
Addnew propertiesto the modification system
Interractwithotherplugins
Builderto createthe Editor
It uses a listof plugins and installthemon the
editor
Builder
create
*
Plugin *
FrameworkUsers
8
{OPEN}
The installation of the plugins
Builder TreePlugin
Background
Plugin
1: configuration
2: configuration
Phase 1:
Configuration
View
System
4: viewinstallation
5: addingthe treewidget
Phase 2:
View
Selection
System
Modifications
System
9: connecton the editor
12: connecton the editor
11: connectthe treeplugin to the selectionsystem
13: connectthe background plugin to the selectionsystem
14: connectthe background plugin to the modifications system
Phase 3:
Connection