Class ProgramBigListingModel
java.lang.Object
ghidra.app.util.viewer.listingpanel.ProgramBigListingModel
- All Implemented Interfaces:
FormatModelListener,ListingModel,DomainObjectListener,OptionsChangeListener,EventListener,ChangeListener
public class ProgramBigListingModel
extends Object
implements ListingModel, FormatModelListener, DomainObjectListener, ChangeListener, OptionsChangeListener
-
Field Summary
FieldsFields inherited from interface ghidra.app.util.viewer.listingpanel.ListingModel
DISPLAY_EXTERNAL_FUNCTION_POINTER_OPTION_NAME, DISPLAY_NONEXTERNAL_FUNCTION_POINTER_OPTION_NAME, FUNCTION_POINTER_OPTION_GROUP_NAME -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidaddListener(ListingModelListener listener) Adds a listener for changes to this model.adjustAddressSetToCodeUnitBoundaries(AddressSet addressSet) Adjusts each range in the given address set to be on code unit boundaries.booleanareFunctionVariablesOpen(Address FunctionAddress) Checks if the function variables are being displayed at the given addressvoidcloseAllData(AddressSetView addresses, TaskMonitor monitor) Closes all data found within the given addresses.voidcloseAllData(Data data, TaskMonitor monitor) Recursively close the given data and its sub-components.voidCloses the given data, but not any sub-components.copy()Makes a copy of this model.voiddispose()Disposes this modelvoidMethod called when a change is made to the domain object.voidNotifies that the given format model was changed.getAddressAfter(Address address) getAddressBefore(Address addr) intReturns the width of the longest layout this model can produce..Returns the program being displayed by this model..booleanisClosed()Returns true if the program being displayed by this listing has been closed (and therefor the model is invalid.).booleanReturns true if the data is openbooleanisOpenData(CodeUnit cu) protected voidnotifyDataChanged(boolean updateImmediately) voidopenAllData(AddressSetView addresses, TaskMonitor monitor) Opens all data found within the given addresses.voidopenAllData(Data data, TaskMonitor monitor) Recursively open the given data and its sub-components.booleanOpens the given data, but not any sub-components.voidoptionsChanged(ToolOptions options, String optionName, Object oldValue, Object newValue) Notification that an option changed.voidremoveListener(ListingModelListener listener) Removes a listener from those being notified of model changes.voidsetAllFunctionVariablesOpen(boolean open) Sets the display of variables for all functions.voidsetFormatManager(FormatManager formatManager) Sets theFormatManagerfor this model which determines the layout of the fields.voidsetFunctionVariablesOpen(Address functionAddress, boolean open) Sets whether or not to display function variables for the function at the given address.voidvoidtoggleOpen(Data data) Changes the open state of the given data (open -> closes; closed-> open).Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface ghidra.app.util.viewer.format.FormatModelListener
formatModelAdded, formatModelRemoved
-
Field Details
-
program
-
-
Constructor Details
-
ProgramBigListingModel
-
-
Method Details
-
optionsChanged
public void optionsChanged(ToolOptions options, String optionName, Object oldValue, Object newValue) Description copied from interface:OptionsChangeListenerNotification that an option changed.Note: to reject an options change, you can throw a
OptionsVetoException.- Specified by:
optionsChangedin interfaceOptionsChangeListener- Parameters:
options- options object containing the property that changedoptionName- name of option that changedoldValue- old value of the optionnewValue- new value of the option
-
getAddressSet
- Specified by:
getAddressSetin interfaceListingModel
-
dispose
public void dispose()Description copied from interface:ListingModelDisposes this model- Specified by:
disposein interfaceListingModel
-
setFormatManager
Description copied from interface:ListingModelSets theFormatManagerfor this model which determines the layout of the fields.- Specified by:
setFormatManagerin interfaceListingModel- Parameters:
formatManager- the new FormatManager to use
-
stateChanged
- Specified by:
stateChangedin interfaceChangeListener
-
getLayout
- Specified by:
getLayoutin interfaceListingModel
-
getMaxWidth
public int getMaxWidth()Description copied from interface:ListingModelReturns the width of the longest layout this model can produce..- Specified by:
getMaxWidthin interfaceListingModel- Returns:
- the width of the longest layout this model can produce.
-
getAddressAfter
- Specified by:
getAddressAfterin interfaceListingModel
-
getAddressBefore
- Specified by:
getAddressBeforein interfaceListingModel
-
isOpenData
-
isOpen
Description copied from interface:ListingModelReturns true if the data is open- Specified by:
isOpenin interfaceListingModel- Parameters:
data- the data to check- Returns:
- true if the data is open
-
toggleOpen
Description copied from interface:ListingModelChanges the open state of the given data (open -> closes; closed-> open).- Specified by:
toggleOpenin interfaceListingModel- Parameters:
data- the data to open
-
setFunctionVariablesOpen
Description copied from interface:ListingModelSets whether or not to display function variables for the function at the given address.- Specified by:
setFunctionVariablesOpenin interfaceListingModel- Parameters:
functionAddress- the address of the functionopen- if true, the variables are displayed, otherwise they are hidden
-
setAllFunctionVariablesOpen
public void setAllFunctionVariablesOpen(boolean open) Description copied from interface:ListingModelSets the display of variables for all functions. This basically sets the default state, but the state can be overridden for individual functions. Changing this value erases all individually set values.- Specified by:
setAllFunctionVariablesOpenin interfaceListingModel- Parameters:
open- if true, show function variables
-
areFunctionVariablesOpen
Description copied from interface:ListingModelChecks if the function variables are being displayed at the given address- Specified by:
areFunctionVariablesOpenin interfaceListingModel- Parameters:
FunctionAddress- the address of the function- Returns:
- true if the variables are being displayed for the function at the given address
-
openAllData
Description copied from interface:ListingModelRecursively open the given data and its sub-components.- Specified by:
openAllDatain interfaceListingModel- Parameters:
data- the data to openmonitor- the task monitor
-
closeAllData
Description copied from interface:ListingModelRecursively close the given data and its sub-components.- Specified by:
closeAllDatain interfaceListingModel- Parameters:
data- the data to closemonitor- the task monitor
-
openAllData
Description copied from interface:ListingModelOpens all data found within the given addresses. Each data is fully opened.- Specified by:
openAllDatain interfaceListingModel- Parameters:
addresses- the range of addresses to search for datamonitor- the task monitor
-
closeAllData
Description copied from interface:ListingModelCloses all data found within the given addresses. Each data is fully closed.- Specified by:
closeAllDatain interfaceListingModel- Parameters:
addresses- the range of addresses to search for datamonitor- the task monitor
-
closeData
Description copied from interface:ListingModelCloses the given data, but not any sub-components.- Specified by:
closeDatain interfaceListingModel- Parameters:
data- the data to close
-
openData
Description copied from interface:ListingModelOpens the given data, but not any sub-components.- Specified by:
openDatain interfaceListingModel- Parameters:
data- the data to open- Returns:
- true if the data was opened (will return false if the data is already open or has no children)
-
notifyDataChanged
protected void notifyDataChanged(boolean updateImmediately) -
formatModelChanged
Description copied from interface:FormatModelListenerNotifies that the given format model was changed.- Specified by:
formatModelChangedin interfaceFormatModelListener- Parameters:
model- the model that was changed.
-
addListener
Description copied from interface:ListingModelAdds a listener for changes to this model.- Specified by:
addListenerin interfaceListingModel- Parameters:
listener- the listener to be notified
-
removeListener
Description copied from interface:ListingModelRemoves a listener from those being notified of model changes.- Specified by:
removeListenerin interfaceListingModel- Parameters:
listener- the listener to be removed
-
getProgram
Description copied from interface:ListingModelReturns the program being displayed by this model..- Specified by:
getProgramin interfaceListingModel- Returns:
- the program being displayed by this model.
-
isClosed
public boolean isClosed()Description copied from interface:ListingModelReturns true if the program being displayed by this listing has been closed (and therefor the model is invalid.).- Specified by:
isClosedin interfaceListingModel- Returns:
- true if the program being displayed by this listing has been closed (and therefor the model is invalid.)
-
domainObjectChanged
Description copied from interface:DomainObjectListenerMethod called when a change is made to the domain object.- Specified by:
domainObjectChangedin interfaceDomainObjectListener- Parameters:
ev- event containing the change record and type of change that was made
-
adjustAddressSetToCodeUnitBoundaries
Description copied from interface:ListingModelAdjusts each range in the given address set to be on code unit boundaries.- Specified by:
adjustAddressSetToCodeUnitBoundariesin interfaceListingModel- Parameters:
addressSet- the address set to be adjusted- Returns:
- a new AddressSet where each range is on a code unit boundary
-
copy
Description copied from interface:ListingModelMakes a copy of this model.- Specified by:
copyin interfaceListingModel- Returns:
- a copy of this model.
-