Package ghidra.app.services

# Interface MarkerSet

All Superinterfaces:
  `Comparable<MarkerSet>`

public interface MarkerSet extends Comparable<MarkerSet>
Defines methods for working with a set of addresses that correspond to markers.

See Also:
  - `MarkerService`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `add(Address addr)`
  Add a marker at the address
  `void`
  `add(AddressRange range)`
  Add a marker across the address range
  `void`
  `add(Address start, Address end)`
  Add the range given the start and end of the range
  `void`
  `add(AddressSetView addrSet)`
  Add a marker at each address in the given address set
  `void`
  `clear(Address addr)`
  Clear any marker at the address
  `void`
  `clear(AddressRange range)`
  Clear any marker across the address range
  `void`
  `clear(Address start, Address end)`
  Remove the given range from the marker set
  `void`
  `clear(AddressSetView addrSet)`
  Clear any marker at each address in the address set
  `void`
  `clearAll()`
  Clear all defined markers
  `boolean`
  `contains(Address addr)`
  Determine if this marker set contains the specified address
  `boolean`
  `displayInMarkerBar()`
  True if this marker manager displays in the left hand marker bar
  `AddressSet`
  `getAddressSet()`
  Return the address set for this marker set
  `Color`
  `getMarkerColor()`
  Get the color for the marker
  `Address`
  `getMaxAddress()`
  Returns the maximum Address in this MarkerSet;
  `Address`
  `getMinAddress()`
  Returns the minimum Address in this MarkerSet;
  `String`
  `getName()`
  Return the name of this MarkerSet
  `int`
  `getPriority()`
  Get display priority
  `boolean`
  `intersects(Address start, Address end)`
  Returns true if any address in this MarkerSet is contained in the range defined by start and end.
  `boolean`
  `isActive()`
  Returns true if this MarkerSet is active.
  `boolean`
  `isColoringBackground()`
  Returns true if this MarkerSet is coloring the background in the listing for locations contained in this MarkerSet
  `boolean`
  `isDisplayedInNavigationBar()`
  True if this marker manager displays in the right hand navigation bar
  `boolean`
  `isPreferred()`
  Gets whether this marker is in the preferred group when determining display priority.
  `void`
  `setActive(boolean state)`
  Return true if this marker set is active
  `void`
  `setAddressSet(AddressSetView set)`
  Clears the current set off addresses in this markerSet and adds in the addresses from the given AddressSet
  `void`
  `setAddressSetCollection(AddressSetCollection set)`
  Sets the AddressSetCollection to be used for this this marker set.
  `void`
  `setColoringBackground(boolean b)`
  Sets whether or not the MarkerSet is coloring the background of areas in the listing contained in this MarkerSet.
  `void`
  `setMarkerColor(Color color)`
  Set the color for the marker
  `void`
  `setMarkerDescriptor(MarkerDescriptor markerDescriptor)`
  Set the marker manager listener to use for user interaction with markers owned by this manager.

  ### Methods inherited from interface java.lang.Comparable

  `compareTo`

- ## Method Details

  - ### add

    void add(Address addr)
    Add a marker at the address
    Parameters:
      `addr` - the address

  - ### add

    void add(Address start, Address end)
    Add the range given the start and end of the range
    Parameters:
      `start` - the start address
      `end` - the end address

  - ### add

    void add(AddressRange range)
    Add a marker across the address range
    Parameters:
      `range` - the addresses

  - ### setAddressSetCollection

    void setAddressSetCollection(AddressSetCollection set)
    Sets the AddressSetCollection to be used for this this marker set.

    Warning! Using this method will cause this MarkerSet to directly use the given AddressSetCollection. If the given AddressSetCollection is not an instance of ModifiableAddressSetCollection, then the markerSet methods that add and remove addresses will thrown an IllegalArgumentException.

    Parameters:
      `set` - the addressSetCollection to use as this markerSet's addressSetCollection.

  - ### setAddressSet

    void setAddressSet(AddressSetView set)
    Clears the current set off addresses in this markerSet and adds in the addresses from the given AddressSet
    Parameters:
      `set` - the set of addresses to use in this marker set

  - ### add

    void add(AddressSetView addrSet)
    Add a marker at each address in the given address set
    Parameters:
      `addrSet` - the addresses

  - ### contains

    boolean contains(Address addr)
    Determine if this marker set contains the specified address
    Parameters:
      `addr` - address
    Returns:
      true if marker set contains addr

  - ### getAddressSet

    AddressSet getAddressSet()
    Return the address set for this marker set
    Returns:
      the addresses

  - ### clear

    void clear(Address addr)
    Clear any marker at the address
    Parameters:
      `addr` - the address

  - ### clear

    void clear(AddressRange range)
    Clear any marker across the address range
    Parameters:
      `range` - the addresses

  - ### clear

    void clear(Address start, Address end)
    Remove the given range from the marker set
    Parameters:
      `start` - the start of the range to remove
      `end` - the end of the range to remove

  - ### clear

    void clear(AddressSetView addrSet)
    Clear any marker at each address in the address set
    Parameters:
      `addrSet` - the addresses

  - ### getName

    String getName()
    Return the name of this MarkerSet
    Returns:
      the name

  - ### clearAll

    void clearAll()
    Clear all defined markers

  - ### getPriority

    int getPriority()
    Get display priority
    Returns:
      the priority

  - ### isPreferred

    boolean isPreferred()
    Gets whether this marker is in the preferred group when determining display priority. Typically point markers are in the preferred group and area markers are not.
    Returns:
      true if preferred

  - ### setActive

    void setActive(boolean state)
    Return true if this marker set is active
    Parameters:
      `state` - the state

  - ### getMarkerColor

    Color getMarkerColor()
    Get the color for the marker
    Returns:
      the color

  - ### setMarkerColor

    void setMarkerColor(Color color)
    Set the color for the marker
    Parameters:
      `color` - marker color

  - ### setMarkerDescriptor

    void setMarkerDescriptor(MarkerDescriptor markerDescriptor)
    Set the marker manager listener to use for user interaction with markers owned by this manager.
    Parameters:
      `markerDescriptor` - the descriptor

  - ### isDisplayedInNavigationBar

    boolean isDisplayedInNavigationBar()
    True if this marker manager displays in the right hand navigation bar
    Returns:
      true if this marker manager displays in the right hand navigation bar

  - ### displayInMarkerBar

    boolean displayInMarkerBar()
    True if this marker manager displays in the left hand marker bar
    Returns:
      true if this marker manager displays in the left hand marker bar

  - ### isColoringBackground

    boolean isColoringBackground()
    Returns true if this MarkerSet is coloring the background in the listing for locations contained in this MarkerSet
    Returns:
      true if coloring background

  - ### isActive

    boolean isActive()
    Returns true if this MarkerSet is active. Being "active" means that it is displayed in the listing
    Returns:
      true if active

  - ### setColoringBackground

    void setColoringBackground(boolean b)
    Sets whether or not the MarkerSet is coloring the background of areas in the listing contained in this MarkerSet.
    Parameters:
      `b` - true to color the background.

  - ### getMinAddress

    Address getMinAddress()
    Returns the minimum Address in this MarkerSet;
    Returns:
      the minimum Address in this MarkerSet;

  - ### getMaxAddress

    Address getMaxAddress()
    Returns the maximum Address in this MarkerSet;
    Returns:
      the maximum Address in this MarkerSet;

  - ### intersects

    boolean intersects(Address start, Address end)
    Returns true if any address in this MarkerSet is contained in the range defined by start and end.
    Parameters:
      `start` - the start address of the range to check for intersection.
      `end` - the end address of the range to check for intersection.
    Returns:
      true if the set of addresses contained in this MarkerSet intersects the given range.