================================================================ 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). .. uml:: 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 ############ .. toctree:: :maxdepth: 1 ./EClass_Editor.rst EDataTypes ############# This package does not specfiy any EDataTypes. EENums ############# This package does not specfiy any EENums. EPackages ############# .. toctree:: :maxdepth: 1 ./EPackage_displayableObjects.rst ./EPackage_common.rst ./EPackage_displayStyles.rst ./EPackage_interactions.rst ./EPackage_palette.rst ./EPackage_tools.rst