Class AbstractFixRatioSizeFeedbackFactory

java.lang.Object
org.csstudio.opibuilder.widgets.feedback.AbstractFixRatioSizeFeedbackFactory
All Implemented Interfaces:
IGraphicalFeedbackFactory
Direct Known Subclasses:
GaugeFeedbackFactory, KnobFeedbackFactory, LEDFeedbackFactory, MeterFeedbackFactory

public abstract class AbstractFixRatioSizeFeedbackFactory extends Object implements IGraphicalFeedbackFactory
Feedback factory for widgets which need square size.
  • Constructor Details

    • AbstractFixRatioSizeFeedbackFactory

      public AbstractFixRatioSizeFeedbackFactory()
  • Method Details

    • createChangeBoundsCommand

      public org.eclipse.gef.commands.Command createChangeBoundsCommand(AbstractWidgetModel widgetModel, org.eclipse.gef.requests.ChangeBoundsRequest request, org.eclipse.draw2d.geometry.Rectangle targetBounds)
      Description copied from interface: IGraphicalFeedbackFactory
      Returns a command, which handles the size and location changes, implied by the change bounds request and the target bounds.
      Specified by:
      createChangeBoundsCommand in interface IGraphicalFeedbackFactory
      Parameters:
      widgetModel - the affected widget model
      request - a change bounds request (may contain extended data, when a custom creation tool (see IGraphicalFeedbackFactory.getCreationTool()) or custom handles (IGraphicalFeedbackFactory.createCustomHandles(GraphicalEditPart)) are used.
      targetBounds - the new bounds
      Returns:
      a undoable command, which handles the size and location changes, null if default change bounds command should be used.
    • createCustomHandles

      public List<org.eclipse.gef.Handle> createCustomHandles(org.eclipse.gef.GraphicalEditPart editPart)
      Description copied from interface: IGraphicalFeedbackFactory
      Creates and returns custom handles Handle for the specified edit part.
      Specified by:
      createCustomHandles in interface IGraphicalFeedbackFactory
      Parameters:
      editPart - the edit part
      Returns:
      a list, which contains all custom handles or null, if no custom handles should be created
    • createDragSourceFeedbackFigure

      public org.eclipse.draw2d.IFigure createDragSourceFeedbackFigure(AbstractWidgetModel model, org.eclipse.draw2d.geometry.Rectangle initalBounds)
      Description copied from interface: IGraphicalFeedbackFactory
      The returned figure will be used to provide graphical feedback during drag or resize operations.
      Specified by:
      createDragSourceFeedbackFigure in interface IGraphicalFeedbackFactory
      Parameters:
      model - the widget model
      initalBounds - the initial bounds
      Returns:
      a customized feedback figure during draging, null if not necessary.
    • createInitialBoundsCommand

      public org.eclipse.gef.commands.Command createInitialBoundsCommand(AbstractWidgetModel widgetModel, org.eclipse.gef.requests.CreateRequest request, org.eclipse.draw2d.geometry.Rectangle targetBounds)
      Description copied from interface: IGraphicalFeedbackFactory
      Returns a command, which handles the initial size and location during the creation of new widget models.
      Specified by:
      createInitialBoundsCommand in interface IGraphicalFeedbackFactory
      Parameters:
      widgetModel - the created widget model
      request - the create request (may contain extended data, when a custom creation tool (see IGraphicalFeedbackFactory.getCreationTool()) is used
      targetBounds - the initial bounds
      Returns:
      a undoable command, which sets up the initial size and location changes. null if it is not necessary to initialize size and location.
    • createSizeOnDropFeedback

      public org.eclipse.draw2d.Shape createSizeOnDropFeedback(org.eclipse.gef.requests.CreateRequest createRequest)
      Description copied from interface: IGraphicalFeedbackFactory
      The returned figure will be used to provide graphical feedback during the creation of new widget models.
      Specified by:
      createSizeOnDropFeedback in interface IGraphicalFeedbackFactory
      Parameters:
      createRequest - the create request
      Returns:
      a customized droop feedback figure, null if it is not necessary.
    • getCreationTool

      public Class getCreationTool()
      Description copied from interface: IGraphicalFeedbackFactory
      Gets the class type of a custom creation tool for the kind of objects, this factory is responsible for.
      Specified by:
      getCreationTool in interface IGraphicalFeedbackFactory
      Returns:
      the class type of a custom creation tool or null, if the default creation tool should be used
    • showChangeBoundsFeedback

      public void showChangeBoundsFeedback(AbstractWidgetModel widgetModel, org.eclipse.draw2d.geometry.PrecisionRectangle newBounds, org.eclipse.draw2d.IFigure feedbackFigure, org.eclipse.gef.requests.ChangeBoundsRequest request)
      Description copied from interface: IGraphicalFeedbackFactory
      This method will be called, when the size or location of the feedback changes during drag or resize operations. The specified figure equals the figure, which is created by the IGraphicalFeedbackFactory.createDragSourceFeedbackFigure(AbstractWidgetModel, Rectangle). Implementors should apply the changed bounds to their individual feedback figure.
      Specified by:
      showChangeBoundsFeedback in interface IGraphicalFeedbackFactory
      Parameters:
      widgetModel - the corresponding widget model
      newBounds - the new bounds
      feedbackFigure - the current feedback figure
      request - the change request
    • showSizeOnDropFeedback

      public void showSizeOnDropFeedback(org.eclipse.gef.requests.CreateRequest request, org.eclipse.draw2d.IFigure feedbackFigure, org.eclipse.draw2d.geometry.Insets insets)
      Description copied from interface: IGraphicalFeedbackFactory
      This method will be called, when the size or location of the feedback changes during the creation process.The specified figure equals the figure, which is created by IGraphicalFeedbackFactory.createSizeOnDropFeedback(CreateRequest).
      Specified by:
      showSizeOnDropFeedback in interface IGraphicalFeedbackFactory
      Parameters:
      request - the create request
      feedbackFigure - the current feedback figure
      insets - any insets that need to be applied to the creation feedback's bounds
    • getSizeOnDropFeedback

      protected org.eclipse.draw2d.IFigure getSizeOnDropFeedback(org.eclipse.gef.requests.CreateRequest createRequest)
      Lazily creates and returns the Figure to use for size-on-drop feedback.
      Parameters:
      createRequest - the createRequest
      Returns:
      the size-on-drop feedback figure
    • getSizeOnDropFeedback

      protected org.eclipse.draw2d.Shape getSizeOnDropFeedback()
      Lazily creates and returns the Figure to use for size-on-drop feedback.
      Returns:
      the size-on-drop feedback figure
    • getMinimumWidth

      public abstract int getMinimumWidth()
      Returns:
      the minimum size
    • isSquareSizeRequired

      public boolean isSquareSizeRequired(AbstractWidgetModel widgetModel)
    • getHeightFromWidth

      public int getHeightFromWidth(int width, AbstractWidgetModel widgetModel)
      Calculate height from width. Return same value as width by default.
      Parameters:
      width -
      Returns:
      height.
    • getWidthFromHeight

      public int getWidthFromHeight(int height, AbstractWidgetModel widgetModel)
      Calculate width from height. Return same value as height by default.
      Parameters:
      height -
      Returns:
      height.