Class ListingModelAdapter
java.lang.Object
ghidra.app.util.viewer.listingpanel.ListingModelAdapter
- All Implemented Interfaces:
LayoutModel
,ListingModelListener
,Iterable<Layout>
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionvoid
addLayoutModelListener
(LayoutModelListener listener) Adds a LayoutModelListener to be notified when changes occur.void
dataChanged
(boolean updateImmediately) Called when the data at an index or range of indexes changes.void
dispose()
void
Returns true if the model knows about changes that haven't yet been told to the LayoutModelListeners.getFieldLocation
(ProgramLocation location) Translates the given ProgramLocation into a FieldLocation.getFieldSelection
(ProgramSelection selection) getIndexAfter
(BigInteger index) Returns the closest larger index in the model that has a non-null layout.getIndexBefore
(BigInteger index) Returns the closest smaller index in the model that has a non-null layout.getLayout
(BigInteger index) Returns a layout for the given index.Returns the total number of indexes.Returns the width of the largest possible layout.getProgramLocation
(FieldLocation location, Field field) getProgramSelection
(FieldSelection selection) boolean
Returns true if every index returns a non-null layout and all the layouts are the same height.void
Called whenever the number of indexes changedvoid
removeLayoutModelListener
(LayoutModelListener listener) Removes a LayoutModelListener to be notified when changes occur.protected void
void
setAddressSet
(AddressSetView view) Sets the addresses displayed by this model's listing.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface java.lang.Iterable
forEach, spliterator
Methods inherited from interface docking.widgets.fieldpanel.LayoutModel
iterator, iterator
-
Constructor Details
-
ListingModelAdapter
-
-
Method Details
-
flushChanges
public void flushChanges()Description copied from interface:LayoutModel
Returns true if the model knows about changes that haven't yet been told to the LayoutModelListeners.- Specified by:
flushChanges
in interfaceLayoutModel
-
addLayoutModelListener
Description copied from interface:LayoutModel
Adds a LayoutModelListener to be notified when changes occur.- Specified by:
addLayoutModelListener
in interfaceLayoutModel
- Parameters:
listener
- the LayoutModelListener to add.
-
getIndexAfter
Description copied from interface:LayoutModel
Returns the closest larger index in the model that has a non-null layout.- Specified by:
getIndexAfter
in interfaceLayoutModel
- Parameters:
index
- for which to find the next index with a non-null layout.- Returns:
- returns the closest larger index in the model that has a non-null layout.
-
getIndexBefore
Description copied from interface:LayoutModel
Returns the closest smaller index in the model that has a non-null layout.- Specified by:
getIndexBefore
in interfaceLayoutModel
- Parameters:
index
- for which to find the previous index with a non-null layout.- Returns:
- returns the closest smaller index in the model that has a non-null layout.
-
getLayout
Description copied from interface:LayoutModel
Returns a layout for the given index.- Specified by:
getLayout
in interfaceLayoutModel
- Parameters:
index
- the index of the layout to retrieve.
-
getPreferredViewSize
Description copied from interface:LayoutModel
Returns the width of the largest possible layout.- Specified by:
getPreferredViewSize
in interfaceLayoutModel
-
getNumIndexes
Description copied from interface:LayoutModel
Returns the total number of indexes.- Specified by:
getNumIndexes
in interfaceLayoutModel
-
isUniform
public boolean isUniform()Description copied from interface:LayoutModel
Returns true if every index returns a non-null layout and all the layouts are the same height.- Specified by:
isUniform
in interfaceLayoutModel
-
removeLayoutModelListener
Description copied from interface:LayoutModel
Removes a LayoutModelListener to be notified when changes occur.- Specified by:
removeLayoutModelListener
in interfaceLayoutModel
- Parameters:
listener
- the LayoutModelListener to remove.
-
dispose
public void dispose() -
dataChanged
public void dataChanged(boolean updateImmediately) Description copied from interface:ListingModelListener
Called when the data at an index or range of indexes changes.- Specified by:
dataChanged
in interfaceListingModelListener
- Parameters:
updateImmediately
- true to immediately update the listing upon change.
-
modelSizeChanged
public void modelSizeChanged()Description copied from interface:ListingModelListener
Called whenever the number of indexes changed- Specified by:
modelSizeChanged
in interfaceListingModelListener
-
getFieldLocation
Translates the given ProgramLocation into a FieldLocation. Attempts to find a field that can exactly find a match for the program location. Otherwise, it will return a fieldLocation to the default field or beginning of the line.- Parameters:
location
- the ProgramLocation to translate.- Returns:
- a FieldLocation for the ProgramLocation or null if none can be found.
-
getProgramLocation
-
getProgramLocation
-
getAllProgramSelection
-
getProgramSelection
-
resetIndexMap
protected void resetIndexMap() -
getLayout
-
getAddressIndexMap
-
getFieldSelection
-
setAddressSet
Sets the addresses displayed by this model's listing.- Parameters:
view
- the addresses. These must already be compatible with the program associated with this model.
-