Class GroupModel.Group
- java.lang.Object
-
- org.eclipse.nebula.widgets.nattable.group.performance.GroupModel.Group
-
- Enclosing class:
- GroupModel
public class GroupModel.Group extends Object
Model class to track the states of a group. Only carries the state, does not contain logic with regards to changing the states.
-
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addStaticIndexes(int... indexes)
Adds the given indexes as static indexes to this group.boolean
containsStaticIndex(int index)
Checks if the given index is a static index of this group.int
getGroupEndPosition(IUniqueIndexLayer layer)
Searches for the position of the last item in this group for the given layer.String
getName()
Returns the name of this group.int
getOriginalSpan()
int
getStartIndex()
int[]
getStaticIndexes()
int[]
getVisibleIndexes()
int[]
getVisiblePositions()
int
getVisibleSpan()
int
getVisibleStartIndex()
int
getVisibleStartPosition()
boolean
hasMember(int memberIndex)
Check if the given index is a member of thisGroupModel.Group
or not.boolean
isCollapseable()
boolean
isCollapsed()
Returns whether the group is collapsed or not.boolean
isEmpty()
boolean
isGroupEnd(int position)
Checks if the given position is the right/bottom most position of this group.boolean
isGroupStart(int position)
Checks if the given position is the left/top most position of this group.boolean
isUnbreakable()
void
removeStaticIndexes(int... indexes)
Removes the given indexes as static indexes from this group.void
setCollapseable(boolean collapseable)
Configure thisGroupModel.Group
whether it can be collapsed or not.void
setCollapsed(boolean collapsed)
Set the collapsed state of this group.void
setName(String name)
Set the name of this group.void
setOriginalSpan(int originalSpan)
void
setStartIndex(int startIndex)
Sets the index of the first item in the group.void
setUnbreakable(boolean unbreakable)
void
setVisibleSpan(int visibleSpan)
void
setVisibleStartIndex(int visibleStartIndex)
Sets the index of the first visible item in the group.void
toggleCollapsed()
Toggles the collapsed state.String
toString()
-
-
-
Method Detail
-
getName
public String getName()
Returns the name of this group. Typically this value is used as value in the cell.- Returns:
- The name of this group.
-
setName
public void setName(String name)
Set the name of this group. The value is typically used as value in the cell.- Parameters:
name
- The name of the group.
-
isCollapsed
public boolean isCollapsed()
Returns whether the group is collapsed or not.- Returns:
true
if this group is collapsed,false
if it is expanded.
-
setCollapsed
public void setCollapsed(boolean collapsed)
Set the collapsed state of this group.- Parameters:
collapsed
-true
to set the group in the collapsed state,false
to set it to the expanded state.
-
toggleCollapsed
public void toggleCollapsed()
Toggles the collapsed state.
-
isCollapseable
public boolean isCollapseable()
- Returns:
true
if thisGroupModel.Group
can be collapsed,false
if not.
-
setCollapseable
public void setCollapseable(boolean collapseable)
Configure thisGroupModel.Group
whether it can be collapsed or not.- Parameters:
collapseable
-true
if thisGroupModel.Group
can be collapsed,false
if not.
-
isUnbreakable
public boolean isUnbreakable()
- Returns:
true
if thisGroupModel.Group
can not be changed.false
if the number of items in thisGroupModel.Group
can be modified.
-
setUnbreakable
public void setUnbreakable(boolean unbreakable)
- Parameters:
unbreakable
-true
if thisGroupModel.Group
should not be changeable.false
if the number of items in thisGroupModel.Group
should be changeable.
-
getStartIndex
public int getStartIndex()
- Returns:
- The index of the first item in the group.
-
setStartIndex
public void setStartIndex(int startIndex)
Sets the index of the first item in the group. Needed in case of reordering or if the first item is removed from the group.- Parameters:
startIndex
- The index of the first item in the group.
-
getVisibleStartIndex
public int getVisibleStartIndex()
- Returns:
- The index of the first visible item in the group. Could
differ from
startIndex
if that item is hidden.
-
setVisibleStartIndex
public void setVisibleStartIndex(int visibleStartIndex)
Sets the index of the first visible item in the group. Needed in case the first real item in the group is hidden.- Parameters:
visibleStartIndex
- The index of the first visible item in the group.
-
getVisibleStartPosition
public int getVisibleStartPosition()
- Returns:
- The position of the first visible item in the group matching the position layer of the GroupModel. Needed in case the first column of a group is hidden for example.
-
hasMember
public boolean hasMember(int memberIndex)
Check if the given index is a member of thisGroupModel.Group
or not.- Parameters:
memberIndex
- The index to check.- Returns:
true
if the given index is a member of thisGroupModel.Group
,false
if not.
-
getOriginalSpan
public int getOriginalSpan()
- Returns:
- The configured number of items that belong to this group.
-
setOriginalSpan
public void setOriginalSpan(int originalSpan)
- Parameters:
originalSpan
- The number of items that should belong to this group.
-
getVisibleSpan
public int getVisibleSpan()
- Returns:
- The number of items that are currently visible in this
GroupModel.Group
. Might differ from theoriginalSpan
if columns/rows are hidden.
-
setVisibleSpan
public void setVisibleSpan(int visibleSpan)
- Parameters:
visibleSpan
- The number of items that are currently visible in thisGroupModel.Group
. Cannot be bigger than the original span.
-
isEmpty
public boolean isEmpty()
- Returns:
true
if thisGroupModel.Group
has no spanning,false
if at least one position is part of thisGroupModel.Group
.
-
addStaticIndexes
public void addStaticIndexes(int... indexes)
Adds the given indexes as static indexes to this group. Static indexes are the indexes that stay visible when the group is collapsed.- Parameters:
indexes
- The static indexes to add.
-
removeStaticIndexes
public void removeStaticIndexes(int... indexes)
Removes the given indexes as static indexes from this group.- Parameters:
indexes
- The static indexes to remove.
-
containsStaticIndex
public boolean containsStaticIndex(int index)
Checks if the given index is a static index of this group.- Parameters:
index
- The index to check.- Returns:
true
if the given index is configured as static index of this group,false
if not.- Since:
- 2.0
-
getStaticIndexes
public int[] getStaticIndexes()
- Returns:
- The indexes that remain visible when collapsing this group.
- Since:
- 2.0
-
getVisiblePositions
public int[] getVisiblePositions()
- Returns:
- The positions of the visible items in the group matching the position layer of the GroupModel.
- Since:
- 2.0
-
getVisibleIndexes
public int[] getVisibleIndexes()
- Returns:
- The indexes of the positions that are currently visible.
- Since:
- 2.0
-
getGroupEndPosition
public int getGroupEndPosition(IUniqueIndexLayer layer)
Searches for the position of the last item in this group for the given layer. Needed as the Group positions are based on the positionLayer, but on transporting commands down the layer stack the positions might need to be converted, e.g. to find the last item even if it is hidden.- Parameters:
layer
- The layer needed for index-position-transformation.- Returns:
- The position of the last item in this group.
- Since:
- 2.0
-
isGroupStart
public boolean isGroupStart(int position)
Checks if the given position is the left/top most position of this group. This actually means if the given position is the visible start position.- Parameters:
position
- The position to check.- Returns:
true
if the given position is the left/top most position of this group,false
if not.
-
isGroupEnd
public boolean isGroupEnd(int position)
Checks if the given position is the right/bottom most position of this group. This actually means if the given position is the visible start position + visible span.- Parameters:
position
- The position to check.- Returns:
true
if the given position is the right/bottom most position of this group,false
if not.
-
-