Class AbstractSelectableRow
- java.lang.Object
-
- org.eclipse.swt.widgets.Widget
-
- org.eclipse.swt.widgets.Control
-
- org.eclipse.swt.widgets.Scrollable
-
- org.eclipse.swt.widgets.Composite
-
- org.eclipse.nebula.widgets.compositetable.AbstractSelectableRow
-
- All Implemented Interfaces:
java.util.EventListener,IRowContentProvider,IRowFocusListener,org.eclipse.swt.events.FocusListener,org.eclipse.swt.events.KeyListener,org.eclipse.swt.events.MouseListener,org.eclipse.swt.events.TraverseListener,org.eclipse.swt.graphics.Drawable,org.eclipse.swt.internal.SWTEventListener
public abstract class AbstractSelectableRow extends org.eclipse.swt.widgets.Composite implements org.eclipse.swt.events.TraverseListener, org.eclipse.swt.events.FocusListener, org.eclipse.swt.events.MouseListener, IRowFocusListener, IRowContentProvider, org.eclipse.swt.events.KeyListener
An abstract row class making it easy to implement a table where the whole row is selected at once.
-
-
Field Summary
Fields Modifier and Type Field Description private intcolumnCountprivate org.eclipse.swt.widgets.Displaydisplayprivate booleaninactiveSelectedprotected java.util.Listlabelsprivate org.eclipse.swt.graphics.ColorLIST_BACKGROUNDprivate org.eclipse.swt.graphics.ColorLIST_FOREGROUNDprivate org.eclipse.swt.graphics.ColorLIST_SELECTIONprivate org.eclipse.swt.graphics.ColorLIST_SELECTION_NOFOCUSprivate org.eclipse.swt.graphics.ColorLIST_SELECTION_TEXTprivate org.eclipse.swt.graphics.ColorLIST_SELECTION_TEXT_NOFOCUSprivate java.lang.Objectmodelprivate booleanselected
-
Constructor Summary
Constructors Constructor Description AbstractSelectableRow(org.eclipse.swt.widgets.Composite parent, int style)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidarrive(CompositeTable sender, int currentObjectOffset, org.eclipse.swt.widgets.Control newRow)Method arrive.voiddepart(CompositeTable sender, int currentObjectOffset, org.eclipse.swt.widgets.Control row)Method depart.private voiddeselectRow()voidfocusGained(org.eclipse.swt.events.FocusEvent e)voidfocusLost(org.eclipse.swt.events.FocusEvent e)private intgetColumnCount()java.util.ListgetLabelsList()java.lang.ObjectgetModel()private voidinitialize()This method initializes thisvoidkeyPressed(org.eclipse.swt.events.KeyEvent e)voidkeyReleased(org.eclipse.swt.events.KeyEvent e)voidkeyTraversed(org.eclipse.swt.events.TraverseEvent e)voidmouseDoubleClick(org.eclipse.swt.events.MouseEvent e)Clients should override to implement their double-click behavior.voidmouseDown(org.eclipse.swt.events.MouseEvent e)voidmouseUp(org.eclipse.swt.events.MouseEvent e)voidrefresh(CompositeTable sender, int currentObjectOffset, org.eclipse.swt.widgets.Control row)Method refresh.booleanrequestRowChange(CompositeTable sender, int currentObjectOffset, org.eclipse.swt.widgets.Control row)Method requestRowChange.voidsetColumnCount(int columnCount)Method setColumnCount.voidsetMenu(org.eclipse.swt.widgets.Menu menu)voidsetModel(java.lang.Object object)private voidsetRowColor(org.eclipse.swt.graphics.Color foreground, org.eclipse.swt.graphics.Color background)protected voidsetSelection(java.lang.Object model)-
Methods inherited from class org.eclipse.swt.widgets.Composite
changed, checkSubclass, 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
computeTrim, getClientArea, getHorizontalBar, getScrollbarsMode, 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, computeSize, dragDetect, dragDetect, forceFocus, getAccessible, getBackground, getBackgroundImage, getBorderWidth, getBounds, getCursor, getDragDetect, getEnabled, getFont, getForeground, getLayoutData, getLocation, getMenu, getMonitor, getOrientation, getParent, getRegion, getShell, getSize, getTextDirection, getToolTipText, getTouchEnabled, getVisible, internal_dispose_GC, internal_new_GC, isAutoScalable, 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, requestLayout, setBackground, setBackgroundImage, setBounds, setBounds, setCapture, setCursor, setDragDetect, setEnabled, setFont, setForeground, setLayoutData, setLocation, setLocation, setOrientation, setParent, setRedraw, setRegion, setSize, setSize, setTextDirection, 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, isAutoDirection, isDisposed, isListening, notifyListeners, removeDisposeListener, removeListener, removeListener, reskin, setData, setData, toString
-
-
-
-
Field Detail
-
display
private org.eclipse.swt.widgets.Display display
-
LIST_BACKGROUND
private org.eclipse.swt.graphics.Color LIST_BACKGROUND
-
LIST_FOREGROUND
private org.eclipse.swt.graphics.Color LIST_FOREGROUND
-
LIST_SELECTION
private org.eclipse.swt.graphics.Color LIST_SELECTION
-
LIST_SELECTION_TEXT
private org.eclipse.swt.graphics.Color LIST_SELECTION_TEXT
-
LIST_SELECTION_NOFOCUS
private org.eclipse.swt.graphics.Color LIST_SELECTION_NOFOCUS
-
LIST_SELECTION_TEXT_NOFOCUS
private org.eclipse.swt.graphics.Color LIST_SELECTION_TEXT_NOFOCUS
-
labels
protected java.util.List labels
-
selected
private boolean selected
-
inactiveSelected
private boolean inactiveSelected
-
model
private java.lang.Object model
-
columnCount
private int columnCount
-
-
Method Detail
-
initialize
private void initialize()
This method initializes this
-
getLabelsList
public java.util.List getLabelsList()
-
setRowColor
private void setRowColor(org.eclipse.swt.graphics.Color foreground, org.eclipse.swt.graphics.Color background)
-
keyTraversed
public void keyTraversed(org.eclipse.swt.events.TraverseEvent e)
- Specified by:
keyTraversedin interfaceorg.eclipse.swt.events.TraverseListener
-
focusGained
public void focusGained(org.eclipse.swt.events.FocusEvent e)
- Specified by:
focusGainedin interfaceorg.eclipse.swt.events.FocusListener
-
setSelection
protected void setSelection(java.lang.Object model)
-
focusLost
public void focusLost(org.eclipse.swt.events.FocusEvent e)
- Specified by:
focusLostin interfaceorg.eclipse.swt.events.FocusListener
-
depart
public void depart(CompositeTable sender, int currentObjectOffset, org.eclipse.swt.widgets.Control row)
Description copied from interface:IRowFocusListenerMethod depart. Called after requstRowChange has been called to indicate that the focus is departing the specified row.- Specified by:
departin interfaceIRowFocusListener
-
arrive
public void arrive(CompositeTable sender, int currentObjectOffset, org.eclipse.swt.widgets.Control newRow)
Description copied from interface:IRowFocusListenerMethod arrive. Notifies receiver that the current row has just been changed.- Specified by:
arrivein interfaceIRowFocusListener- Parameters:
sender- The CompositeTable sending the event.currentObjectOffset- The 0-based offset to the row that should be populatednewRow- The actual SWT row object that needs to be populated with data
-
refresh
public void refresh(CompositeTable sender, int currentObjectOffset, org.eclipse.swt.widgets.Control row)
Description copied from interface:IRowContentProviderMethod refresh. Requests receiver to refresh the currentRowInTable with data to edit.- Specified by:
refreshin interfaceIRowContentProvider- Parameters:
sender- The CompositeTable sending the message.currentObjectOffset- The 0-based row number that is offset in the data structure of the table's top row.row- The row control to fill with data. This will be a copy of your prototype row object.
-
deselectRow
private void deselectRow()
-
requestRowChange
public boolean requestRowChange(CompositeTable sender, int currentObjectOffset, org.eclipse.swt.widgets.Control row)
Description copied from interface:IRowFocusListenerMethod requestRowChange. Requests permission to change rows. This method is called immediately before a row change occurs. Listeners must return true to grant permission for the row change to occur or return false to veto it. If any listener returns false, the entire row change operation is aborted.- Specified by:
requestRowChangein interfaceIRowFocusListener- Parameters:
sender- The CompositeTable sending the event.currentObjectOffset- The offset of the current object in the data structure.row- The row control that is losing focus.- Returns:
- true to permit the row change to occur; false otherwise.
-
mouseDown
public void mouseDown(org.eclipse.swt.events.MouseEvent e)
- Specified by:
mouseDownin interfaceorg.eclipse.swt.events.MouseListener
-
mouseDoubleClick
public void mouseDoubleClick(org.eclipse.swt.events.MouseEvent e)
Clients should override to implement their double-click behavior.- Specified by:
mouseDoubleClickin interfaceorg.eclipse.swt.events.MouseListener
-
mouseUp
public void mouseUp(org.eclipse.swt.events.MouseEvent e)
- Specified by:
mouseUpin interfaceorg.eclipse.swt.events.MouseListener
-
setModel
public void setModel(java.lang.Object object)
-
getModel
public java.lang.Object getModel()
-
setMenu
public void setMenu(org.eclipse.swt.widgets.Menu menu)
- Overrides:
setMenuin classorg.eclipse.swt.widgets.Control
-
keyPressed
public void keyPressed(org.eclipse.swt.events.KeyEvent e)
- Specified by:
keyPressedin interfaceorg.eclipse.swt.events.KeyListener
-
keyReleased
public void keyReleased(org.eclipse.swt.events.KeyEvent e)
- Specified by:
keyReleasedin interfaceorg.eclipse.swt.events.KeyListener
-
setColumnCount
public void setColumnCount(int columnCount)
Method setColumnCount. Sets the number of columns in the row. This method must be called exactly once in the overridden constructor.- Parameters:
columnCount- The number of columns in the row.
-
getColumnCount
private int getColumnCount()
-
-