Class KielerLayoutArcConnector

    • Constructor Detail

      • KielerLayoutArcConnector

        public KielerLayoutArcConnector​(Site tail,
                                        Site head)
        Construct a new connector with the given tail and head for the specified link. The connector is either drawn as a spline (in case KIELER layout information is available) or in the classic arc-style fashion as implemented by the super-class.
        Parameters:
        tail - The tail site.
        head - The head site.
    • Method Detail

      • route

        public void route()
        Tell the connector to route itself between the current positions of the head and tail sites. If bend points are available, draw the line with these instead. Delete bend point information if modification detected (i.e., movement of one or the other end of a link).
        Specified by:
        route in interface Connector
        Overrides:
        route in class ArcConnector
      • repositionLabel

        public void repositionLabel()
        Tell the connector to reposition its label if it has one. The label is currently only positioned at the center of the arc.
        Overrides:
        repositionLabel in class ArcConnector
      • setLayoutInProgress

        public static void setLayoutInProgress​(boolean inProgress)
        Notifies layout connections that a layout is in progress, which stops them from deciding to remove layout hints from relations. Without this mechanism, it can happen that layout hints get removed seemingly at random. This is caused by layout connectors thinking that one actor in a relation is moved during the application of the layout results. This in turn triggers the corresponding layout hint to be viewed as being invalid, and consequently to be removed.

        A call to this method with the parameter value true must always be followed by a call with the parameter value false.

        Note: This mechanism is not thread-safe! However, since the problem only occurs while a layout result is being applied through a MoMLChangeRequest (of which only one is ever being executed at a given time), this shouldn't be a problem.

        Parameters:
        inProgress - true if a layout result is currently being applied.