EPackage editor

The XGEE editor definition model describes graphical editors for EMOF models. An XGEE editor definition references at least one root class whose instances can be edited. Normally, the editor definitions are spread across multiple files, each containing a definition for a single class (or a group of classes that are similar).

Each editable class is referenced with nsURI and its class name (see ModelReference).

 package editor {
   class Editor{
   EString version
   EString repositoryURL
   EString description
   EBoolean isDropReceiver
   EString id
   EString name
   }

 package displayableObjects {
   class Vertex{
   EString nsURI
   EString documentation
   EBoolean isResizable
   EString className
   EString queryTargetAlias
   EDouble sizeY
   EString id
   EBoolean isDeletable
   EString queryStr
   EString alias
   EDouble sizeX
   EBoolean isMovable
   EString name
   Target queryTarget
   EBoolean autoSize
   }

ReferringObject <|-- Vertex
ShapedObject <|-- Vertex
VertexA <|-- Vertex
VertexContainerA <|-- Vertex
EdgeContainerA <|-- Vertex
DeletableObjectA <|-- Vertex

   class Edge{
   EString color
   EString documentation
   EString nsURI
   EString className
   EString colorNamespace
   EString id
   EString queryTargetAlias
   EBoolean isDeletable
   EString queryStr
   EString alias
   EBoolean autoColor
   EBoolean isMovable
   EString name
   Target queryTarget
   EdgeType type
   EInt strokeWidth
   }

DisplayableObject <|-- Edge
ReferringObject <|-- Edge
DeletableObjectA <|-- Edge

   abstract class SubVertexA{
   EDouble offsetX
   EDouble offsetY
   Positioning positioning
   }

   class Container{
   EString documentation
   EDouble offsetX
   EBoolean isResizable
   EDouble sizeY
   EString id
   EDouble sizeX
   EBoolean isMovable
   EString name
   EBoolean autoSize
   EDouble offsetY
   }

ShapedObject <|-- Container
DisplayableObject <|-- Container
VertexContainerA <|-- Container

   abstract class DisplayableObject{
   EString name
   EString id
   EString documentation
   EBoolean isMovable
   }

   abstract class ShapedObject{
   EDouble sizeY
   EBoolean isResizable
   EDouble sizeX
   EBoolean autoSize
   }

   abstract class ReferringObject{
   EString nsURI
   EString className
   EString queryTargetAlias
   EString queryStr
   EString alias
   Target queryTarget
   }

   class Anchor{
   CoordinateType offsetType
   EString name
   EString queryStr
   EDouble offsetX
   EString attributeName
   Target queryTarget
   EDouble offsetY
   Orientation attach
   EString queryTargetAlias
   AnchorType type
   }

   abstract class Label{
   VertexAnchors anchor
   EDouble levelOfDetail
   EString name
   }

   class FloatingLabel{
   EDouble labelRotation
   VertexAnchors anchor
   EBoolean isMovable
   VerticalAlignment labelVerticalAlignment
   EInt labelOffsetX
   EString name
   EDouble levelOfDetail
   EInt labelOffsetY
   HorizontalAlignment labelAlignment
   }

Label <|-- FloatingLabel

   class LabelQuery{
   EString queryStr
   EString condition
   EBoolean isConditional
   EString alias
   EString defaultValue
   EString prefix
   Target queryTarget
   EString queryTargetAlias
   EString suffix
   }

   class NestedLabel{
   VerticalAlignment labelVerticalAlignment
   EInt labelOffsetY
   VertexAnchors anchor
   EInt labelOffsetX
   ResizeBehavior resizeBehavior
   EDouble labelRotation
   EString name
   HorizontalAlignment labelAlignment
   EDouble levelOfDetail
   }

Label <|-- NestedLabel

   class LabelSegment{
   EString content
   EString color
   EDouble levelOfDetail
   EInt size
   }

   abstract class VertexA{
   EString name
   EString id
   EString documentation
   EBoolean isMovable
   }

DisplayableObject <|-- VertexA

   abstract class VertexContainerA
   abstract class EdgeContainerA
   class StaticVertex{
   EBoolean isConditional
   EString documentation
   EBoolean isResizable
   EDouble sizeY
   EString id
   EString condition
   EDouble sizeX
   EBoolean isMovable
   EString name
   EBoolean autoSize
   }

VertexA <|-- StaticVertex
ShapedObject <|-- StaticVertex
VertexContainerA <|-- StaticVertex
EdgeContainerA <|-- StaticVertex

   class SubVertex{
   EString nsURI
   EString documentation
   EBoolean isResizable
   EString className
   EString queryTargetAlias
   EDouble sizeY
   EString id
   EDouble offsetY
   EDouble offsetX
   EBoolean isDeletable
   EString queryStr
   EString alias
   EDouble sizeX
   EBoolean isMovable
   EString name
   Target queryTarget
   EBoolean autoSize
   Positioning positioning
   }

Vertex <|-- SubVertex
SubVertexA <|-- SubVertex

   class StaticSubVertex{
   EBoolean isConditional
   EDouble offsetY
   EString documentation
   EBoolean isResizable
   EDouble sizeY
   EString id
   EDouble offsetX
   EString condition
   EDouble sizeX
   EBoolean isMovable
   EString name
   EBoolean autoSize
   Positioning positioning
   }

SubVertexA <|-- StaticSubVertex
StaticVertex <|-- StaticSubVertex

   abstract class DeletableObjectA{
   EBoolean isDeletable
   }

 }

     Vertex "0" *-->  "1" CompoundCmd : onDeletion
     Vertex "1" *-->  "1" ModelReference : refersTo
     Vertex "1" *-->  "*" ContainerReference : containedIn
     Vertex "0" *-->  "*" Label : labels
     Vertex "0" *-->  "*" Edge : subEdges
     Vertex "0" *-->  "*" SubVertexA : subVertices
     Vertex "0" *-->  "1" Shape : shape
     Edge "0" *-->  "1" CompoundCmd : onDeletion
     Edge "1" *-->  "1" ModelReference : refersTo
     Edge "1" *-->  "*" ContainerReference : containedIn
     Edge "0" *-->  "*" Anchor : anchors
     Edge "0" *-->  "*" Container : containers
     Container "0" *-->  "1" Shape : shape
     Container "0" *-->  "*" SubVertexA : subVertices
     ShapedObject "0" *-->  "1" Shape : shape
     ReferringObject "1" *-->  "1" ModelReference : refersTo
     ReferringObject "1" *-->  "*" ContainerReference : containedIn
     Anchor "0" *-->  "*" ContainerReference : containedIn
     Label "0" *-->  "*" LabelSegment : segments
     FloatingLabel "0" *-->  "*" LabelSegment : segments
     NestedLabel "0" *-->  "*" LabelSegment : segments
     LabelSegment "0" *-->  "*" LabelQuery : queries
     VertexA "0" *-->  "*" Label : labels
     VertexContainerA "0" *-->  "*" SubVertexA : subVertices
     EdgeContainerA "0" *-->  "*" Edge : subEdges
     StaticVertex "0" *-->  "*" SubVertexA : subVertices
     StaticVertex "0" *-->  "*" Label : labels
     StaticVertex "0" *-->  "*" Edge : subEdges
     StaticVertex "0" *-->  "1" Shape : shape
     SubVertex "0" *-->  "1" CompoundCmd : onDeletion
     SubVertex "1" *-->  "1" ModelReference : refersTo
     SubVertex "1" *-->  "*" ContainerReference : containedIn
     SubVertex "0" *-->  "*" Label : labels
     SubVertex "0" *-->  "*" Edge : subEdges
     SubVertex "0" *-->  "*" SubVertexA : subVertices
     SubVertex "0" *-->  "1" Shape : shape
     StaticSubVertex "0" *-->  "*" SubVertexA : subVertices
     StaticSubVertex "0" *-->  "*" Label : labels
     StaticSubVertex "0" *-->  "*" Edge : subEdges
     StaticSubVertex "0" *-->  "1" Shape : shape
     DeletableObjectA "0" *-->  "1" CompoundCmd : onDeletion

 package common {
   class ModelReference{
   EString refNsURI
   EString refClassname
   }

   abstract class ContainerReference{
   ContainerType container
   }

   class FeatureReference{
   ContainerType container
   EString feature
   }

ContainerReference <|-- FeatureReference

   class InstanceReference{
   EString refClassname
   ContainerType container
   EString refNsURI
   }

ContainerReference <|-- InstanceReference

   abstract class ReferenceCondition
   class ParentIsContainedIn{
   EString feature
   }

ReferenceCondition <|-- ParentIsContainedIn

   class FeatureEquals{
   EString feature
   EString value
   }

ReferenceCondition <|-- FeatureEquals

   class Subfeature{
   EString feature
   }

ReferenceCondition <|-- Subfeature

   class Cmd{
   EString cmdStr
   EString alias
   }

   class CompoundCmd
 }

     FeatureReference "0" *-->  "*" ReferenceCondition : where
     FeatureReference "0" *-->  "1" FeatureReference : subFeature
     Subfeature "0" *-->  "*" ReferenceCondition : where
     CompoundCmd "0" *-->  "*" Cmd : cmds

 package displayStyles {
   abstract class Shape{
   EDouble rotation
   }

   class Rectangle{
   EString bgcolor
   EDouble sizeY
   EInt borderWidth
   EString color
   EDouble rotation
   EDouble sizeX
   }

GeometricShape <|-- Rectangle

   class IsoscelesTriangle{
   EString bgcolor
   EDouble altitude
   EDouble base
   EInt borderWidth
   EString color
   EDouble rotation
   }

GeometricShape <|-- IsoscelesTriangle

   class RoundedRectangle{
   EDouble radius
   EString bgcolor
   EInt borderWidth
   EString color
   EDouble sizeY
   EDouble rotation
   EDouble sizeX
   }

GeometricShape <|-- RoundedRectangle

   class ShapeFromResource{
   EDouble sizeX
   EString filepath
   EDouble sizeY
   EDouble rotation
   }

Shape <|-- ShapeFromResource

   class GeometricShape{
   EInt borderWidth
   EString color
   EString bgcolor
   EDouble rotation
   }

Shape <|-- GeometricShape

 }


 package interactions {
   abstract class Interaction{
   EString className
   EString nsURI
   }

   class DropReception{
   EString dropItemClassName
   EString cmd
   EString dropItemNsURI
   EString nsURI
   EBoolean altPressed
   EBoolean requiresDropItem
   EBoolean shiftPressed
   EBoolean isConditional
   EString condQuery
   EString className
   EBoolean ctrlPressed
   }

Interaction <|-- DropReception

 }

     Interaction "0" *-->  "1" CompoundCmd : compoundCmd
     DropReception "0" *-->  "1" CompoundCmd : compoundCmd

 package palette {
   class Palette{
   EString name
   }

   class PaletteCategory{
   EString name
   }

 }

     Palette "0" *-->  "*" PaletteCategory : categories
     PaletteCategory "0" *-->  "*" ToolGenerator : toolGenerators
     PaletteCategory "0" -->  "*" Tool : tools

 package tools {
   abstract class Tool{
   EString name
   EBoolean providesTemplate
   EString icon
   EString id
   EString tooltip
   }

   class DragAndDrop{
   EString name
   EBoolean providesTemplate
   EString icon
   EString id
   EString tooltip
   }

Tool <|-- DragAndDrop

   class ToolGenerator{
   EString queryStr
   EString queryTargetAlias
   Target queryTarget
   EString name
   }

   abstract class ObjectSpecifier
   class ClassSpecifier{
   EString className
   EString nsURI
   }

ObjectSpecifier <|-- ClassSpecifier

   class EObjectSpecifier
ObjectSpecifier <|-- EObjectSpecifier

   class EdgeRouting{
   EString name
   EBoolean isStrict
   EString sourceFeatureName
   EBoolean providesTemplate
   EString cmd
   EString icon
   EString id
   EString targetFeatureName
   EString tooltip
   }

Tool <|-- EdgeRouting

   class Anchor{
   AnchorType type
   EString name
   EBoolean isConditional
   EString className
   EString condQuery
   EString nsURI
   EString selectionQuery
   }

   class SelectionTool{
   EString name
   EBoolean providesTemplate
   EString icon
   EString id
   EString selector
   EBoolean usesSingleTarget
   EString tooltip
   }

Tool <|-- SelectionTool

   class EdgeDefinition{
   EBoolean prepareTemplate
   EBoolean isStrict
   EString documentation
   EString templateAlias
   EString name
   }

 }

     Tool "0" *-->  "1" CompoundCmd : factoryCmd
     DragAndDrop "0" -->  "1" Shape : preview
     DragAndDrop "0" *-->  "1" CompoundCmd : factoryCmd
     DragAndDrop "0" *-->  "1" ObjectSpecifier : specifier
     ToolGenerator "0" *-->  "1" CompoundCmd : toolGenCmd
     ToolGenerator "1" *-->  "1" Tool : tool
     EObjectSpecifier "0" -->  "1" EObject : eObject
     EdgeRouting "0" *-->  "*" EdgeDefinition : edgeDefinitions
     EdgeRouting "0" *-->  "1" CompoundCmd : factoryCmd
     EdgeRouting "0" *-->  "*" Anchor : anchors
     EdgeRouting "0" *-->  "1" ObjectSpecifier : specifier
     EdgeRouting "0" *-->  "1" CompoundCmd : routingCmd
     Anchor "0" -->  "1" VertexA : graphObjectType
     SelectionTool "0" *-->  "1" CompoundCmd : factoryCmd
     SelectionTool "0" *-->  "1" CompoundCmd : selectionCmd
     EdgeDefinition "0" *-->  "1" CompoundCmd : routingCmd
     EdgeDefinition "0" *-->  "*" Anchor : anchors

 }

     Editor "0" *-->  "*" Tool : tools
     Editor "0" *-->  "1" Palette : palette
     Editor "0" *-->  "*" Interaction : interactions
     Editor "1" *-->  "*" ModelReference : refersTo
     Editor "0" *-->  "*" DisplayableObject : displayableObjects

This is the root package of the model.

nsURI:

http://www.xgee.de/editor

nsPrefix:

xgee

EClasses

EDataTypes

This package does not specfiy any EDataTypes.

EENums

This package does not specfiy any EENums.

EPackages