com.sencha.gxt.fx.client
Class Draggable

java.lang.Object
  extended by com.sencha.gxt.fx.client.Draggable
All Implemented Interfaces:
DragCancelEvent.HasDragCancelHandlers, DragEndEvent.HasDragEndHandlers, DragHandler.HasDragHandlers, DragMoveEvent.HasDragMoveHandlers, DragStartEvent.HasDragStartHandlers

public class Draggable
extends java.lang.Object
implements DragStartEvent.HasDragStartHandlers, DragEndEvent.HasDragEndHandlers, DragMoveEvent.HasDragMoveHandlers, DragCancelEvent.HasDragCancelHandlers, DragHandler.HasDragHandlers

Adds drag behavior to any widget. Drag operations can be initiated from the widget itself, or another widget, such as the header in a dialog.

It is possible to specify event targets that will be ignored. If the target element has the CommonStyles.Styles.nodrag() style (as returned by CommonStyles.get()) it will not trigger a drag operation.


Nested Class Summary
static interface Draggable.DraggableAppearance
           
 
Constructor Summary
Draggable(Widget dragComponent)
          Creates a new draggable instance.
Draggable(Widget dragComponent, Draggable.DraggableAppearance appearance)
          Creates a new draggable instance.
Draggable(Widget dragComponent, Widget handle)
          Create a new draggable instance.
Draggable(Widget dragComponent, Widget handle, Draggable.DraggableAppearance appearance)
          Create a new draggable instance.
 
Method Summary
 HandlerRegistration addDragCancelHandler(DragCancelEvent.DragCancelHandler handler)
          Adds a DragCancelEvent.DragCancelHandler handler for DragCancelEvent events.
 HandlerRegistration addDragEndHandler(DragEndEvent.DragEndHandler handler)
          Adds a DragEndEvent.DragEndHandler handler for DragEndEvent events.
 HandlerRegistration addDragHandler(DragHandler handler)
          Adds a DragHandler handler for DragStartEvent , DragEndEvent, DragCancelEvent, DragMoveEvent events.
 HandlerRegistration addDragMoveHandler(DragMoveEvent.DragMoveHandler handler)
          Adds a DragMoveEvent.DragMoveHandler handler for DragMoveEvent events.
 HandlerRegistration addDragStartHandler(DragStartEvent.DragStartHandler handler)
          Adds a DragStartEvent.DragStartHandler handler for DragStartEvent events.
 void cancelDrag()
          Cancels the drag if running.
 Widget getContainer()
          Returns the drag container.
 Widget getDragHandle()
          Returns the drag handle.
 Widget getDragWidget()
          Returns the widget being dragged.
 int getStartDragDistance()
          Returns the number of pixels the cursor must move before dragging begins.
 boolean isConstrainClient()
          Returns true if drag is constrained to the viewport.
 boolean isConstrainHorizontal()
          Returns true if horizontal movement is constrained.
 boolean isConstrainVertical()
          Returns true if vertical movement is constrained.
 boolean isDragging()
          Returns true if a drag is in progress.
 boolean isEnabled()
          Returns true if enabled.
 boolean isMoveAfterProxyDrag()
          Returns true if the drag widget is moved after a proxy drag.
 boolean isSizeProxyToSource()
          Returns true if the proxy element is sized to match the drag widget.
 boolean isUpdateZIndex()
          Returns true if the z-index is updated after a drag.
 boolean isUseProxy()
          Returns true if proxy element is enabled.
 void release()
          Removes the drag handles.
 void setConstrainClient(boolean constrainClient)
          True to set constrain movement to the viewport (defaults to true).
 void setConstrainHorizontal(boolean constrainHorizontal)
          True to stop horizontal movement (defaults to false).
 void setConstrainVertical(boolean constrainVertical)
          True to stop vertical movement (defaults to false).
 void setContainer(Widget container)
          Specifies a container to which the drag widget is constrained.
 void setEnabled(boolean enabled)
          Enables dragging if the argument is true, and disables it otherwise.
 void setMoveAfterProxyDrag(boolean moveAfterProxyDrag)
          True to move source widget after a proxy drag (defaults to true).
 void setProxy(XElement element)
          Sets the proxy element.
 void setProxyStyle(java.lang.String proxyClass)
           
 void setSizeProxyToSource(boolean sizeProxyToSource)
          True to set proxy dimensions the same as the drag widget (defaults to true).
 void setStartDragDistance(int startDragDistance)
          Specifies how far the cursor must move after mousedown to start dragging (defaults to 2).
 void setUpdateZIndex(boolean updateZIndex)
          True if the CSS z-index should be updated on the widget being dragged.
 void setUseProxy(boolean useProxy)
          True to use a proxy widget during drag operation (defaults to true).
 void setXConstraint(int left, int right)
          Constrains the horizontal travel.
 void setYConstraint(int top, int bottom)
          Constrains the vertical travel.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Draggable

public Draggable(Widget dragComponent)
Creates a new draggable instance.

Parameters:
dragComponent - the widget to be dragged

Draggable

public Draggable(Widget dragComponent,
                 Draggable.DraggableAppearance appearance)
Creates a new draggable instance.

Parameters:
dragComponent - the widget to be dragged
appearance - the appearance with which to render the component

Draggable

public Draggable(Widget dragComponent,
                 Widget handle)
Create a new draggable instance.

Parameters:
dragComponent - the widget to be dragged
handle - the widget drags will be initiated from

Draggable

public Draggable(Widget dragComponent,
                 Widget handle,
                 Draggable.DraggableAppearance appearance)
Create a new draggable instance.

Parameters:
dragComponent - the widget to be dragged
handle - the widget drags will be initiated from
appearance - the appearance with which to render the component
Method Detail

addDragCancelHandler

public HandlerRegistration addDragCancelHandler(DragCancelEvent.DragCancelHandler handler)
Description copied from interface: DragCancelEvent.HasDragCancelHandlers
Adds a DragCancelEvent.DragCancelHandler handler for DragCancelEvent events.

Specified by:
addDragCancelHandler in interface DragCancelEvent.HasDragCancelHandlers
Parameters:
handler - the handler
Returns:
the registration for the event

addDragEndHandler

public HandlerRegistration addDragEndHandler(DragEndEvent.DragEndHandler handler)
Description copied from interface: DragEndEvent.HasDragEndHandlers
Adds a DragEndEvent.DragEndHandler handler for DragEndEvent events.

Specified by:
addDragEndHandler in interface DragEndEvent.HasDragEndHandlers
Parameters:
handler - the handler
Returns:
the registration for the event

addDragHandler

public HandlerRegistration addDragHandler(DragHandler handler)
Description copied from interface: DragHandler.HasDragHandlers
Adds a DragHandler handler for DragStartEvent , DragEndEvent, DragCancelEvent, DragMoveEvent events.

Specified by:
addDragHandler in interface DragHandler.HasDragHandlers
Parameters:
handler - the handler
Returns:
the registration for the event

addDragMoveHandler

public HandlerRegistration addDragMoveHandler(DragMoveEvent.DragMoveHandler handler)
Description copied from interface: DragMoveEvent.HasDragMoveHandlers
Adds a DragMoveEvent.DragMoveHandler handler for DragMoveEvent events.

Specified by:
addDragMoveHandler in interface DragMoveEvent.HasDragMoveHandlers
Parameters:
handler - the handler
Returns:
the registration for the event

addDragStartHandler

public HandlerRegistration addDragStartHandler(DragStartEvent.DragStartHandler handler)
Description copied from interface: DragStartEvent.HasDragStartHandlers
Adds a DragStartEvent.DragStartHandler handler for DragStartEvent events.

Specified by:
addDragStartHandler in interface DragStartEvent.HasDragStartHandlers
Parameters:
handler - the handler
Returns:
the registration for the event

cancelDrag

public void cancelDrag()
Cancels the drag if running.


getContainer

public Widget getContainer()
Returns the drag container.

Returns:
the drag container

getDragHandle

public Widget getDragHandle()
Returns the drag handle.

Returns:
the drag handle

getDragWidget

public Widget getDragWidget()
Returns the widget being dragged.

Returns:
the drag widget

getStartDragDistance

public int getStartDragDistance()
Returns the number of pixels the cursor must move before dragging begins.

Returns:
the distance in pixels

isConstrainClient

public boolean isConstrainClient()
Returns true if drag is constrained to the viewport.

Returns:
the constrain client state

isConstrainHorizontal

public boolean isConstrainHorizontal()
Returns true if horizontal movement is constrained.

Returns:
the horizontal constrain state

isConstrainVertical

public boolean isConstrainVertical()
Returns true if vertical movement is constrained.

Returns:
true if vertical movement is constrained

isDragging

public boolean isDragging()
Returns true if a drag is in progress.

Returns:
the drag state

isEnabled

public boolean isEnabled()
Returns true if enabled.

Returns:
the enable state

isMoveAfterProxyDrag

public boolean isMoveAfterProxyDrag()
Returns true if the drag widget is moved after a proxy drag.

Returns:
the move after proxy state

isSizeProxyToSource

public boolean isSizeProxyToSource()
Returns true if the proxy element is sized to match the drag widget.

Returns:
the size proxy to source state

isUpdateZIndex

public boolean isUpdateZIndex()
Returns true if the z-index is updated after a drag.

Returns:
the update z-index state

isUseProxy

public boolean isUseProxy()
Returns true if proxy element is enabled.

Returns:
the use proxy state

release

public void release()
Removes the drag handles.


setConstrainClient

public void setConstrainClient(boolean constrainClient)
True to set constrain movement to the viewport (defaults to true).

Parameters:
constrainClient - true to constrain to viewport

setConstrainHorizontal

public void setConstrainHorizontal(boolean constrainHorizontal)
True to stop horizontal movement (defaults to false).

Parameters:
constrainHorizontal - true to stop horizontal movement

setConstrainVertical

public void setConstrainVertical(boolean constrainVertical)
True to stop vertical movement (defaults to false).

Parameters:
constrainVertical - true to stop vertical movement

setContainer

public void setContainer(Widget container)
Specifies a container to which the drag widget is constrained.

Parameters:
container - the container

setEnabled

public void setEnabled(boolean enabled)
Enables dragging if the argument is true, and disables it otherwise.

Parameters:
enabled - the new enabled state

setMoveAfterProxyDrag

public void setMoveAfterProxyDrag(boolean moveAfterProxyDrag)
True to move source widget after a proxy drag (defaults to true).

Parameters:
moveAfterProxyDrag - true to move after a proxy drag

setProxy

public void setProxy(XElement element)
Sets the proxy element.

Parameters:
element - the proxy element

setProxyStyle

public void setProxyStyle(java.lang.String proxyClass)

setSizeProxyToSource

public void setSizeProxyToSource(boolean sizeProxyToSource)
True to set proxy dimensions the same as the drag widget (defaults to true).

Parameters:
sizeProxyToSource - true to update proxy size

setStartDragDistance

public void setStartDragDistance(int startDragDistance)
Specifies how far the cursor must move after mousedown to start dragging (defaults to 2).

Parameters:
startDragDistance - the start distance in pixels

setUpdateZIndex

public void setUpdateZIndex(boolean updateZIndex)
True if the CSS z-index should be updated on the widget being dragged. Setting this value to true will ensure that the dragged element is always displayed over all other widgets (defaults to true).

Parameters:
updateZIndex - true update the z-index

setUseProxy

public void setUseProxy(boolean useProxy)
True to use a proxy widget during drag operation (defaults to true).

Parameters:
useProxy - true use a proxy

setXConstraint

public void setXConstraint(int left,
                           int right)
Constrains the horizontal travel.

Parameters:
left - the number of pixels the element can move to the left
right - the number of pixels the element can move to the right

setYConstraint

public void setYConstraint(int top,
                           int bottom)
Constrains the vertical travel.

Parameters:
top - the number of pixels the element can move to the up
bottom - the number of pixels the element can move to the down


Copyright © 2012. All Rights Reserved.