Class HierarchicalTraversalStrategy
- java.lang.Object
-
- org.eclipse.nebula.widgets.nattable.hierarchical.HierarchicalTraversalStrategy
-
- All Implemented Interfaces:
ITraversalStrategy
public class HierarchicalTraversalStrategy extends Object implements ITraversalStrategy
Wrapper for basicITraversalStrategyimplementations that add target checks. Requests for traversal scope, cycle and step count will be delegated to the wrappedITraversalStrategy.isValidTarget(ILayerCell, ILayerCell)will check whether theILayerCellfrom which the movement should be performed is part of a collapsed parent node and therefore theILayerCellto move the selection to would be in a hidden area.- Since:
- 1.6
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface org.eclipse.nebula.widgets.nattable.selection.ITraversalStrategy
ITraversalStrategy.TraversalScope
-
-
Field Summary
Fields Modifier and Type Field Description protected ITraversalStrategybaseStrategyTheITraversalStrategythat is wrapped by thisHierarchicalTraversalStrategy.protected HierarchicalTreeLayerlayerTheHierarchicalTreeLayeron which thisITraversalStrategyis applied.-
Fields inherited from interface org.eclipse.nebula.widgets.nattable.selection.ITraversalStrategy
AXIS_CYCLE_TRAVERSAL_STRATEGY, AXIS_TRAVERSAL_STRATEGY, TABLE_CYCLE_TRAVERSAL_STRATEGY, TABLE_TRAVERSAL_STRATEGY
-
-
Constructor Summary
Constructors Constructor Description HierarchicalTraversalStrategy(ITraversalStrategy baseStrategy, HierarchicalTreeLayer layer)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description intgetStepCount()ITraversalStrategy.TraversalScopegetTraversalScope()booleanisCycle()booleanisValidTarget(ILayerCell from, ILayerCell to)Checks whether theILayerCellthat would be selected after the selection movement is valid or not.
-
-
-
Field Detail
-
baseStrategy
protected ITraversalStrategy baseStrategy
TheITraversalStrategythat is wrapped by thisHierarchicalTraversalStrategy.
-
layer
protected HierarchicalTreeLayer layer
TheHierarchicalTreeLayeron which thisITraversalStrategyis applied.
-
-
Constructor Detail
-
HierarchicalTraversalStrategy
public HierarchicalTraversalStrategy(ITraversalStrategy baseStrategy, HierarchicalTreeLayer layer)
- Parameters:
baseStrategy- TheITraversalStrategythat should be wrapped by thisHierarchicalTraversalStrategy.layer- TheHierarchicalTreeLayeron which thisITraversalStrategyis applied.
-
-
Method Detail
-
getTraversalScope
public ITraversalStrategy.TraversalScope getTraversalScope()
- Specified by:
getTraversalScopein interfaceITraversalStrategy- Returns:
- The
ITraversalStrategy.TraversalScopethis traversal strategy specifies.
-
isCycle
public boolean isCycle()
- Specified by:
isCyclein interfaceITraversalStrategy- Returns:
trueif on traversal the selection should cycle,falseif the selection should stay at the last/first position without cycling.
-
getStepCount
public int getStepCount()
- Specified by:
getStepCountin interfaceITraversalStrategy- Returns:
- The number of steps to jump on traversal.
-
isValidTarget
public boolean isValidTarget(ILayerCell from, ILayerCell to)
Description copied from interface:ITraversalStrategyChecks whether theILayerCellthat would be selected after the selection movement is valid or not. In case the target is invalid, the responsible command handler is able to react accordingly, e.g. move the next valid cell.This is for example useful for editing traversal. If the selection movement is triggered on committing a value in an editor, the next editable cell should be selected and the editor opened immediately.
- Specified by:
isValidTargetin interfaceITraversalStrategy- Parameters:
from- TheILayerCellfrom which the selection movement is started.to- TheILayerCellto which the selection movement should be performed.- Returns:
trueif the target is a valid target for selection movement,falseif not
-
-