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 Summary
-
Method Summary
Modifier and TypeMethodDescriptionorg.eclipse.gef.commands.Command
createChangeBoundsCommand
(AbstractWidgetModel widgetModel, org.eclipse.gef.requests.ChangeBoundsRequest request, org.eclipse.draw2d.geometry.Rectangle targetBounds) Returns a command, which handles the size and location changes, implied by the change bounds request and the target bounds.List<org.eclipse.gef.Handle>
createCustomHandles
(org.eclipse.gef.GraphicalEditPart editPart) Creates and returns custom handlesHandle
for the specified edit part.org.eclipse.draw2d.IFigure
createDragSourceFeedbackFigure
(AbstractWidgetModel model, org.eclipse.draw2d.geometry.Rectangle initalBounds) The returned figure will be used to provide graphical feedback during drag or resize operations.org.eclipse.gef.commands.Command
createInitialBoundsCommand
(AbstractWidgetModel widgetModel, org.eclipse.gef.requests.CreateRequest request, org.eclipse.draw2d.geometry.Rectangle targetBounds) Returns a command, which handles the initial size and location during the creation of new widget models.org.eclipse.draw2d.Shape
createSizeOnDropFeedback
(org.eclipse.gef.requests.CreateRequest createRequest) The returned figure will be used to provide graphical feedback during the creation of new widget models.Gets the class type of a custom creation tool for the kind of objects, this factory is responsible for.int
getHeightFromWidth
(int width, AbstractWidgetModel widgetModel) Calculate height from width.abstract int
protected org.eclipse.draw2d.Shape
Lazily creates and returns the Figure to use for size-on-drop feedback.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.int
getWidthFromHeight
(int height, AbstractWidgetModel widgetModel) Calculate width from height.boolean
isSquareSizeRequired
(AbstractWidgetModel widgetModel) void
showChangeBoundsFeedback
(AbstractWidgetModel widgetModel, org.eclipse.draw2d.geometry.PrecisionRectangle newBounds, org.eclipse.draw2d.IFigure feedbackFigure, org.eclipse.gef.requests.ChangeBoundsRequest request) This method will be called, when the size or location of the feedback changes during drag or resize operations.void
showSizeOnDropFeedback
(org.eclipse.gef.requests.CreateRequest request, org.eclipse.draw2d.IFigure feedbackFigure, org.eclipse.draw2d.geometry.Insets insets) 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 byIGraphicalFeedbackFactory.createSizeOnDropFeedback(CreateRequest)
.
-
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 interfaceIGraphicalFeedbackFactory
- Parameters:
widgetModel
- the affected widget modelrequest
- a change bounds request (may contain extended data, when a custom creation tool (seeIGraphicalFeedbackFactory.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
Description copied from interface:IGraphicalFeedbackFactory
Creates and returns custom handlesHandle
for the specified edit part.- Specified by:
createCustomHandles
in interfaceIGraphicalFeedbackFactory
- 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 interfaceIGraphicalFeedbackFactory
- Parameters:
model
- the widget modelinitalBounds
- 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 interfaceIGraphicalFeedbackFactory
- Parameters:
widgetModel
- the created widget modelrequest
- the create request (may contain extended data, when a custom creation tool (seeIGraphicalFeedbackFactory.getCreationTool()
) is usedtargetBounds
- 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 interfaceIGraphicalFeedbackFactory
- Parameters:
createRequest
- the create request- Returns:
- a customized droop feedback figure, null if it is not necessary.
-
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 interfaceIGraphicalFeedbackFactory
- 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 theIGraphicalFeedbackFactory.createDragSourceFeedbackFigure(AbstractWidgetModel, Rectangle)
. Implementors should apply the changed bounds to their individual feedback figure.- Specified by:
showChangeBoundsFeedback
in interfaceIGraphicalFeedbackFactory
- Parameters:
widgetModel
- the corresponding widget modelnewBounds
- the new boundsfeedbackFigure
- the current feedback figurerequest
- 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 byIGraphicalFeedbackFactory.createSizeOnDropFeedback(CreateRequest)
.- Specified by:
showSizeOnDropFeedback
in interfaceIGraphicalFeedbackFactory
- Parameters:
request
- the create requestfeedbackFigure
- the current feedback figureinsets
- 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
-
getHeightFromWidth
Calculate height from width. Return same value as width by default.- Parameters:
width
-- Returns:
- height.
-
getWidthFromHeight
Calculate width from height. Return same value as height by default.- Parameters:
height
-- Returns:
- height.
-