Package org.csstudio.opibuilder.feedback
Class DefaultGraphicalFeedbackFactory
java.lang.Object
org.csstudio.opibuilder.feedback.DefaultGraphicalFeedbackFactory
- All Implemented Interfaces:
IGraphicalFeedbackFactory
- Direct Known Subclasses:
ArrayFeedbackFactory
,GroupingContainerFeedbackFactory
A default implementation of
IGraphicalFeedbackFactory
which does nothing to changing default graphical
feedback behavior. Subclass can override this class to create customized feedback behavior.-
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.Class<?>
Gets the class type of a custom creation tool for the kind of objects, this factory is responsible for.void
showChangeBoundsFeedback
(AbstractWidgetModel widgetModel, org.eclipse.draw2d.geometry.PrecisionRectangle bounds, 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 feedback, 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
-
DefaultGraphicalFeedbackFactory
public DefaultGraphicalFeedbackFactory()
-
-
Method Details
-
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.
-
showChangeBoundsFeedback
public void showChangeBoundsFeedback(AbstractWidgetModel widgetModel, org.eclipse.draw2d.geometry.PrecisionRectangle bounds, 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 modelbounds
- the new boundsfeedbackFigure
- the current feedback figurerequest
- the change request
-
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.
-
showSizeOnDropFeedback
public void showSizeOnDropFeedback(org.eclipse.gef.requests.CreateRequest request, org.eclipse.draw2d.IFigure feedback, 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 requestfeedback
- the current feedback figureinsets
- any insets that need to be applied to the creation feedback's bounds
-
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
-
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.
-
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.
-
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
-