Class PeServiceImpl

    • Constructor Detail

      • PeServiceImpl

        public PeServiceImpl()
    • Method Detail

      • createConnectionDecorator

        public ConnectionDecorator createConnectionDecorator​(Connection connection,
                                                             boolean active,
                                                             double location,
                                                             boolean isRelative)
        Description copied from interface: IPeCreateService
        Creates a connection decorator and adds it to the given connection.
        Specified by:
        createConnectionDecorator in interface IPeCreateService
        Parameters:
        connection - the connection
        active - TRUE, if decorator is active, FALSE otherwise
        location - location of the decorator (must be between 0 and 1)
        isRelative - true if the decorator should be positioned relative to the connection's midpoint
        Returns:
        the new connection decorator
      • createContainerShape

        public ContainerShape createContainerShape​(ContainerShape parentContainerShape,
                                                   boolean active)
        Description copied from interface: IPeCreateService
        Creates a container shape inside the given parent container shape.
        Specified by:
        createContainerShape in interface IPeCreateService
        Parameters:
        parentContainerShape - the parent container shape
        active - true, if the created shape should be active, false otherwise. An active shape can be selected in the diagram editor and it is also relevant for layouting: an active shape opens a coordinate system relative to its next active parent which can be used for layouting its PictogramElement children, while an inactive one uses the coordinate system of its next direct parent for layouting its children.

        By default all shapes should be active, inactive shapes should be used for grouping purposes or for linking a group of graphical objects to the domain world only.

        For those familiar with GEF: only for active shapes a GEF EditPart will be created by the Graphiti framework, not for inactive ones.

        Returns:
        the new container shape
      • createDiagram

        public Diagram createDiagram​(java.lang.String diagramTypeId,
                                     java.lang.String diagramName,
                                     int gridUnit,
                                     boolean snap)
        Description copied from interface: IPeCreateService
        Creates a diagram.
        Specified by:
        createDiagram in interface IPeCreateService
        Parameters:
        diagramTypeId - the type id of the diagram
        diagramName - the name of the diagram
        gridUnit - grid size (in both directions) in pixel; if 0 then no grid will be drawn
        snap - TRUE enables snap to grid
        Returns:
        the new diagram
      • createDiagram

        public Diagram createDiagram​(java.lang.String diagramTypeId,
                                     java.lang.String diagramName,
                                     int horizontalGridUnit,
                                     int verticalGridUnit,
                                     boolean snap)
        Description copied from interface: IPeCreateService
        Creates a diagram.
        Specified by:
        createDiagram in interface IPeCreateService
        Parameters:
        diagramTypeId - the type id of the diagram
        diagramName - the name of the diagram
        horizontalGridUnit - horizontal grid size in pixel; if 0 then no grid will be drawn
        verticalGridUnit - vertical grid size in pixel; if 0 then no grid will be drawn
        snap - TRUE enables snap to grid
        Returns:
        the new diagram
      • createCompositeConnection

        public CompositeConnection createCompositeConnection​(Diagram diagram)
        Description copied from interface: IPeCreateService
        Creates a composite connection (a connection that is made of several other connections) inside the given diagram. CompositeConnections can be used to combine any number of CurvedConnections into one semantical connection using its CompositeConnection.getChildren() relation. Note that the composite connection itself needs to have an associated GraphicsAlgorithm (usually a Polyline) for its visualization, although it might be invisible and only the child connections have a visible polyline as their visualization.
        Note that this is an experimental API and might change without further notice.
        Specified by:
        createCompositeConnection in interface IPeCreateService
        Parameters:
        diagram - the diagram
        Returns:
        the new composite connection
      • createCurvedConnection

        public CurvedConnection createCurvedConnection​(double[] xy,
                                                       Diagram diagram)
        Description copied from interface: IPeCreateService
        Creates a curved connection (Bezier curve) inside the given diagram.
        Specified by:
        createCurvedConnection in interface IPeCreateService
        Parameters:
        xy - an array of double value pairs defining the control points (two values - x and y - define the point) of the Bezier curve
        diagram - the diagram
        Returns:
        the new curved connection
      • createShape

        public Shape createShape​(ContainerShape parentContainerShape,
                                 boolean active)
        Description copied from interface: IPeCreateService
        Creates a shape inside the given parent container shape.
        Specified by:
        createShape in interface IPeCreateService
        Parameters:
        parentContainerShape - the parent container shape
        active - true, if the created shape should be active, false otherwise. An active shape can be selected in the diagram editor and it is also relevant for layouting: an active shape opens a coordinate system which can be used for layouting its PictogramElement children, while an inactive one does not provide one but uses the coordinate system of its next active parent for layouting its children.

        By default all shapes should be active, inactive shapes should be used for grouping purposes or for linking a group of graphical objects to the domain world only.

        For those familiar with GEF: only for active shapes a GEF EditPart will be created by the Graphiti framework, not for inactive ones.

        Returns:
        the new shape
      • getAllConnections

        public java.util.List<Connection> getAllConnections​(Anchor anchor)
        Description copied from interface: IPeService
        Returns all connections of an anchor.
        Specified by:
        getAllConnections in interface IPeService
        Parameters:
        anchor - the anchor
        Returns:
        list of connections
      • getAllConnections

        public java.util.List<Connection> getAllConnections​(AnchorContainer anchorContainer)
        Description copied from interface: IPeService
        Returns all connections of an anchor container.
        Specified by:
        getAllConnections in interface IPeService
        Parameters:
        anchorContainer - the anchor container
        Returns:
        list of connections
      • getAllContainedShapes

        public java.util.Collection<Shape> getAllContainedShapes​(ContainerShape cs)
        Description copied from interface: IPeService
        Returns all the contained container shapes. Dives through the whole shapes tree.
        Specified by:
        getAllContainedShapes in interface IPeService
        Parameters:
        cs - the container shape
        Returns:
        all the contained container shapes
      • getChopboxAnchor

        public Anchor getChopboxAnchor​(AnchorContainer anchorContainer)
        Description copied from interface: IPeService
        Gets the chopbox anchor.
        Specified by:
        getChopboxAnchor in interface IPeService
        Parameters:
        anchorContainer - the anchor container
        Returns:
        The chopbox anchor of the anchor container if one exist, otherwise null
      • getConnectionMidpoint

        public ILocation getConnectionMidpoint​(Connection c,
                                               double d)
        Description copied from interface: IPeLayoutService
        Gets the connection midpoint.
        Specified by:
        getConnectionMidpoint in interface IPeLayoutService
        Parameters:
        c - the connection
        d - a relative location on the connection (must be between 0 and 1)
        Returns:
        the connection midpoint
      • getDiagramForAnchor

        public Diagram getDiagramForAnchor​(Anchor anchor)
        Description copied from interface: IPeService
        Returns the diagram for the given anchor.
        Specified by:
        getDiagramForAnchor in interface IPeService
        Parameters:
        anchor - the anchor
        Returns:
        the diagram
      • getDiagramForShape

        public Diagram getDiagramForShape​(Shape shape)
        Description copied from interface: IPeService
        Returns the diagram for the given shape.
        Specified by:
        getDiagramForShape in interface IPeService
        Parameters:
        shape - the shape
        Returns:
        the diagram
      • getElementsNotInDiagram

        public org.eclipse.emf.ecore.EObject[] getElementsNotInDiagram​(org.eclipse.emf.ecore.EObject[] elements,
                                                                       Diagram diagram)
        Description copied from interface: IPeService
        From the given elements, returns all elements that are not linked by a PictogramLink in the given Diagram.
        Specified by:
        getElementsNotInDiagram in interface IPeService
        Parameters:
        elements - the elements
        diagram - the diag
        Returns:
        the elements not in diagram
      • getGaBoundsForAnchor

        public IRectangle getGaBoundsForAnchor​(Anchor anchor)
        Description copied from interface: IPeLayoutService
        Returns the bounds of the graphics algorithm, which is referenced by the anchor.
        Specified by:
        getGaBoundsForAnchor in interface IPeLayoutService
        Parameters:
        anchor - the anchor
        Returns:
        the bounds of the anchor graphics algorithm
      • getIncomingConnections

        public java.util.List<Connection> getIncomingConnections​(AnchorContainer anchorContainer)
        Description copied from interface: IPeService
        Returns the incoming connections of an anchor container.
        Specified by:
        getIncomingConnections in interface IPeService
        Parameters:
        anchorContainer - the anchor container
        Returns:
        list of incoming connections
      • getLinkedPictogramElements

        public java.lang.Object[] getLinkedPictogramElements​(org.eclipse.emf.ecore.EObject[] elements,
                                                             Diagram diagram)
        Description copied from interface: IPeService
        Return all the pictogram elements of the given Diagram which have at least one link to one of the given elements.
        Specified by:
        getLinkedPictogramElements in interface IPeService
        Parameters:
        elements - the elements
        diagram - the diag
        Returns:
        the linked pictogram elements
      • getLocationInfo

        public ILocationInfo getLocationInfo​(Shape shape,
                                             int x,
                                             int y)
        Description copied from interface: IPeLayoutService
        Returns the location info for a specific position inside a shape. The location info contains the shape and the graphics algorithm at the given position.
        Specified by:
        getLocationInfo in interface IPeLayoutService
        Parameters:
        shape - the shape
        x - x coordinate
        y - y coordinate
        Returns:
        the location info
        See Also:
        ILocationInfo
      • getOutgoingConnections

        public java.util.List<Connection> getOutgoingConnections​(AnchorContainer anchorContainer)
        Description copied from interface: IPeService
        Returns the outgoing connections of an anchor container.
        Specified by:
        getOutgoingConnections in interface IPeService
        Parameters:
        anchorContainer - the anchor container
        Returns:
        list of outgoing connections
      • getPictogramElementChildren

        public java.util.Collection<PictogramElement> getPictogramElementChildren​(PictogramElement pe)
        Description copied from interface: IPeService
        Returns a pictogram element's children.
        Some Examples: returns all connections of a diagram, all shapes of a container shape, all decorators of a connection, all anchors of an anchor container
        Specified by:
        getPictogramElementChildren in interface IPeService
        Parameters:
        pe - the given pictogram element
        Returns:
        all the pictogram element's children
      • getProperty

        public Property getProperty​(PropertyContainer propertyContainer,
                                    java.lang.String key)
        Description copied from interface: IPeService
        Returns the property of a given property container for a specific key.
        Specified by:
        getProperty in interface IPeService
        Parameters:
        propertyContainer - The property container (e.g. PictogramElement or GraphicsAlgorithm)
        key - The property key
        Returns:
        The property for the key
      • getPropertyValue

        public java.lang.String getPropertyValue​(PropertyContainer propertyContainer,
                                                 java.lang.String key)
        Description copied from interface: IPeService
        Returns the first element of the property values of a given property container for a specific key.
        Specified by:
        getPropertyValue in interface IPeService
        Parameters:
        propertyContainer - The property container (e.g. PictogramElement or GraphicsAlgorithm)
        key - The property key
        Returns:
        The fist value of the property values for the key
      • getXOfPictogramElement

        protected static int getXOfPictogramElement​(PictogramElement pe)
        Returns the location of the given pictogram element - more exactly the location of the pictogram element's graphics algorithm.
        Parameters:
        pe - the given pictogram element
        Returns:
        the location
      • getYOfPictogramElement

        protected static int getYOfPictogramElement​(PictogramElement pe)
        Returns the location of the given pictogram element - more exactly the location of the pictogram element's graphics algorithm.
        Parameters:
        pe - the given pictogram element
        Returns:
        the location
      • moveBendpoints

        public void moveBendpoints​(IExecutionInfo executionInfo)
        Description copied from interface: IPeService
        Move bendpoints.
        Specified by:
        moveBendpoints in interface IPeService
        Parameters:
        executionInfo - the execution info
      • removeProperty

        public boolean removeProperty​(PropertyContainer propertyContainer,
                                      java.lang.String key)
        Description copied from interface: IPeService
        Removes the property of a given property container for a specific key.
        Specified by:
        removeProperty in interface IPeService
        Parameters:
        propertyContainer - The property container (e.g. PictogramElement or GraphicsAlgorithm)
        key - The property key
        Returns:
        True, if the property existed
      • sendToBack

        public void sendToBack​(Shape shape)
        Description copied from interface: IPeService
        Reorders parent's children to make the given shape the backmost one. This is a convenient service to modify the z order. The z order of shapes in their containers can also be modified by changing the order of the children in the corresponding container shape directly. The last element in the list will be painted on top.
        Specified by:
        sendToBack in interface IPeService
        Parameters:
        shape - shape to make the backmost one
      • sendToFront

        public void sendToFront​(Shape shape)
        Description copied from interface: IPeService
        Reorders parent's children to make the given shape the frontmost one. This is a convenient service to modify the z order. The z order of shapes in their containers can also be modified by changing the order of the children in the corresponding container shape directly. The last element in the list will be painted on top.
        Specified by:
        sendToFront in interface IPeService
        Parameters:
        shape - shape to make the frontmost one
      • setPropertyValue

        public void setPropertyValue​(PropertyContainer propertyContainer,
                                     java.lang.String key,
                                     java.lang.String value)
        Description copied from interface: IPeService
        Sets/modifies the property's value of a given property container for a specific key.
        The property object will be created if it does not exist.
        Specified by:
        setPropertyValue in interface IPeService
        Parameters:
        propertyContainer - The property container (e.g. PictogramElement or GraphicsAlgorithm)
        key - The property key
        value - The new property value