com.ibm.commons.swt.data.controls
Class DCTable

java.lang.Object
  extended by org.eclipse.swt.widgets.Widget
      extended by org.eclipse.swt.widgets.Control
          extended by org.eclipse.swt.widgets.Scrollable
              extended by org.eclipse.swt.widgets.Composite
                  extended by org.eclipse.swt.widgets.Table
                      extended by com.ibm.commons.swt.controls.custom.CustomTable
                          extended by com.ibm.commons.swt.data.controls.DCTable
All Implemented Interfaces:
ICustomControl, IDataControl, org.eclipse.swt.graphics.Drawable

public class DCTable
extends CustomTable
implements IDataControl

A table control that is associated with a data model. The table is constructed such that nodes in the data model can be displayed in the table.


Field Summary
 
Fields inherited from class org.eclipse.swt.widgets.Control
handle
 
Constructor Summary
DCTable(org.eclipse.swt.widgets.Composite parent, int style)
          Constructs a new instance of the class given the parent Composite, and the style flags which are used to set the look/behavior of the control.
DCTable(org.eclipse.swt.widgets.Composite parent, int style, java.lang.String id)
          Constructs a new instance of the class given the parent Composite, the style flags which are used to set the look/behavior of the control, and an id property that can be used to programatically identify the control.
 
Method Summary
 java.lang.String getAttributeName()
          Description copied from com.ibm.commons.swt.data.controls.IDataFieldControl
Returns the name of the attribute that the control is associated with, may be null.
 java.lang.String getCheckedValue()
          Retuns the checked value for each row.
 org.eclipse.swt.widgets.Control getControl()
          Returns the control which is bound to the Data, in this case the DCTable control
 DataNode getDataNode()
          Returns the DataNode associated with this control.
 ICompositeEditorOptions getEditorOptions()
          Returns the ICompositeEditorOptions associated with the current DCTable.
 DataNode.Factory getFactory()
          Returns the DataNode.Factory that is associated with this table.
 int getItemStyle()
          Returns the style of the items created in the table.
 java.lang.String getUncheckedValue()
          Retuns the unchecked value for each row.
 boolean isAutoCreateColumns()
          Returns whether or not the table should automatically create its own columns.
 boolean isAutoEdit()
          Determines if the rows in the table become editable once the user starts typing
 java.lang.String isCheckboxAttributeName()
          Returns whether or not each row can have a checkbox associated with it.
 boolean isInsertRowAtEnd()
          Returns whether or not a new item can be appended to the end of the table.
 boolean isMultiSelectionRows()
          Returns whether or not multiple rows can be selected in the table at the same time.
 boolean isNavigation()
          Determines whether or not navigation is enabled on the current table.
 void postDisposeEditor(boolean cancel)
           
 void refresh()
          Refreshes the contents of the entire table based on the contents of the associated model.
 void setAttributeName(java.lang.String attributeName)
          Description copied from com.ibm.commons.swt.data.controls.IDataFieldControl
Sets the name of the attribute that the control is associated with.
 void setAutoCreateColumns(boolean autoCreateColumns)
          Sets whether or not the table should automatically create its own columns.
 void setAutoEdit(boolean autoEdit)
          Sets whether the rows in the table become editable once the user starts typing
 void setCheckboxAttributeName(java.lang.String checkboxAttributeName)
          Sets whether or not each row should have a checkbox associated with it.
 void setCheckedValue(java.lang.String checkedValue)
          Sets the checked value for each row.
 void setDataNode(DataNode dataNode)
          Sets the DataNode associated with this control.
 void setDataNodeBinding(DataNodeBinding dataNodeBinding)
           
 void setEditorOptions(ICompositeEditorOptions editorOptions)
          Sets the ICompositeEditorOptions associated with the current DCTable
 void setFactory(DataNode.Factory factory)
          Sets the DataNode.Factory that is associated with this table.
 void setInsertRowAtEnd(boolean insertRowAtEnd)
          Sets whether or not a new item can be appended to the end of the table.
 void setItemStyle(int itemStyle)
          Sets the style of the items created in the table.
 void setMultiSelectionRows(boolean multiSelectionRows)
          Sets whether or not multiple rows can be selected in the table at the same time.
 void setNavigation(boolean navigation)
          Sets whether or not navigation is to be enabled in the current table.
 void setUncheckedValue(java.lang.String uncheckedValue)
          Sets the unchecked value for each row.
 void startEditor()
          Starts the property editor associated with a particular row in the DCTable.
protected  void updateControl()
           
 
Methods inherited from class com.ibm.commons.swt.controls.custom.CustomTable
checkSubclass, computeSize, getCols, getId, getRows, redrawRow, removeAllColumns, setBounds, setCols, setId, setRows
 
Methods inherited from class org.eclipse.swt.widgets.Table
addSelectionListener, clear, clear, clear, clearAll, computeTrim, deselect, deselect, deselect, deselectAll, getBorderWidth, getClientArea, getColumn, getColumnCount, getColumnOrder, getColumns, getGridLineWidth, getHeaderHeight, getHeaderVisible, getItem, getItem, getItemCount, getItemHeight, getItems, getLinesVisible, getSelection, getSelectionCount, getSelectionIndex, getSelectionIndices, getSortColumn, getSortDirection, getTopIndex, indexOf, indexOf, isSelected, remove, remove, remove, removeAll, removeSelectionListener, select, select, select, selectAll, setColumnOrder, setHeaderVisible, setItemCount, setLinesVisible, setRedraw, setSelection, setSelection, setSelection, setSelection, setSelection, setSortColumn, setSortDirection, setTopIndex, showColumn, showItem, showSelection
 
Methods inherited from class org.eclipse.swt.widgets.Composite
changed, drawBackground, getBackgroundMode, getChildren, getLayout, getLayoutDeferred, getTabList, isLayoutDeferred, layout, layout, layout, layout, layout, setBackgroundMode, setFocus, setLayout, setLayoutDeferred, setTabList
 
Methods inherited from class org.eclipse.swt.widgets.Scrollable
getHorizontalBar, getVerticalBar
 
Methods inherited from class org.eclipse.swt.widgets.Control
addControlListener, addDragDetectListener, addFocusListener, addGestureListener, addHelpListener, addKeyListener, addMenuDetectListener, addMouseListener, addMouseMoveListener, addMouseTrackListener, addMouseWheelListener, addPaintListener, addTouchListener, addTraverseListener, computeSize, dragDetect, dragDetect, forceFocus, getAccessible, getBackground, getBackgroundImage, getBounds, getCursor, getDragDetect, getEnabled, getFont, getForeground, getLayoutData, getLocation, getMenu, getMonitor, getOrientation, getParent, getRegion, getShell, getSize, getToolTipText, getTouchEnabled, getVisible, internal_dispose_GC, internal_new_GC, isEnabled, isFocusControl, isReparentable, isVisible, moveAbove, moveBelow, pack, pack, print, redraw, redraw, removeControlListener, removeDragDetectListener, removeFocusListener, removeGestureListener, removeHelpListener, removeKeyListener, removeMenuDetectListener, removeMouseListener, removeMouseMoveListener, removeMouseTrackListener, removeMouseWheelListener, removePaintListener, removeTouchListener, removeTraverseListener, setBackground, setBackgroundImage, setBounds, setCapture, setCursor, setDragDetect, setEnabled, setFont, setForeground, setLayoutData, setLocation, setLocation, setMenu, setOrientation, setParent, setRegion, setSize, setSize, setToolTipText, setTouchEnabled, setVisible, toControl, toControl, toDisplay, toDisplay, traverse, traverse, traverse, update
 
Methods inherited from class org.eclipse.swt.widgets.Widget
addDisposeListener, addListener, checkWidget, dispose, getData, getData, getDisplay, getListeners, getStyle, isDisposed, isListening, notifyListeners, removeDisposeListener, removeListener, removeListener, reskin, setData, setData, toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

DCTable

public DCTable(org.eclipse.swt.widgets.Composite parent,
               int style)
Constructs a new instance of the class given the parent Composite, and the style flags which are used to set the look/behavior of the control.

The style value is either one of the style constants defined in class SWT which is applicable to instances of this class, or must be built by bitwise OR'ing together (that is, using the int "|" operator) two or more of those SWT style constants. Style bits are also inherited from superclasses.

Parameters:
parent - a Composite control which will be the parent of the new instance (CANNOT be null).
style - the style of control to construct

DCTable

public DCTable(org.eclipse.swt.widgets.Composite parent,
               int style,
               java.lang.String id)
Constructs a new instance of the class given the parent Composite, the style flags which are used to set the look/behavior of the control, and an id property that can be used to programatically identify the control.

The style value is either one of the style constants defined in class SWT which is applicable to instances of this class, or must be built by bitwise OR'ing together (that is, using the int "|" operator) two or more of those SWT style constants. Style bits are also inherited from superclasses.

Parameters:
parent - a Composite control which will be the parent of the new instance (CANNOT be null).
style - the style of control to construct
id - a String which can be used to programatically identify the control
Method Detail

getFactory

public DataNode.Factory getFactory()
Returns the DataNode.Factory that is associated with this table. If an item is being inserted in the table it will be the responsibility of the Factory returned by this method to create the new nodes in the data model.

Returns:
See Also:
DataNode.Factory

setFactory

public void setFactory(DataNode.Factory factory)
Sets the DataNode.Factory that is associated with this table. If an item is being inserted in the table it will be the responsibility of the Factory returned by this method to create the new nodes in the data model.

Parameters:
factory -
See Also:
DataNode.Factory

getControl

public org.eclipse.swt.widgets.Control getControl()
Returns the control which is bound to the Data, in this case the DCTable control

Specified by:
getControl in interface IDataControl
Returns:

startEditor

public void startEditor()
Starts the property editor associated with a particular row in the DCTable. The editor will be responsible for editing the selected property.


postDisposeEditor

public void postDisposeEditor(boolean cancel)

getEditorOptions

public ICompositeEditorOptions getEditorOptions()
Returns the ICompositeEditorOptions associated with the current DCTable.

Returns:
See Also:
ICompositeEditorOptions

setEditorOptions

public void setEditorOptions(ICompositeEditorOptions editorOptions)
Sets the ICompositeEditorOptions associated with the current DCTable

Parameters:
editorOptions -
See Also:
ICompositeEditorOptions

updateControl

protected void updateControl()

getDataNode

public DataNode getDataNode()
Returns the DataNode associated with this control. The DataNode is responsible for providing the model through which the control accesses data.

Returns:
com.ibm.commons.iloader.node.DataNode
See Also:
DataNode

setDataNode

public void setDataNode(DataNode dataNode)
Sets the DataNode associated with this control. The DataNode is responsible for providing the model through which the control accesses data.

See Also:
DataNode

setDataNodeBinding

public void setDataNodeBinding(DataNodeBinding dataNodeBinding)
Parameters:
dataNodeBinding -
See Also:
DataNodeBinding

getAttributeName

public java.lang.String getAttributeName()
Description copied from com.ibm.commons.swt.data.controls.IDataFieldControl
Returns the name of the attribute that the control is associated with, may be null.

Returns:

setAttributeName

public void setAttributeName(java.lang.String attributeName)
Description copied from com.ibm.commons.swt.data.controls.IDataFieldControl
Sets the name of the attribute that the control is associated with.

Parameters:
attributeName -

isNavigation

public boolean isNavigation()
Determines whether or not navigation is enabled on the current table. If true users can use keystrokes to navigate through the table.

Returns:
boolean

setNavigation

public void setNavigation(boolean navigation)
Sets whether or not navigation is to be enabled in the current table. If true users can use keystrokes to navigate through the table.

Parameters:
navigation -

isInsertRowAtEnd

public boolean isInsertRowAtEnd()
Returns whether or not a new item can be appended to the end of the table.

Returns:

setInsertRowAtEnd

public void setInsertRowAtEnd(boolean insertRowAtEnd)
Sets whether or not a new item can be appended to the end of the table.


getItemStyle

public int getItemStyle()
Returns the style of the items created in the table. e.g. SWT.CHECK.

Returns:

setItemStyle

public void setItemStyle(int itemStyle)
Sets the style of the items created in the table. e.g. SWT.CHECK.


isAutoCreateColumns

public boolean isAutoCreateColumns()
Returns whether or not the table should automatically create its own columns. If set to true the item being presented by the table rows will be examined and a column will be created for each attribute in the row. Defaults to false.

Returns:

setAutoCreateColumns

public void setAutoCreateColumns(boolean autoCreateColumns)
Sets whether or not the table should automatically create its own columns. If set to true the item being presented by the table rows will be examined and a column will be created for each attribute in the row.


isCheckboxAttributeName

public java.lang.String isCheckboxAttributeName()
Returns whether or not each row can have a checkbox associated with it.

Returns:
boolean

setCheckboxAttributeName

public void setCheckboxAttributeName(java.lang.String checkboxAttributeName)
Sets whether or not each row should have a checkbox associated with it.

Parameters:
checkboxAttributeName -

getCheckedValue

public java.lang.String getCheckedValue()
Retuns the checked value for each row. That is if the value in the data model corresponding to the row is the same as the value returned by this method, then the row will be checked.

Returns:
See Also:
isCheckboxAttributeName()

setCheckedValue

public void setCheckedValue(java.lang.String checkedValue)
Sets the checked value for each row. That is if the value in the data model corresponding to the row is the same as the value set by this method, then the row will be checked.

See Also:
isCheckboxAttributeName()

getUncheckedValue

public java.lang.String getUncheckedValue()
Retuns the unchecked value for each row. That is if the value in the data model corresponding to the row is the same as the value returned by this method, then the row will be unchecked.

Returns:
See Also:
isCheckboxAttributeName()

setUncheckedValue

public void setUncheckedValue(java.lang.String uncheckedValue)
Sets the unchecked value for each row. That is if the value in the data model corresponding to the row is the same as the value set by this method, then the row will be unchecked.

See Also:
isCheckboxAttributeName()

isAutoEdit

public boolean isAutoEdit()
Determines if the rows in the table become editable once the user starts typing

Returns:

setAutoEdit

public void setAutoEdit(boolean autoEdit)
Sets whether the rows in the table become editable once the user starts typing


isMultiSelectionRows

public boolean isMultiSelectionRows()
Returns whether or not multiple rows can be selected in the table at the same time.

Returns:

setMultiSelectionRows

public void setMultiSelectionRows(boolean multiSelectionRows)
Sets whether or not multiple rows can be selected in the table at the same time.

Parameters:
multiSelectionRows -

refresh

public void refresh()
Refreshes the contents of the entire table based on the contents of the associated model.