Package ghidra.app.util.viewer.format
Class FieldFormatModel
- java.lang.Object
-
- ghidra.app.util.viewer.format.FieldFormatModel
-
public class FieldFormatModel extends java.lang.ObjectMaintains the size and ordering for a layout of fields.
-
-
Field Summary
Fields Modifier and Type Field Description static intARRAYstatic intDIVIDERprotected FieldFactory[]factoriesstatic intFUNCTIONstatic intFUNCTION_VARSstatic intINSTRUCTION_OR_DATAstatic intOPEN_DATAstatic intPLATE
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddAllFactories()Adds all unused fields to this model.voidaddFactory(FieldFactory factory, int rowIndex, int colIndex)Adds a new field to this format.voidaddLayouts(java.util.List<RowLayout> list, int index, ProxyObj<?> proxy)Generates the layout objects for the given index and proxy objectvoidaddRow(int index)Adds new empty row at the given position.FieldFactory[]getAllFactories()FieldFactory[]getFactorys()Returns the list factories valid for this format.FieldFactory[]getFactorys(int row)Returns the FieldFactorys on a given row.FormatManagergetFormatManager()Returns the formatMgr that is managing this model.java.lang.StringgetName()Returns the name of this format model.intgetNumFactorys(int row)Returns the number of FieldFactorys on any given row.intgetNumRows()Returns the number of rows in the model.FieldFactory[]getUnusedFactories()Returns a list of unused valid fields for this modelintgetWidth()Returns the width of this modelvoidmodelChanged()Notifies the formatMgr that this format model has changed.voidmoveFactory(int oldRowIndex, int oldColIndex, int newRowIndex, int newColIndex)Moves the Field at (oldrow,oldCol) to (row,col)voidoptionsChanged(Options options, java.lang.String optionName, java.lang.Object oldValue, java.lang.Object newValue)Notifies that the options have changed.voidremoveAllFactories()Removes all fields from this model.voidremoveFactory(int rowIndex, int colIndex)Removes a field from the format.voidremoveRow(int index)Removes the row currently at the given position.voidrestoreFromXml(org.jdom.Element root)Restores the format for this model from XML.org.jdom.ElementsaveToXml()Saves this format to XML.voidservicesChanged()Notifies each row that the services have changed.voidsetBaseRowID(int id)Sets the base id for this model.voidupdate()Updates users of the formatMgr to indicate the format has changed.voidupdateRow(int index)Updates the fields on the given row.
-
-
-
Field Detail
-
DIVIDER
public static final int DIVIDER
- See Also:
- Constant Field Values
-
PLATE
public static final int PLATE
- See Also:
- Constant Field Values
-
FUNCTION
public static final int FUNCTION
- See Also:
- Constant Field Values
-
FUNCTION_VARS
public static final int FUNCTION_VARS
- See Also:
- Constant Field Values
-
INSTRUCTION_OR_DATA
public static final int INSTRUCTION_OR_DATA
- See Also:
- Constant Field Values
-
OPEN_DATA
public static final int OPEN_DATA
- See Also:
- Constant Field Values
-
ARRAY
public static final int ARRAY
- See Also:
- Constant Field Values
-
factories
protected FieldFactory[] factories
-
-
Method Detail
-
setBaseRowID
public void setBaseRowID(int id)
Sets the base id for this model. Each row in a model gets an id which must be unique across all models.- Parameters:
id- the base id for this format.
-
update
public void update()
Updates users of the formatMgr to indicate the format has changed.
-
getFormatManager
public FormatManager getFormatManager()
Returns the formatMgr that is managing this model.
-
addLayouts
public void addLayouts(java.util.List<RowLayout> list, int index, ProxyObj<?> proxy)
Generates the layout objects for the given index and proxy object- Parameters:
list- the list to add layouts toindex- the index (represents address)proxy- the object to get layouts for.
-
addRow
public void addRow(int index)
Adds new empty row at the given position. The position must be in the interval [0,numRows].- Throws:
java.lang.IllegalArgumentException- thrown if the position is outside the interval [0,numRows].
-
removeRow
public void removeRow(int index)
Removes the row currently at the given position.- Parameters:
index- the index of the row to remove.
-
addFactory
public void addFactory(FieldFactory factory, int rowIndex, int colIndex)
Adds a new field to this format.- Parameters:
factory- the FieldFactory to addrowIndex- the row to add the field tocolIndex- the position in the row for the new field.
-
removeFactory
public void removeFactory(int rowIndex, int colIndex)Removes a field from the format.- Parameters:
rowIndex- the row index of the field to remove.colIndex- the column index of the field to remove.
-
modelChanged
public void modelChanged()
Notifies the formatMgr that this format model has changed.
-
getNumRows
public int getNumRows()
Returns the number of rows in the model.
-
getName
public java.lang.String getName()
Returns the name of this format model.
-
getNumFactorys
public int getNumFactorys(int row)
Returns the number of FieldFactorys on any given row.
-
getFactorys
public FieldFactory[] getFactorys(int row)
Returns the FieldFactorys on a given row.
-
getFactorys
public FieldFactory[] getFactorys()
Returns the list factories valid for this format.
-
moveFactory
public void moveFactory(int oldRowIndex, int oldColIndex, int newRowIndex, int newColIndex)Moves the Field at (oldrow,oldCol) to (row,col)- Parameters:
oldRowIndex- the row containing the field to be moved.oldColIndex- the column index of the field to be moved.newRowIndex- the row to move to.newColIndex- the column to move to.- Throws:
java.lang.IllegalArgumentException- thrown if any of the parameters don't map to a valid grid position.
-
getWidth
public int getWidth()
Returns the width of this model
-
updateRow
public void updateRow(int index)
Updates the fields on the given row.- Parameters:
index- the row to update.
-
servicesChanged
public void servicesChanged()
Notifies each row that the services have changed.
-
saveToXml
public org.jdom.Element saveToXml()
Saves this format to XML.
-
restoreFromXml
public void restoreFromXml(org.jdom.Element root)
Restores the format for this model from XML.- Parameters:
root- the root XML element from which to get the format information.
-
addAllFactories
public void addAllFactories()
Adds all unused fields to this model.
-
getUnusedFactories
public FieldFactory[] getUnusedFactories()
Returns a list of unused valid fields for this model- Returns:
- a list of unused valid fields for this model
-
getAllFactories
public FieldFactory[] getAllFactories()
-
removeAllFactories
public void removeAllFactories()
Removes all fields from this model.
-
optionsChanged
public void optionsChanged(Options options, java.lang.String optionName, java.lang.Object oldValue, java.lang.Object newValue)
Notifies that the options have changed.- Parameters:
options- the Options object that changed.optionName- the name of the property that changed.oldValue- the old value of the property.newValue- the new value of the property.
-
-