Package ghidra.program.model.data
Class CycleGroup
- java.lang.Object
-
- ghidra.program.model.data.CycleGroup
-
public class CycleGroup extends java.lang.ObjectClass to define a set of dataTypes that a single action can cycle through.
-
-
Field Summary
Fields Modifier and Type Field Description static java.util.List<CycleGroup>ALL_CYCLE_GROUPSstatic CycleGroupBYTE_CYCLE_GROUPprotected javax.swing.KeyStrokedefaultKeyStrokestatic CycleGroupFLOAT_CYCLE_GROUPstatic CycleGroupSTRING_CYCLE_GROUP
-
Constructor Summary
Constructors Constructor Description CycleGroup(java.lang.String name)Construct empty group no name, data types or keystroke.CycleGroup(java.lang.String name, DataType[] dataTypes, javax.swing.KeyStroke keyStroke)Constructs a new cycle group with the given dataTypes.CycleGroup(java.lang.String name, DataType dt, javax.swing.KeyStroke keyStroke)Constructor cycle group with one data type.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddDataType(DataType dt)Add a data type to this group.voidaddFirst(DataType dt)Add the data type as the first in the list.booleancontains(DataType dt)Return true if the given data type is in this cycle group.DataType[]getDataTypes()Get the data types in this group.javax.swing.KeyStrokegetDefaultKeyStroke()java.lang.StringgetName()DataTypegetNextDataType(DataType currentDataType, boolean stackPointers)Get next data-type which should be usedvoidremoveDataType(DataType dt)Remove the data type from this group.voidremoveFirst()Remove first data type in the list.voidremoveLast()Remove the last data type in the list.intsize()Returns number of types in group
-
-
-
Field Detail
-
BYTE_CYCLE_GROUP
public static final CycleGroup BYTE_CYCLE_GROUP
-
FLOAT_CYCLE_GROUP
public static final CycleGroup FLOAT_CYCLE_GROUP
-
STRING_CYCLE_GROUP
public static final CycleGroup STRING_CYCLE_GROUP
-
ALL_CYCLE_GROUPS
public static final java.util.List<CycleGroup> ALL_CYCLE_GROUPS
-
defaultKeyStroke
protected javax.swing.KeyStroke defaultKeyStroke
-
-
Constructor Detail
-
CycleGroup
public CycleGroup(java.lang.String name, DataType[] dataTypes, javax.swing.KeyStroke keyStroke)Constructs a new cycle group with the given dataTypes.- Parameters:
name- cycle group name which will be the suggested action name for those plugins which implement a cycle group action.dataTypes- data types in the groupkeyStroke- default key stroke for the action to cycle through the data types
-
CycleGroup
public CycleGroup(java.lang.String name, DataType dt, javax.swing.KeyStroke keyStroke)Constructor cycle group with one data type.- Parameters:
name- cycle group name which will be the suggested action name for those plugins which implement a cycle group action.dt- single data type for the groupkeyStroke- default key stroke for the action to cycle through the data types
-
CycleGroup
public CycleGroup(java.lang.String name)
Construct empty group no name, data types or keystroke.
-
-
Method Detail
-
getDataTypes
public DataType[] getDataTypes()
Get the data types in this group.
-
getName
public java.lang.String getName()
- Returns:
- cycle group name.
-
size
public int size()
Returns number of types in group
-
getDefaultKeyStroke
public javax.swing.KeyStroke getDefaultKeyStroke()
-
addDataType
public void addDataType(DataType dt)
Add a data type to this group.- Parameters:
dt- the datatype to be added.
-
addFirst
public void addFirst(DataType dt)
Add the data type as the first in the list.- Parameters:
dt- the dataType to be added.
-
removeDataType
public void removeDataType(DataType dt)
Remove the data type from this group.- Parameters:
dt- the dataType to remove.
-
removeFirst
public void removeFirst()
Remove first data type in the list.
-
removeLast
public void removeLast()
Remove the last data type in the list.
-
contains
public boolean contains(DataType dt)
Return true if the given data type is in this cycle group.
-
getNextDataType
public DataType getNextDataType(DataType currentDataType, boolean stackPointers)
Get next data-type which should be used- Parameters:
currentDataType- current data type to which this cycle group is to be appliedstackPointers- if true and currentDataType is a pointer, the pointer's base type will be cycled- Returns:
- next data-type
-
-