eu.webtoolkit.jwt
Class WAbstractItemView

java.lang.Object
  extended by eu.webtoolkit.jwt.WObject
      extended by eu.webtoolkit.jwt.WWidget
          extended by eu.webtoolkit.jwt.WCompositeWidget
              extended by eu.webtoolkit.jwt.WAbstractItemView
Direct Known Subclasses:
WTableView, WTreeView

public abstract class WAbstractItemView
extends WCompositeWidget

An abstract base class for item Views.

See WTableView or WTreeView for a description.

i18n

The strings used in this class can be translated by overriding the default values for the following localization keys:


Nested Class Summary
static class WAbstractItemView.EditOption
          Enumeration that specifies editing options.
static class WAbstractItemView.EditTrigger
          Enumeration that specifies the user action that triggers editing.
static class WAbstractItemView.ScrollHint
          Enumeration that specifies a scrolling option.
 
Constructor Summary
protected WAbstractItemView()
          Creates a new item view.
protected WAbstractItemView(WContainerWidget parent)
          Creates a new item view.
 
Method Summary
 Signal2<WModelIndex,WMouseEvent> clicked()
          Signal emitted when an item is clicked.
 void closeEditor(WModelIndex index)
          Closes the editor for the given index.
 void closeEditor(WModelIndex index, boolean saveData)
          Closes the editor for the given index.
 void closeEditors()
          Closes all open editors.
 void closeEditors(boolean saveData)
          Closes all open editors.
 Signal2<java.lang.Integer,WLength> columnResized()
          Returns the signal emitted when a column is resized by the user.
protected  WWidget createExtraHeaderWidget(int column)
          Create an extra widget in the header.
 Signal2<WModelIndex,WMouseEvent> doubleClicked()
          Signal emitted when an item is double clicked.
protected  void dropEvent(WDropEvent e, WModelIndex index)
          Handles a drop event (drag & drop).
 void edit(WModelIndex index)
          Opens an editor for the given index.
protected  WWidget extraHeaderWidget(int column)
          Returns the extra header widget.
 AlignmentFlag getColumnAlignment(int column)
          Returns the content alignment for a column.
 WLength getColumnWidth(int column)
          Returns the column width.
protected  WWidget getCreatePageNavigationBar()
          Returns a page navigation widget.
abstract  int getCurrentPage()
          Returns the current page.
 java.util.EnumSet<WAbstractItemView.EditOption> getEditOptions()
          Returns the editing options.
 java.util.EnumSet<WAbstractItemView.EditTrigger> getEditTriggers()
          Returns the editing triggers.
 AlignmentFlag getHeaderAlignment(int column)
          Deprecated. use horizontalHeaderAlignment() instead.
 WLength getHeaderHeight()
          Returns the header height.
 WAbstractItemDelegate getItemDelegate()
          Returns the default item delegate.
 WAbstractItemDelegate getItemDelegate(int column)
          Returns the delegate for a column.
 WAbstractItemDelegate getItemDelegate(WModelIndex index)
          Returns the delegate for rendering an item.
 WAbstractItemDelegate getItemDelegateForColumn(int column)
          Returns the delegate that was set for a column.
 WAbstractItemModel getModel()
          Returns the model.
abstract  int getPageCount()
          Returns the number of pages.
abstract  int getPageSize()
          Returns the page size.
 WModelIndex getRootIndex()
          Returns the root index.
 int getRowHeaderCount()
          Returns the number of columns that are used as row headers.
 WLength getRowHeight()
          Returns the row height.
 java.util.SortedSet<WModelIndex> getSelectedIndexes()
          Returns the set of selected items.
 SelectionBehavior getSelectionBehavior()
          Returns the selection behaviour.
 SelectionMode getSelectionMode()
          Returns the selection mode.
 WItemSelectionModel getSelectionModel()
          Returns the selection model.
 int getSortColumn()
          Returns the current sorting columm.
 SortOrder getSortOrder()
          Returns the current sorting order.
 boolean hasAlternatingRowColors()
          Returns whether alternating row colors are used.
 void hideColumn(int column)
          Hides a column.
 AlignmentFlag horizontalHeaderAlignment(int column)
          Returns the horizontal header alignment for a column.
 boolean isColumn1Fixed()
          Deprecated. Use getRowHeaderCount() instead.
 boolean isColumnHidden(int column)
          Returns if a column is hidden.
 boolean isColumnResizeEnabled()
          Returns whether column resizing is enabled.
 boolean isEditing(WModelIndex index)
          Returns whether an editor is open for a given index.
 boolean isSelected(WModelIndex index)
          Returns wheter an item is selected.
 boolean isSortingEnabled()
          Returns whether sorting is enabled.
 boolean isSortingEnabled(int column)
          Returns whether sorting is enabled for a single column.
 boolean isValid(WModelIndex index)
          Returns whether an editor's state is valid.
protected  void modelHeaderDataChanged(Orientation orientation, int start, int end)
           
 Signal2<WModelIndex,WMouseEvent> mouseWentDown()
          Signal emitted when a mouse button is pressed down.
 Signal2<WModelIndex,WMouseEvent> mouseWentUp()
          Signal emitted when the mouse button is released.
 Signal pageChanged()
          Signal emitted when page information was updated.
 void remove()
          Destructor.
protected  void saveExtraHeaderWidgets()
           
 void scrollTo(WModelIndex index)
          Scrolls the view to an item.
abstract  void scrollTo(WModelIndex index, WAbstractItemView.ScrollHint hint)
          Scrolls the view to an item.
 void select(WModelIndex index)
          Selects a single item.
 void select(WModelIndex index, SelectionFlag option)
          Selects a single item.
 Signal selectionChanged()
          Signal emitted when the selection is changed.
 void setAlternatingRowColors(boolean enable)
          Sets if alternating row colors are to be used.
 void setColumn1Fixed(boolean enable)
          Deprecated. Use setRowHeaderCount() instead.
 void setColumnAlignment(int column, AlignmentFlag alignment)
          Sets the content alignment for a column.
abstract  void setColumnBorder(WColor color)
          Sets the column border color.
 void setColumnHidden(int column, boolean hidden)
          Changes the visibility of a column.
 void setColumnResizeEnabled(boolean enabled)
          Enables interactive column resizing.
abstract  void setColumnWidth(int column, WLength width)
          Sets the column width.
abstract  void setCurrentPage(int page)
          Sets the current page.
 void setDragEnabled(boolean enable)
          Enables the selection to be dragged (drag & drop).
 void setDropsEnabled(boolean enable)
          Enables drop operations (drag & drop).
 void setEditOptions(java.util.EnumSet<WAbstractItemView.EditOption> editOptions)
          Configures editing options.
 void setEditOptions(WAbstractItemView.EditOption editOption, WAbstractItemView.EditOption... editOptions)
          Configures editing options.
 void setEditTriggers(java.util.EnumSet<WAbstractItemView.EditTrigger> editTriggers)
          Configures what actions should trigger editing.
 void setEditTriggers(WAbstractItemView.EditTrigger editTrigger, WAbstractItemView.EditTrigger... editTriggers)
          Configures what actions should trigger editing.
 void setHeaderAlignment(int column, AlignmentFlag alignmen, AlignmentFlag... alignment)
          Sets the header alignment for a column.
 void setHeaderAlignment(int column, java.util.EnumSet<AlignmentFlag> alignment)
          Sets the header alignment for a column.
 void setHeaderHeight(WLength height)
          Sets the header height.
 void setHeaderHeight(WLength height, boolean multiLine)
          Deprecated. use setHeaderHeight(), setHeaderAlignment() and setHeaderWordWrap() instead.
 void setHeaderItemDelegate(WAbstractItemDelegate delegate)
          Sets the header item delegate.
 void setHeaderWordWrap(int column, boolean enabled)
          Configures header text wrapping.
 void setItemDelegate(WAbstractItemDelegate delegate)
          Sets the default item delegate.
 void setItemDelegateForColumn(int column, WAbstractItemDelegate delegate)
          Sets the delegate for a column.
 void setModel(WAbstractItemModel model)
          Sets the model.
 void setRootIndex(WModelIndex rootIndex)
          Sets the root index.
 void setRowHeaderCount(int count)
          Configures the number of columns that are used as row headers.
 void setRowHeight(WLength rowHeight)
          Sets the row height.
 void setSelectedIndexes(java.util.SortedSet<WModelIndex> indexes)
          Sets the selected items.
 void setSelectionBehavior(SelectionBehavior behavior)
          Changes the selection behaviour.
 void setSelectionMode(SelectionMode mode)
          Sets the selection mode.
 void setSortingEnabled(boolean enabled)
          Enables or disables sorting for all columns.
 void setSortingEnabled(int column, boolean enabled)
          Enables or disables sorting for a single column.
protected  boolean shiftEditors(WModelIndex parent, int start, int count, boolean persistWhenShifted)
           
 void showColumn(int column)
          Shows a column.
 void sortByColumn(int column, SortOrder order)
          Sorts the data according to a column.
 WValidator.State validateEditor(WModelIndex index)
          Validates the editor for the given index.
 WValidator.State validateEditors()
          Validates all editors.
 AlignmentFlag verticalHeaderAlignment(int column)
          Returns the vertical header alignment for a column.
 
Methods inherited from class eu.webtoolkit.jwt.WCompositeWidget
addStyleClass, boxBorder, boxPadding, callJavaScriptMember, doJavaScript, enableAjax, find, getAttributeValue, getClearSides, getDecorationStyle, getFloatSide, getHeight, getId, getImplementation, getJavaScriptMember, getLineHeight, getMargin, getMaximumHeight, getMaximumWidth, getMinimumHeight, getMinimumWidth, getOffset, getPositionScheme, getStyleClass, getTabIndex, getToolTip, getVerticalAlignment, getVerticalAlignmentLength, getWidth, isDisabled, isEnabled, isHidden, isHiddenKeepsGeometry, isInline, isLoaded, isPopup, isVisible, load, propagateSetEnabled, refresh, removeStyleClass, resize, setAttributeValue, setClearSides, setDecorationStyle, setDisabled, setFloatSide, setHidden, setHiddenKeepsGeometry, setId, setImplementation, setInline, setJavaScriptMember, setLineHeight, setMargin, setMaximumSize, setMinimumSize, setOffsets, setPopup, setPositionScheme, setSelectable, setStyleClass, setTabIndex, setToolTip, setVerticalAlignment
 
Methods inherited from class eu.webtoolkit.jwt.WWidget
acceptDrops, acceptDrops, addCssRule, addCssRule, addStyleClass, animateHide, animateShow, containsExposed, disable, dropEvent, enable, getDrop, getJsRef, getParent, hide, htmlText, isLayoutSizeAware, isRendered, layoutSizeChanged, positionAt, positionAt, removeStyleClass, resize, setClearSides, setHeight, setHidden, setLayoutSizeAware, setMargin, setMargin, setMargin, setMargin, setMargin, setOffsets, setOffsets, setOffsets, setOffsets, setOffsets, setToolTip, setVerticalAlignment, setWidth, show, stopAcceptDrops, toggleStyleClass, toggleStyleClass, tr
 
Methods inherited from class eu.webtoolkit.jwt.WObject
getObjectName, setObjectName
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

WAbstractItemView

protected WAbstractItemView(WContainerWidget parent)
Creates a new item view.


WAbstractItemView

protected WAbstractItemView()
Creates a new item view.

Calls this((WContainerWidget)null)

Method Detail

remove

public void remove()
Description copied from class: WWidget
Destructor.

Deletes a widget and all children (recursively). If the widget is contained in another widget, it is removed first.

Overrides:
remove in class WCompositeWidget
See Also:
WContainerWidget.removeWidget(WWidget widget)

setModel

public void setModel(WAbstractItemModel model)
Sets the model.

The View will display data of the given model and changes in the model are reflected by the View.

The initial model is null.

See Also:
setRootIndex(WModelIndex rootIndex)

getModel

public WAbstractItemModel getModel()
Returns the model.

See Also:
setModel(WAbstractItemModel model)

setRootIndex

public void setRootIndex(WModelIndex rootIndex)
Sets the root index.

The root index is the model index that is considered the root node. This node itself is not rendered, but its children are.

The default value is null, corresponding to the model's root node.

See Also:
setModel(WAbstractItemModel model)

getRootIndex

public WModelIndex getRootIndex()
Returns the root index.

See Also:
setRootIndex(WModelIndex rootIndex)

setItemDelegate

public void setItemDelegate(WAbstractItemDelegate delegate)
Sets the default item delegate.

The previous delegate is not deleted. This item delegate is for all columns for which no specific item delegate is set.

The default item delegate is a WItemDelegate.

See Also:
setItemDelegateForColumn(int column, WAbstractItemDelegate delegate)

getItemDelegate

public WAbstractItemDelegate getItemDelegate()
Returns the default item delegate.

See Also:
setItemDelegate(WAbstractItemDelegate delegate)

setItemDelegateForColumn

public void setItemDelegateForColumn(int column,
                                     WAbstractItemDelegate delegate)
Sets the delegate for a column.

A delegate previously set (if any) is not deleted.

See Also:
setItemDelegate(WAbstractItemDelegate delegate)

getItemDelegateForColumn

public WAbstractItemDelegate getItemDelegateForColumn(int column)
Returns the delegate that was set for a column.

Returns null if no delegate was set for the column.

See Also:
setItemDelegateForColumn(int column, WAbstractItemDelegate delegate)

getItemDelegate

public WAbstractItemDelegate getItemDelegate(WModelIndex index)
Returns the delegate for rendering an item.

See Also:
setItemDelegateForColumn(int column, WAbstractItemDelegate delegate), setItemDelegate(WAbstractItemDelegate delegate)

getItemDelegate

public WAbstractItemDelegate getItemDelegate(int column)
Returns the delegate for a column.

Returns either the delegate that was set for the column, or the default delegate.


setHeaderItemDelegate

public void setHeaderItemDelegate(WAbstractItemDelegate delegate)
Sets the header item delegate.

This item delegate is used for rendering items in the header.

The previous delegate is not deleted. This item delegate is for all columns for which no specific item delegate is set.

The default item delegate is a WItemDelegate.


setColumnAlignment

public void setColumnAlignment(int column,
                               AlignmentFlag alignment)
Sets the content alignment for a column.

The default value is AlignmentFlag.AlignLeft.

See Also:
setHeaderAlignment(int column, EnumSet alignment)

getColumnAlignment

public AlignmentFlag getColumnAlignment(int column)
Returns the content alignment for a column.

See Also:
setColumnAlignment(int column, AlignmentFlag alignment)

setHeaderAlignment

public void setHeaderAlignment(int column,
                               java.util.EnumSet<AlignmentFlag> alignment)
Sets the header alignment for a column.

The default alignemnt is horizontally left, and vertically centered. ( AlignmentFlag.AlignLeft | AlignmentFlag.AlignMiddle).

Valid options for horizontal alignment are AlignmentFlag.AlignLeft, AlignmentFlag.AlignCenter or AlignmentFlag.AlignRight.

Valid options for vertical alignment are AlignmentFlag.AlignMiddle or AlignmentFlag.AlignTop. In the latter case, other contents may be added below the label in createExtraHeaderWidget().

See Also:
setColumnAlignment(int column, AlignmentFlag alignment)

setHeaderAlignment

public final void setHeaderAlignment(int column,
                                     AlignmentFlag alignmen,
                                     AlignmentFlag... alignment)
Sets the header alignment for a column.

Calls setHeaderAlignment(column, EnumSet.of(alignmen, alignment))


getHeaderAlignment

public AlignmentFlag getHeaderAlignment(int column)
Deprecated. use horizontalHeaderAlignment() instead.

Returns the horizontal header alignment for a column (deprecated).

See Also:
setHeaderAlignment(int column, EnumSet alignment)

horizontalHeaderAlignment

public AlignmentFlag horizontalHeaderAlignment(int column)
Returns the horizontal header alignment for a column.

See Also:
setHeaderAlignment(int column, EnumSet alignment)

verticalHeaderAlignment

public AlignmentFlag verticalHeaderAlignment(int column)
Returns the vertical header alignment for a column.

See Also:
setHeaderAlignment(int column, EnumSet alignment)

setHeaderWordWrap

public void setHeaderWordWrap(int column,
                              boolean enabled)
Configures header text wrapping.

This setting only affects a multiline header, and the default value is true. When set to false, the header itself will not wrap (as with a vertically centered header), and thus extra widgets will not shift down when there is a long header label.


setAlternatingRowColors

public void setAlternatingRowColors(boolean enable)
Sets if alternating row colors are to be used.

Configure whether rows get alternating background colors, defined by the current CSS theme.

The default value is false.


hasAlternatingRowColors

public boolean hasAlternatingRowColors()
Returns whether alternating row colors are used.

When enabled, rows are displayed in alternating row colors, according to the current theme's definition.

See Also:
setAlternatingRowColors(boolean enable)

sortByColumn

public void sortByColumn(int column,
                         SortOrder order)
Sorts the data according to a column.

Sorts the data according to data in column column and sort order order.

The default sorting column is -1: the model is unsorted.

See Also:
WAbstractItemModel.sort(int column, SortOrder order)

getSortColumn

public int getSortColumn()
Returns the current sorting columm.

See Also:
sortByColumn(int column, SortOrder order), getSortOrder()

getSortOrder

public SortOrder getSortOrder()
Returns the current sorting order.

See Also:
sortByColumn(int column, SortOrder order), getSortColumn()

setSortingEnabled

public void setSortingEnabled(boolean enabled)
Enables or disables sorting for all columns.

Enable or disable sorting by the user on all columns.

Sorting is enabled by default.

See Also:
WAbstractItemModel.sort(int column, SortOrder order)

setSortingEnabled

public void setSortingEnabled(int column,
                              boolean enabled)
Enables or disables sorting for a single column.

Enable or disable sorting by the user for a specific column.

Sorting is enabled by default.

See Also:
WAbstractItemModel.sort(int column, SortOrder order)

isSortingEnabled

public boolean isSortingEnabled()
Returns whether sorting is enabled.

See Also:
setSortingEnabled(boolean enabled)

isSortingEnabled

public boolean isSortingEnabled(int column)
Returns whether sorting is enabled for a single column.

See Also:
setSortingEnabled(boolean enabled)

setColumnResizeEnabled

public void setColumnResizeEnabled(boolean enabled)
Enables interactive column resizing.

Enable or disable column resize handles for interactive resizing of the columns.

Column resizing is enabled by default when JavaScript is available.

See Also:
setColumnResizeEnabled(boolean enabled)

isColumnResizeEnabled

public boolean isColumnResizeEnabled()
Returns whether column resizing is enabled.

See Also:
setColumnResizeEnabled(boolean enabled)

setSelectionBehavior

public void setSelectionBehavior(SelectionBehavior behavior)
Changes the selection behaviour.

The selection behavior indicates whether whole rows or individual items can be selected. It is a property of the getSelectionModel().

By default, selection operates on rows ( SelectRows), in which case model indexes will always be in the first column (column null).

Alternatively, you can allow selection for individual items ( SelectItems).

See Also:
WItemSelectionModel.setSelectionBehavior(SelectionBehavior behavior), setSelectionMode(SelectionMode mode)

getSelectionBehavior

public SelectionBehavior getSelectionBehavior()
Returns the selection behaviour.

See Also:
setSelectionBehavior(SelectionBehavior behavior)

setSelectionMode

public void setSelectionMode(SelectionMode mode)
Sets the selection mode.

By default selection is disabled (NoSelection).

See Also:
setSelectionBehavior(SelectionBehavior behavior)

getSelectionMode

public SelectionMode getSelectionMode()
Returns the selection mode.

See Also:
setSelectionMode(SelectionMode mode)

getSelectionModel

public WItemSelectionModel getSelectionModel()
Returns the selection model.

The selection model keeps track of the currently selected items.


setSelectedIndexes

public void setSelectedIndexes(java.util.SortedSet<WModelIndex> indexes)
Sets the selected items.

Replaces the current selection with indexes.

See Also:
select(WModelIndex index, SelectionFlag option), getSelectionModel()

select

public void select(WModelIndex index,
                   SelectionFlag option)
Selects a single item.

See Also:
setSelectedIndexes(SortedSet indexes), getSelectionModel()

select

public final void select(WModelIndex index)
Selects a single item.

Calls select(index, SelectionFlag.Select)


isSelected

public boolean isSelected(WModelIndex index)
Returns wheter an item is selected.

This is a convenience method for:

 selectionModel().isSelected(index)
 

See Also:
getSelectedIndexes(), select(WModelIndex index, SelectionFlag option), getSelectionModel()

getSelectedIndexes

public java.util.SortedSet<WModelIndex> getSelectedIndexes()
Returns the set of selected items.

The model indexes are returned as a set, topologically ordered (in the order they appear in the view).

This is a convenience method for:

 selectionModel().selectedIndexes()
 

See Also:
setSelectedIndexes(SortedSet indexes)

setDragEnabled

public void setDragEnabled(boolean enable)
Enables the selection to be dragged (drag & drop).

To enable dragging of the selection, you first need to enable selection using setSelectionMode().

Whether an individual item may be dragged is controlled by the item's ItemIsDragEnabled flag. The selection can be dragged only if all items currently selected can be dragged.

See Also:
setDropsEnabled(boolean enable)

setDropsEnabled

public void setDropsEnabled(boolean enable)
Enables drop operations (drag & drop).

When drop is enabled, the tree view will indicate that something may be dropped when the mime-type of the dragged object is compatible with one of the model's accepted drop mime-types (see WAbstractItemModel#getAcceptDropMimeTypes()) or this widget's accepted drop mime-types (see WWidget#acceptDrops()), and the target item has drop enabled (which is controlled by the item's ItemIsDropEnabled flag).

Drop events must be handled in dropEvent().

See Also:
setDragEnabled(boolean enable), dropEvent(WDropEvent e, WModelIndex index)

setRowHeight

public void setRowHeight(WLength rowHeight)
Sets the row height.

The view renders all rows with a same height. This method configures this row height.

The default value is 20 pixels.

Note: The height must be specified in WLength.Unit.Pixel units.

See Also:
setColumnWidth(int column, WLength width)

getRowHeight

public WLength getRowHeight()
Returns the row height.


setColumnWidth

public abstract void setColumnWidth(int column,
                                    WLength width)
Sets the column width.

The default column width is 150 pixels.

Note: The actual space occupied by each column is the column width augmented by 7 pixels for internal padding and a border.


getColumnWidth

public WLength getColumnWidth(int column)
Returns the column width.

See Also:
setColumnWidth(int column, WLength width)

setColumnHidden

public void setColumnHidden(int column,
                            boolean hidden)
Changes the visibility of a column.

See Also:
isColumnHidden(int column)

isColumnHidden

public boolean isColumnHidden(int column)
Returns if a column is hidden.

See Also:
setColumnHidden(int column, boolean hidden)

hideColumn

public void hideColumn(int column)
Hides a column.

See Also:
showColumn(int column), setColumnHidden(int column, boolean hidden)

showColumn

public void showColumn(int column)
Shows a column.

See Also:
hideColumn(int column), setColumnHidden(int column, boolean hidden)

setColumnBorder

public abstract void setColumnBorder(WColor color)
Sets the column border color.

The default border color is defined by the CSS theme.


setHeaderHeight

public void setHeaderHeight(WLength height)
Sets the header height.

The default value is 20 pixels.


setHeaderHeight

public void setHeaderHeight(WLength height,
                            boolean multiLine)
Deprecated. use setHeaderHeight(), setHeaderAlignment() and setHeaderWordWrap() instead.

Sets the header height, and vertical alignment (deprecated). By default, the header text is a single line that is centered vertically.

Along with setting the header height, this also configures vertical aligment and header label word wrapping. This has been deprecated in favour of the more fine grained control using setHeaderAlignment() and setHeaderWordWrap().

When multiLine is false, the header alignment is set to AlignmentFlag.AlignMiddle. When multiLine is true, the header alignment is set to AlignmentFlag.AlignTop and header word wrap is set to true.


getHeaderHeight

public WLength getHeaderHeight()
Returns the header height.

See Also:
setHeaderHeight(WLength height)

getPageCount

public abstract int getPageCount()
Returns the number of pages.

When Ajax/JavaScript is not available, the view will use a paging navigation bar to allow scrolling through the data. This returns the number of pages currently shown.

See Also:
getCreatePageNavigationBar(), pageChanged()

getPageSize

public abstract int getPageSize()
Returns the page size.

When Ajax/JavaScript is not available, the view will use a paging navigation bar to allow scrolling through the data. This returns the number of items per page.

See Also:
getCreatePageNavigationBar(), pageChanged()

getCurrentPage

public abstract int getCurrentPage()
Returns the current page.

When Ajax/JavaScript is not available, the view will use a paging navigation bar to allow scrolling through the data. This returns the current page (between 0 and getPageCount() - 1).

See Also:
getCreatePageNavigationBar(), pageChanged()

setCurrentPage

public abstract void setCurrentPage(int page)
Sets the current page.

When Ajax/JavaScript is not available, the view will use a paging navigation bar to allow scrolling through the data. This method can be used to change the current page.

See Also:
getCreatePageNavigationBar(), pageChanged()

scrollTo

public abstract void scrollTo(WModelIndex index,
                              WAbstractItemView.ScrollHint hint)
Scrolls the view to an item.

Scrolls the view to ensure that the item which represents the provided index is visible. A hint may indicate how the item should appear in the viewport (if possible).

Note: Currently only implemented to scroll to the correct row, not taking into account the column.


scrollTo

public final void scrollTo(WModelIndex index)
Scrolls the view to an item.

Calls scrollTo(index, WAbstractItemView.ScrollHint.EnsureVisible)


setEditTriggers

public void setEditTriggers(java.util.EnumSet<WAbstractItemView.EditTrigger> editTriggers)
Configures what actions should trigger editing.

The default value is DoubleClicked.

See Also:
edit(WModelIndex index)

setEditTriggers

public final void setEditTriggers(WAbstractItemView.EditTrigger editTrigger,
                                  WAbstractItemView.EditTrigger... editTriggers)
Configures what actions should trigger editing.

Calls setEditTriggers(EnumSet.of(editTrigger, editTriggers))


getEditTriggers

public java.util.EnumSet<WAbstractItemView.EditTrigger> getEditTriggers()
Returns the editing triggers.

See Also:
setEditTriggers(EnumSet editTriggers)

setEditOptions

public void setEditOptions(java.util.EnumSet<WAbstractItemView.EditOption> editOptions)
Configures editing options.

The default value is SingleEditor;


setEditOptions

public final void setEditOptions(WAbstractItemView.EditOption editOption,
                                 WAbstractItemView.EditOption... editOptions)
Configures editing options.

Calls setEditOptions(EnumSet.of(editOption, editOptions))


getEditOptions

public java.util.EnumSet<WAbstractItemView.EditOption> getEditOptions()
Returns the editing options.

See Also:
setEditOptions(EnumSet editOptions)

edit

public void edit(WModelIndex index)
Opens an editor for the given index.

Unless multiple editors are enabled, any other open editor is closed first.

See Also:
setEditTriggers(EnumSet editTriggers), setEditOptions(EnumSet editOptions), closeEditor(WModelIndex index, boolean saveData)

closeEditor

public void closeEditor(WModelIndex index,
                        boolean saveData)
Closes the editor for the given index.

If saveData is true, then the currently edited value is saved first to the model.

See Also:
edit(WModelIndex index)

closeEditor

public final void closeEditor(WModelIndex index)
Closes the editor for the given index.

Calls closeEditor(index, true)


closeEditors

public void closeEditors(boolean saveData)
Closes all open editors.

If saveData is true, then the currently edited values are saved to the model before closing the editor.

See Also:
closeEditor(WModelIndex index, boolean saveData)

closeEditors

public final void closeEditors()
Closes all open editors.

Calls closeEditors(true)


validateEditor

public WValidator.State validateEditor(WModelIndex index)
Validates the editor for the given index.

Validation is done by invoking WAbstractItemDelegate#validate().


validateEditors

public WValidator.State validateEditors()
Validates all editors.

See Also:
validateEditor(WModelIndex index)

isEditing

public boolean isEditing(WModelIndex index)
Returns whether an editor is open for a given index.

See Also:
edit(WModelIndex index)

isValid

public boolean isValid(WModelIndex index)
Returns whether an editor's state is valid.


clicked

public Signal2<WModelIndex,WMouseEvent> clicked()
Signal emitted when an item is clicked.

See Also:
doubleClicked()

doubleClicked

public Signal2<WModelIndex,WMouseEvent> doubleClicked()
Signal emitted when an item is double clicked.

See Also:
clicked()

mouseWentDown

public Signal2<WModelIndex,WMouseEvent> mouseWentDown()
Signal emitted when a mouse button is pressed down.

See Also:
mouseWentUp()

mouseWentUp

public Signal2<WModelIndex,WMouseEvent> mouseWentUp()
Signal emitted when the mouse button is released.

See Also:
mouseWentDown()

selectionChanged

public Signal selectionChanged()
Signal emitted when the selection is changed.

See Also:
select(WModelIndex index, SelectionFlag option), setSelectionMode(SelectionMode mode), setSelectionBehavior(SelectionBehavior behavior)

pageChanged

public Signal pageChanged()
Signal emitted when page information was updated.

When Ajax/JavaScript is not available, the view will use a paging navigation bar to allow scrolling through the data. This signal is emitted when page-related information changed (e.g. the current page was changed, or the number of rows was changed).

See Also:
getCreatePageNavigationBar()

columnResized

public Signal2<java.lang.Integer,WLength> columnResized()
Returns the signal emitted when a column is resized by the user.

The arguments of the signal are: the column index and the new width of the column.


setRowHeaderCount

public void setRowHeaderCount(int count)
Configures the number of columns that are used as row headers.

An item view does not use the vertical header data from the model in any way, but instead you can configure data in the first column(s) to be used as a row headers.

These columns will not scroll horizontally together with the rest of the model.

The default value is 0.

Note: Currently, this property must be set before any other settings of the view and only a value of 0 or 1 is supported.


getRowHeaderCount

public int getRowHeaderCount()
Returns the number of columns that are used as row headers.

See Also:
setRowHeaderCount(int count)

setColumn1Fixed

public void setColumn1Fixed(boolean enable)
Deprecated. Use setRowHeaderCount() instead.

Configures whether horizontal scrolling includes the first column (deprecated).

To display a model with many columns, this option allows you to keep the first column fixed while scrolling through the other columns of the model.

The default value is false.


isColumn1Fixed

public boolean isColumn1Fixed()
Deprecated. Use getRowHeaderCount() instead.

Returns whether horizontal scrolling includes the first column. (deprecated).

See Also:
setColumn1Fixed(boolean enable)

dropEvent

protected void dropEvent(WDropEvent e,
                         WModelIndex index)
Handles a drop event (drag & drop).

The event object contains details about the drop operation, identifying the source (which provides the data) and the mime-type of the data. The drop was received on the target item.

The drop event can be handled either by the view itself, or by the model. The default implementation checks if the mime-type is accepted by the model, and if so passes the drop event to the model. If the source is the view's own selection model, then the drop event will be handled as a MoveAction, otherwise the drop event will be handled as a CopyAction.

See Also:
WAbstractItemModel.dropEvent(WDropEvent e, DropAction action, int row, int column, WModelIndex parent)

createExtraHeaderWidget

protected WWidget createExtraHeaderWidget(int column)
Create an extra widget in the header.

You may reimplement this method to provide an extra widget to be placed below the header label. The extra widget will be visible only if a multi-line header is configured using setHeaderHeight().

The widget is created only once, but this method may be called repeatedly for a column for which prior calls returned null (i.e. each time the header is rerendered).

The default implementation returns null.

See Also:
setHeaderHeight(WLength height), extraHeaderWidget(int column)

extraHeaderWidget

protected WWidget extraHeaderWidget(int column)
Returns the extra header widget.

Returns the widget previously created using createExtraHeaderWidget()

See Also:
createExtraHeaderWidget(int column)

getCreatePageNavigationBar

protected WWidget getCreatePageNavigationBar()
Returns a page navigation widget.

When Ajax/JavaScript is not available, the view will use a paging navigation bar to allow scrolling through the data, created by this method. The default implementation displays a simple navigation bar with (First, Prevous, Next, Last) buttons and a page counter.

You may want to reimplement this method to provide a custom page navigation bar. You can use the getCurrentPage(), getPageCount(), and setCurrentPage() methods to set or get the page information, and listen to the pageChanged() signal to react to changes.


modelHeaderDataChanged

protected void modelHeaderDataChanged(Orientation orientation,
                                      int start,
                                      int end)

saveExtraHeaderWidgets

protected void saveExtraHeaderWidgets()

shiftEditors

protected boolean shiftEditors(WModelIndex parent,
                               int start,
                               int count,
                               boolean persistWhenShifted)