Class DDGridLayout
java.lang.Object
com.vaadin.server.AbstractClientConnector
com.vaadin.ui.AbstractComponent
com.vaadin.ui.AbstractComponentContainer
com.vaadin.ui.AbstractLayout
com.vaadin.ui.GridLayout
io.jmix.ui.widget.addon.dragdroplayouts.DDGridLayout
- All Implemented Interfaces:
com.vaadin.event.ConnectorEventListener,com.vaadin.event.ContextClickEvent.ContextClickNotifier,com.vaadin.event.dd.DragSource,com.vaadin.event.dd.DropTarget,com.vaadin.event.LayoutEvents.LayoutClickNotifier,com.vaadin.event.MethodEventSource,com.vaadin.event.SerializableEventListener,com.vaadin.server.ClientConnector,com.vaadin.server.Sizeable,com.vaadin.server.VariableOwner,com.vaadin.shared.Connector,com.vaadin.ui.Component,com.vaadin.ui.Component.HasContextHelp,com.vaadin.ui.ComponentContainer,com.vaadin.ui.HasComponents,com.vaadin.ui.HasComponents.ComponentAttachDetachNotifier,com.vaadin.ui.Layout,com.vaadin.ui.Layout.AlignmentHandler,com.vaadin.ui.Layout.MarginHandler,com.vaadin.ui.Layout.SpacingHandler,com.vaadin.ui.LegacyComponent,DragFilterSupport,DragGrabFilterSupport,DragImageReferenceSupport,HasDragCaptionProvider,LayoutDragSource,ShimSupport,Serializable,Iterable<com.vaadin.ui.Component>,EventListener
public class DDGridLayout
extends com.vaadin.ui.GridLayout
implements LayoutDragSource, com.vaadin.event.dd.DropTarget, ShimSupport, com.vaadin.ui.LegacyComponent, DragFilterSupport, DragImageReferenceSupport, DragGrabFilterSupport, HasDragCaptionProvider
Grid layout with drag and drop support
- Since:
- 0.4.0
- See Also:
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionclassTarget details for a drop eventstatic classContains the transferable details when dragging from a GridLayout.Nested classes/interfaces inherited from class com.vaadin.ui.GridLayout
com.vaadin.ui.GridLayout.Area, com.vaadin.ui.GridLayout.OutOfBoundsException, com.vaadin.ui.GridLayout.OverlapsExceptionNested classes/interfaces inherited from class com.vaadin.server.AbstractClientConnector
com.vaadin.server.AbstractClientConnector.IncorrectConcurrentAccessHandlerNested classes/interfaces inherited from interface com.vaadin.server.ClientConnector
com.vaadin.server.ClientConnector.AttachEvent, com.vaadin.server.ClientConnector.AttachListener, com.vaadin.server.ClientConnector.ConnectorErrorEvent, com.vaadin.server.ClientConnector.DetachEvent, com.vaadin.server.ClientConnector.DetachListenerNested classes/interfaces inherited from interface com.vaadin.ui.Component
com.vaadin.ui.Component.ErrorEvent, com.vaadin.ui.Component.Event, com.vaadin.ui.Component.Focusable, com.vaadin.ui.Component.HasContextHelp, com.vaadin.ui.Component.ListenerNested classes/interfaces inherited from interface com.vaadin.ui.Component.HasContextHelp
com.vaadin.ui.Component.HasContextHelp.ContextHelpIconClickEvent, com.vaadin.ui.Component.HasContextHelp.ContextHelpIconClickListenerNested classes/interfaces inherited from interface com.vaadin.ui.HasComponents
com.vaadin.ui.HasComponents.ComponentAttachDetachNotifier, com.vaadin.ui.HasComponents.ComponentAttachEvent, com.vaadin.ui.HasComponents.ComponentAttachListener, com.vaadin.ui.HasComponents.ComponentDetachEvent, com.vaadin.ui.HasComponents.ComponentDetachListenerNested classes/interfaces inherited from interface com.vaadin.ui.Layout
com.vaadin.ui.Layout.AlignmentHandler, com.vaadin.ui.Layout.MarginHandler, com.vaadin.ui.Layout.SpacingHandlerNested classes/interfaces inherited from interface com.vaadin.server.Sizeable
com.vaadin.server.Sizeable.Unit -
Field Summary
Fields inherited from class com.vaadin.ui.AbstractComponent
componentErrorProvider, DESIGN_ATTR_PLAIN_TEXT, requiredErrorFields inherited from interface com.vaadin.server.Sizeable
SIZE_UNDEFINED, UNITS_CM, UNITS_EM, UNITS_EX, UNITS_INCH, UNITS_MM, UNITS_PERCENTAGE, UNITS_PICAS, UNITS_PIXELS, UNITS_POINTS -
Constructor Summary
ConstructorsConstructorDescriptionConstructs an empty grid layout that is extended as needed.DDGridLayout(int columns, int rows) Constructor for grid of given size (number of cells).DDGridLayout(int columns, int rows, com.vaadin.ui.Component... children) Constructor for grid of given size (number of cells). -
Method Summary
Modifier and TypeMethodDescriptionvoidbeforeClientResponse(boolean initial) voidchangeVariables(Object source, Map<String, Object> variables) Get a filter which determines which components can be dragged from the layout and which cannot.Returns the drag image providerGets the drag mode which controls how drags can be made.com.vaadin.event.dd.DropHandlergetState()com.vaadin.event.TransferablegetTransferable(Map<String, Object> rawVariables) booleanAre shims used over iframes so dragging is possiblevoidpaintContent(com.vaadin.server.PaintTarget target) voidsetComponentHorizontalDropRatio(float ratio) Sets the ratio which determines how a cell is divided into drop zones.voidsetComponentVerticalDropRatio(float ratio) Sets the ratio which determines how a cell is divided into drop zones.voidsetDragCaptionProvider(DragCaptionProvider provider) voidsetDragFilter(DragFilter dragFilter) Set a filter which determines which components can be dragged from the layout and which cannot.voidsetDragGrabFilter(DragGrabFilter dragGrabFilter) voidsetDragImageProvider(DragImageProvider provider) Set a component as a drag image for a component in the layout.voidsetDragMode(LayoutDragMode mode) Sets the drag mode which controls how drags can be made.voidsetDropHandler(com.vaadin.event.dd.DropHandler dropHandler) voidsetShim(boolean shim) False to disable the iframe shim used to enable dragging iframe based components (defaults to true).com.vaadin.event.dd.TargetDetailstranslateDropTargetDetails(Map<String, Object> clientVariables) Methods inherited from class com.vaadin.ui.GridLayout
addComponent, addComponent, addComponent, addLayoutClickListener, getColumnExpandRatio, getColumns, getComponent, getComponentAlignment, getComponentArea, getComponentCount, getCursorX, getCursorY, getCustomAttributes, getDefaultComponentAlignment, getMargin, getRowExpandRatio, getRows, getState, insertRow, isHideEmptyRowsAndColumns, isSpacing, iterator, newLine, readDesign, removeAllComponents, removeComponent, removeComponent, removeLayoutClickListener, removeRow, replaceComponent, setColumnExpandRatio, setColumns, setComponentAlignment, setCursorX, setCursorY, setDefaultComponentAlignment, setHideEmptyRowsAndColumns, setMargin, setMargin, setRowExpandRatio, setRows, setSpacing, space, writeDesignMethods inherited from class com.vaadin.ui.AbstractLayout
isRequiredIndicatorVisible, readMargin, setRequiredIndicatorVisible, writeMarginMethods inherited from class com.vaadin.ui.AbstractComponentContainer
addComponentAttachListener, addComponentDetachListener, addComponents, fireComponentAttachEvent, fireComponentDetachEvent, getComponentIterator, moveComponentsFrom, removeComponentAttachListener, removeComponentDetachListener, setHeight, setWidthMethods inherited from class com.vaadin.ui.AbstractComponent
addContextClickListener, addContextHelpIconClickListener, addListener, addShortcutListener, addStyleName, attach, detach, ensureContextHelpInitialized, findAncestor, fireComponentErrorEvent, fireComponentEvent, fireContextHelpClick, focus, getActionManager, getCaption, getComponentError, getComponentErrorProvider, getContextHelpText, getData, getDebugId, getDescription, getErrorMessage, getHeight, getHeightUnits, getIcon, getId, getJTestId, getLocale, getParent, getPrimaryStyleName, getRequiredError, getStyleName, getWidth, getWidthUnits, isCaptionAsHtml, isConnectorEnabled, isContextHelpTextHtmlEnabled, isEnabled, isOrHasAncestor, isReadOnly, isResponsive, isVisible, removeContextClickListener, removeListener, removeShortcutListener, removeStyleName, setCaption, setCaptionAsHtml, setComponentError, setComponentErrorProvider, setContextHelpText, setContextHelpTextHtmlEnabled, setData, setDebugId, setDescription, setDescription, setEnabled, setHeight, setHeightFull, setHeightUndefined, setIcon, setId, setJTestId, setLocale, setParent, setPrimaryStyleName, setReadOnly, setRequiredError, setResponsive, setSizeFull, setSizeUndefined, setStyleName, setVisible, setWidth, setWidthFull, setWidthUndefinedMethods inherited from class com.vaadin.server.AbstractClientConnector
addAttachListener, addDetachListener, addExtension, addListener, addListener, addListener, addListener, addListener, addListener, addMethodInvocationToQueue, createState, encodeState, equals, fireEvent, getAllChildrenIterable, getConnectorId, getErrorHandler, getExtensions, getIncorrectConcurrentAccessHandler, getListeners, getResource, getRpcManager, getRpcProxy, getSession, getStateType, getUI, handleConnectorRequest, hashCode, hasListeners, isAttached, isThis, markAsDirty, markAsDirtyRecursive, registerRpc, registerRpc, removeAttachListener, removeDetachListener, removeExtension, removeListener, removeListener, removeListener, removeListener, removeListener, requestRepaint, requestRepaintAll, retrievePendingRpcCalls, setConnectorResource, setErrorHandler, setIncorrectConcurrentAccessHandler, setResource, updateDiffstateMethods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface com.vaadin.server.ClientConnector
addAttachListener, addDetachListener, detach, encodeState, getErrorHandler, getExtensions, getRpcManager, getStateType, handleConnectorRequest, isAttached, isConnectorEnabled, markAsDirtyRecursive, removeAttachListener, removeDetachListener, removeExtension, requestRepaint, requestRepaintAll, retrievePendingRpcCalls, setErrorHandlerMethods inherited from interface com.vaadin.ui.Component
addListener, addStyleName, addStyleNames, attach, getCaption, getDescription, getIcon, getId, getJTestId, getLocale, getParent, getPrimaryStyleName, getStyleName, getUI, isEnabled, isVisible, readDesign, removeListener, removeStyleName, removeStyleNames, setCaption, setEnabled, setIcon, setId, setJTestId, setParent, setPrimaryStyleName, setStyleName, setStyleName, setVisible, writeDesignMethods inherited from interface com.vaadin.ui.ComponentContainer
addComponents, getComponentIterator, moveComponentsFromMethods inherited from interface com.vaadin.shared.Connector
getConnectorIdMethods inherited from interface com.vaadin.ui.HasComponents.ComponentAttachDetachNotifier
addComponentAttachListener, addComponentDetachListener, removeComponentAttachListener, removeComponentDetachListenerMethods inherited from interface java.lang.Iterable
forEach, spliteratorMethods inherited from interface com.vaadin.ui.LegacyComponent
markAsDirtyMethods inherited from interface com.vaadin.server.Sizeable
getHeight, getHeightUnits, getWidth, getWidthUnits, setHeight, setHeight, setHeightFull, setHeightUndefined, setSizeFull, setSizeUndefined, setWidth, setWidth, setWidthFull, setWidthUndefinedMethods inherited from interface com.vaadin.server.VariableOwner
isEnabled
-
Constructor Details
-
DDGridLayout
public DDGridLayout(int columns, int rows) Constructor for grid of given size (number of cells). Note that grid's final size depends on the items that are added into the grid. Grid grows if you add components outside the grid's area.- Parameters:
columns- Number of columns in the grid.rows- Number of rows in the grid.
-
DDGridLayout
public DDGridLayout(int columns, int rows, com.vaadin.ui.Component... children) Constructor for grid of given size (number of cells). Note that grid's final size depends on the items that are added into the grid. Grid grows if you add components outside the grid's area.- Parameters:
columns- Number of columns in the grid.rows- Number of rows in the grid.children- Child components
-
DDGridLayout
public DDGridLayout()Constructs an empty grid layout that is extended as needed.
-
-
Method Details
-
getDragGrabFilter
- Specified by:
getDragGrabFilterin interfaceDragGrabFilterSupport- Returns:
- Drag grab filter
-
setDragGrabFilter
- Specified by:
setDragGrabFilterin interfaceDragGrabFilterSupport- Parameters:
dragGrabFilter- drag grab filter
-
setDragCaptionProvider
- Specified by:
setDragCaptionProviderin interfaceHasDragCaptionProvider
-
getDragCaptionProvider
- Specified by:
getDragCaptionProviderin interfaceHasDragCaptionProvider
-
paintContent
public void paintContent(com.vaadin.server.PaintTarget target) throws com.vaadin.server.PaintException - Specified by:
paintContentin interfacecom.vaadin.ui.LegacyComponent- Throws:
com.vaadin.server.PaintException
-
changeVariables
- Specified by:
changeVariablesin interfacecom.vaadin.server.VariableOwner
-
getDropHandler
public com.vaadin.event.dd.DropHandler getDropHandler()- Specified by:
getDropHandlerin interfacecom.vaadin.event.dd.DropTarget
-
setDropHandler
public void setDropHandler(com.vaadin.event.dd.DropHandler dropHandler) -
getDragMode
Gets the drag mode which controls how drags can be made. The layout supports two modes, NONE which disables dragging from the layout and CLONE which enables dragging the component from the layout.- Specified by:
getDragModein interfaceLayoutDragSource- Returns:
- The drag mode
-
setDragMode
Sets the drag mode which controls how drags can be made. The layout supports two modes, NONE which disables dragging from the layout and CLONE which enables dragging the component from the layout.- Specified by:
setDragModein interfaceLayoutDragSource- Parameters:
mode- The mode to set
-
translateDropTargetDetails
public com.vaadin.event.dd.TargetDetails translateDropTargetDetails(Map<String, Object> clientVariables) - Specified by:
translateDropTargetDetailsin interfacecom.vaadin.event.dd.DropTarget
-
getTransferable
- Specified by:
getTransferablein interfacecom.vaadin.event.dd.DragSource
-
setComponentHorizontalDropRatio
public void setComponentHorizontalDropRatio(float ratio) Sets the ratio which determines how a cell is divided into drop zones. The ratio is measured from the left and right borders. For example, setting the ratio to 0.3 will divide the drop zone in three equal parts (left,middle,right). Setting the ratio to 0.5 will disable dropping in the middle and setting it to 0 will disable dropping at the sides.- Parameters:
ratio- A ratio between 0 and 0.5. Default is 0.2
-
setComponentVerticalDropRatio
public void setComponentVerticalDropRatio(float ratio) Sets the ratio which determines how a cell is divided into drop zones. The ratio is measured from the top and bottom borders. For example, setting the ratio to 0.3 will divide the drop zone in three equal parts (top,center,bottom). Setting the ratio to 0.5 will disable dropping in the center and setting it to 0 will disable dropping at the sides.- Parameters:
ratio- A ratio between 0 and 0.5. Default is 0.2
-
setShim
public void setShim(boolean shim) False to disable the iframe shim used to enable dragging iframe based components (defaults to true).- Specified by:
setShimin interfaceShimSupport- Parameters:
shim- Are the iframes shimmed
-
isShimmed
public boolean isShimmed()Are shims used over iframes so dragging is possible- Specified by:
isShimmedin interfaceShimSupport- Returns:
- Are the iframes shimmed
-
getDragFilter
Get a filter which determines which components can be dragged from the layout and which cannot. This does not effect the drag mode, but only provides a means to make exceptions in the drag mode. The drag filter is only used when dragging is enabled in the layout, i.e drag mode is NOTLayoutDragMode.NONEBy default the drag filter permits dragging all components when the layout drag mode allows it.- Specified by:
getDragFilterin interfaceDragFilterSupport- Specified by:
getDragFilterin interfaceLayoutDragSource- Returns:
- dragFilter
The filter to use, by default
DragFilter.ALLis used.
-
setDragFilter
Set a filter which determines which components can be dragged from the layout and which cannot. This does not effect the drag mode, but only provides a means to make exceptions in the drag mode. The drag filter is only used when dragging is enabled in the layout, i.e drag mode is NOTLayoutDragMode.NONEBy default the drag filter permits dragging all components when the layout drag mode allows it.- Specified by:
setDragFilterin interfaceDragFilterSupport- Specified by:
setDragFilterin interfaceLayoutDragSource- Parameters:
dragFilter- The filter to use, by defaultDragFilter.ALLis used.
-
getState
- Overrides:
getStatein classcom.vaadin.ui.GridLayout
-
beforeClientResponse
public void beforeClientResponse(boolean initial) - Specified by:
beforeClientResponsein interfacecom.vaadin.server.ClientConnector- Overrides:
beforeClientResponsein classcom.vaadin.ui.GridLayout
-
setDragImageProvider
Description copied from interface:DragImageReferenceSupportSet a component as a drag image for a component in the layout. The drag image will be shown instead of the component when the user drag a component in the layout.- Specified by:
setDragImageProviderin interfaceDragImageReferenceSupport- Parameters:
provider- The image provider
-
getDragImageProvider
Description copied from interface:DragImageReferenceSupportReturns the drag image provider- Specified by:
getDragImageProviderin interfaceDragImageReferenceSupport- Returns:
- the image provider
-