Class MessageView

  • All Implemented Interfaces:
    BaseElement, com.nomagic.magicdraw.uml.CompartmentSupport, MDElement, ModelElementProvider, com.nomagic.magicdraw.uml.symbols.LabelOwner, com.nomagic.magicdraw.uml.symbols.manipulators.centerlines.CenterlineableShape, NumberedMessageView, com.nomagic.magicdraw.uml.symbols.paths.PathCustomDraw, StereotypesDisplayModeOwner, com.nomagic.magicdraw.uml.symbols.SuspendShapeAutoResizeModeProvider, NameOwner, java.beans.PropertyChangeListener, java.lang.Cloneable, java.lang.Comparable, java.util.EventListener

    @OpenApi
    public class MessageView
    extends com.nomagic.magicdraw.uml.symbols.shapes.ShapeWithLabels
    implements NumberedMessageView, com.nomagic.magicdraw.uml.symbols.paths.PathCustomDraw
    The MessageView class is used for displaying the message icon in Communication diagram of UML Drawing Tool.

    This class has the reference to the data class - MessageData.

    • Constructor Detail

      • MessageView

        public MessageView()
    • Method Detail

      • createNameLabelWrapper

        protected com.nomagic.magicdraw.uml.symbols.shapes.NameLabelWrapper createNameLabelWrapper()
        Overrides:
        createNameLabelWrapper in class com.nomagic.magicdraw.uml.symbols.shapes.ShapeWithLabels
      • createLabels

        protected void createLabels()
        Overrides:
        createLabels in class com.nomagic.magicdraw.uml.symbols.shapes.ShapeWithLabels
      • getNameLabelWrapper

        public com.nomagic.magicdraw.uml.symbols.shapes.MessageNameLabelWrapper getNameLabelWrapper()
        Overrides:
        getNameLabelWrapper in class com.nomagic.magicdraw.uml.symbols.shapes.ShapeWithLabels
      • getMessageSignatureLabelBox

        public com.nomagic.magicdraw.uml.symbols.shapes.MessageSignatureView getMessageSignatureLabelBox()
        Returns the signature view from the container of this message. Data flows are contained in it too.
        Returns:
        the MessageSignatureView
      • layoutOperations

        void layoutOperations​(int dx,
                              int dy,
                              boolean useSimple)
        Translates data flows and operation location by dx, dy. Calculates the angle for data flows.
        Parameters:
        dx - the x offset.
        dy - the y offset.
      • preferredSizeIgnoringOrientation

        protected void preferredSizeIgnoringOrientation​(java.awt.Dimension pref,
                                                        int locationX,
                                                        int locationY)
        Overrides:
        preferredSizeIgnoringOrientation in class com.nomagic.magicdraw.uml.symbols.shapes.AbstractHeaderShapeView
      • minimumSizeIgnoringOrientation

        protected void minimumSizeIgnoringOrientation​(java.awt.Dimension min)
        Overrides:
        minimumSizeIgnoringOrientation in class com.nomagic.magicdraw.uml.symbols.shapes.AbstractHeaderShapeView
      • simpleSetBounds

        public void simpleSetBounds​(java.awt.Rectangle rect,
                                    boolean moveChildren,
                                    boolean calculatePrefSize)
        Overrides:
        simpleSetBounds in class com.nomagic.magicdraw.uml.symbols.shapes.ShapeWithLabels
      • getNearestLinkPart

        public Line getNearestLinkPart​(int x,
                                       int y)
        Returns nearest link part to specified point.
      • addPresentationElement

        public void addPresentationElement​(PresentationElement element,
                                           int index,
                                           boolean resize)
        Overrides:
        addPresentationElement in class com.nomagic.magicdraw.uml.symbols.shapes.ContainerShapeView
      • dynamicPathIcon

        @CheckForNull
        public com.nomagic.magicdraw.ui.pathicon.PathIcon dynamicPathIcon()
      • dynamicPathIcon

        public com.nomagic.magicdraw.ui.pathicon.PathIcon dynamicPathIcon​(@CheckForNull
                                                                          com.nomagic.magicdraw.ui.pathicon.PathIcon pathIcon)
      • getPathIcon

        @CheckForNull
        public com.nomagic.magicdraw.ui.pathicon.PathIcon getPathIcon()
        Specified by:
        getPathIcon in interface com.nomagic.magicdraw.uml.symbols.paths.PathCustomDraw
      • paintSelf

        public void paintSelf​(com.nomagic.magicdraw.uml.symbols.DiagramPaintContext context)
      • clone

        public MessageView clone()
        Description copied from class: ElementImpl
        Returns a copy of the Element.
        Specified by:
        clone in interface BaseElement
        Overrides:
        clone in class com.nomagic.magicdraw.uml.symbols.shapes.ShapeWithLabels
        Returns:
        the cloned object
      • canAddInstance

        public boolean canAddInstance​(PresentationElement obj)
        Description copied from class: PresentationElement
        Object view has no children.
        Overrides:
        canAddInstance in class com.nomagic.magicdraw.uml.symbols.shapes.ShapeWithLabels
      • canHavePaths

        public boolean canHavePaths()
        Returns:
        true if symbol can have connected paths. Return false here.
      • coversPoint

        public boolean coversPoint​(int x,
                                   int y)
        Description copied from class: PresentationElement
        checks if object covers provided point
        Overrides:
        coversPoint in class com.nomagic.magicdraw.uml.symbols.shapes.AbstractHeaderShapeView
        Returns:
        true if object covers this point
      • accept

        public void accept​(Visitor visitor)
                    throws java.lang.Exception
        Description copied from interface: MDElement
        Method accepts visitor, and calls method visit<class name>(this) of visitor . See Visitor pattern for more details.
        Specified by:
        accept in interface MDElement
        Overrides:
        accept in class com.nomagic.magicdraw.uml.symbols.shapes.ShapeWithLabels
        Parameters:
        visitor - which visits this element.
        Throws:
        java.lang.Exception
      • hasSharedData

        public boolean hasSharedData()
        Description copied from class: PresentationElement
        Returns true if data of this object can be shared. If data is not shared data can be deleted with del key. Or it must be deleted with CRL+D
        Returns:
        true if data of this object can be shared.
      • calculateBounds

        private java.awt.Rectangle calculateBounds​(int x,
                                                   int y)
        Calculates bounds according to the given point. Sets minimum and preferred size for message.
        Returns:
        the new bounds for MessageView according to its parent.
      • resizeParent

        public void resizeParent()
        Description copied from class: PresentationElement
        Method that initiates parent resize to accommodate children if some child's bounds are changed.
      • prefDimensionByManipulatedChildren

        protected void prefDimensionByManipulatedChildren​(java.awt.Dimension pref,
                                                          int locationX,
                                                          int locationY)
        Overrides:
        prefDimensionByManipulatedChildren in class com.nomagic.magicdraw.uml.symbols.shapes.ContainerShapeView
      • autosizeByChildren

        public void autosizeByChildren​(boolean calculatePrefSize)
        Overrides:
        autosizeByChildren in class com.nomagic.magicdraw.uml.symbols.shapes.ContainerShapeView
      • autosize

        public void autosize​(boolean calculatePrefSize)
        Description copied from class: ShapeElement
        Calculate preferred size and make this shape size at least as preferred(if size is smaller)
        Overrides:
        autosize in class com.nomagic.magicdraw.uml.symbols.shapes.AbstractHeaderShapeView
        Parameters:
        calculatePrefSize - calculate preferred size
      • initialize

        public void initialize()
        Description copied from class: PresentationElement
        Initialize symbol and its children state. Symbol must be initialized before doing any resize, painting and etc. These operations can lead to unpredictable results otherwise.
      • recursiveAutosize

        public void recursiveAutosize()
        Description copied from class: PresentationElement
        Resize recursively all symbols. Method must be called if something is changed in symbol (for example minimum size) and you want to resize (autosize) all hierarchy
        Overrides:
        recursiveAutosize in class com.nomagic.magicdraw.uml.symbols.shapes.ContainerShapeView
      • setDirection

        public void setDirection​(int direction)
      • getDirection

        public int getDirection()
      • intersects

        public boolean intersects​(int x,
                                  int y,
                                  int width,
                                  int height)
        Description copied from class: PresentationElement
        checks whether object intersects with given rectangle
        Returns:
        true if object and rectangle intersects
      • getBoundsToRepaint

        public java.awt.Rectangle getBoundsToRepaint()
                                              throws NoRectangleDefinedException
        Description copied from class: PresentationElement
        Return bounds of the symbol that must be repainted. throws NoRectangleDefinedException
        Overrides:
        getBoundsToRepaint in class com.nomagic.magicdraw.uml.symbols.shapes.ShapeWithLabels
        Returns:
        rectangle of bounds
        Throws:
        NoRectangleDefinedException
      • internalApplyProperties

        public void internalApplyProperties​(PropertyManager man)
        Description copied from class: PresentationElement
        Applies properties from given property manager
        Overrides:
        internalApplyProperties in class com.nomagic.magicdraw.uml.symbols.shapes.ShapeWithLabels
        Parameters:
        man - new properties
      • internalSilentApply

        public void internalSilentApply()
        Description copied from class: PresentationElement
        Silently applies all properties after initialization
        Overrides:
        internalSilentApply in class com.nomagic.magicdraw.uml.symbols.shapes.ShapeWithLabels
      • sSetShowPredecessors

        public void sSetShowPredecessors​(boolean show)
      • setShowPredecessors

        public void setShowPredecessors​(boolean show)
        Sets show predecessors list.
        Parameters:
        show - show list
      • isShowPredecessors

        public boolean isShowPredecessors()
        Returns:
        show predecessors property value.
      • canChangeParent

        public boolean canChangeParent​(java.util.Collection<? extends PresentationElement> movedTogether,
                                       @CheckForNull
                                       BaseElement newParent,
                                       boolean changeElementParent)
        Description copied from class: PresentationElement
        Returns true, if element can change parent.
        Parameters:
        movedTogether - collection of the elements, whose will change the parent together with this.
        newParent - new symbol parent
        changeElementParent - change element parent
        Returns:
        true if parent of symbol can be changed
      • resetMessagePositions

        public static void resetMessagePositions​(PathElement path)
      • getElement

        public Message getElement()
        Description copied from class: PresentationElement
        Returns model element of this presentation element. Some presentation elements (for example TextBoxes) do not have model elements.
        Specified by:
        getElement in interface com.nomagic.magicdraw.uml.symbols.LabelOwner
        Specified by:
        getElement in interface ModelElementProvider
        Overrides:
        getElement in class PresentationElement
        Returns:
        model element of this presentation element.
      • findParentForData

        public Element findParentForData​(PresentationElement newParent,
                                         com.nomagic.uml2.ext.jmi.helpers.ElementAddContext addContext)
      • getNumber

        public java.util.List<java.lang.String> getNumber()
        Description copied from interface: NumberedMessageView
        Returns number of the message
        Specified by:
        getNumber in interface NumberedMessageView
        Returns:
        nested number of the message
      • getNumberManager

        public com.nomagic.magicdraw.uml.symbols.MessageNumberManager getNumberManager()
      • setNumberManager

        public void setNumberManager​(com.nomagic.magicdraw.uml.symbols.MessageNumberManager numberManager)
      • propertyChange

        public void propertyChange​(java.beans.PropertyChangeEvent e)
        Description copied from class: PresentationElement
        Listens for property change it can be: data was edited text box was edited
        Specified by:
        propertyChange in interface java.beans.PropertyChangeListener
      • checkShowsProxy

        protected boolean checkShowsProxy()
        Overrides:
        checkShowsProxy in class com.nomagic.magicdraw.uml.symbols.shapes.ContainerShapeView
      • getChildrenInsets

        public com.nomagic.ui.UnmodifiableInsets getChildrenInsets​(com.nomagic.magicdraw.uml.symbols.shapes.InsetsLevel insetsLevel)
        Overrides:
        getChildrenInsets in class com.nomagic.magicdraw.uml.symbols.shapes.ContainerShapeView
        Parameters:
        insetsLevel - describes the level of insets
        Returns:
        shape insets for children
      • getStroke

        public java.awt.BasicStroke getStroke​(boolean line,
                                              int lineStyle)
        This method must be overridden, if you need to use DASHED_STROKE or another one.
        Returns:
        the stroke for line drawing ( by default SOLID_STROKE).
      • prepareForLineDrawing

        protected boolean prepareForLineDrawing​(java.awt.Graphics2D g,
                                                boolean line)
        Prepares graphics for line drawing. Calls super prepareForLineDrawing and sets stroke.
      • getStroke

        public java.awt.BasicStroke getStroke​(boolean line)
        This method must be overridden, if you need to use DASHED_STROKE or another one.
        Returns:
        the stroke for line drawing ( by default SOLID_STROKE).
      • createSmartListenerConfig

        protected void createSmartListenerConfig​(java.util.List<SmartListenerConfig> configurations)
        Overrides:
        createSmartListenerConfig in class com.nomagic.magicdraw.uml.symbols.shapes.ShapeWithLabels