Package ghidra.app.util.viewer.field
Class URLAnnotatedStringHandler
java.lang.Object
ghidra.app.util.viewer.field.URLAnnotatedStringHandler
- All Implemented Interfaces:
AnnotatedStringHandler
,ExtensionPoint
- Direct Known Subclasses:
GhidraLocalURLAnnotatedStringHandler
,GhidraServerURLAnnotatedStringHandler
An annotated string handler that allows handles annotations that begin with
SUPPORTED_ANNOTATIONS
. This class expects one or two strings following the annotation.
The first string will be treated as a Java URL
and the optional second string will
be treated as display text. If there is not display text, then the URL will be
displayed.-
Field Summary
Fields inherited from interface ghidra.app.util.viewer.field.AnnotatedStringHandler
DUMMY_MOUSE_HANDLER
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptioncreateAnnotatedString
(AttributedString prototypeString, String[] text, Program program) Creates anFieldElement
based upon the give array of Strings.Returns the String that represents the GUI presence of this optionReturns an example string of how the annotation is usedgetPrototypeString
(String dislplayText) Returns an example string of how the annotation is usedString[]
Returns the annotation string names that this AnnotatedStringHandler supports (e.g., "symbol", "address", etc...).boolean
handleMouseClick
(String[] annotationParts, Navigatable navigatable, ServiceProvider serviceProvider) A method that is notified when an annotation is clicked.
-
Constructor Details
-
URLAnnotatedStringHandler
public URLAnnotatedStringHandler()
-
-
Method Details
-
createAnnotatedString
public AttributedString createAnnotatedString(AttributedString prototypeString, String[] text, Program program) throws AnnotationException Description copied from interface:AnnotatedStringHandler
Creates anFieldElement
based upon the give array of Strings. The first String in the list is expected to be the annotation tag used to create the annotation. At the very least the array is expected to be comprised of two elements, the annotation and some data. Extra data may be provided as needed by implementing classes.- Specified by:
createAnnotatedString
in interfaceAnnotatedStringHandler
- Parameters:
prototypeString
- The prototypeFieldElement
that dictates the attributes for the newly created string. Implementations may change attributes as needed.text
- An array of Strings used to create theFieldElement
being returned.program
- The program with which the returned string is associated.- Returns:
- An
AnnotatedTextFieldElement
that will be used to render the given text. - Throws:
AnnotationException
- if the given text data does not fit the expected format for the given handler implementation.
-
getSupportedAnnotations
Description copied from interface:AnnotatedStringHandler
Returns the annotation string names that this AnnotatedStringHandler supports (e.g., "symbol", "address", etc...).- Specified by:
getSupportedAnnotations
in interfaceAnnotatedStringHandler
- Returns:
- the annotation string names that this AnnotatedStringHandler supports.
-
getDisplayString
Description copied from interface:AnnotatedStringHandler
Returns the String that represents the GUI presence of this option- Specified by:
getDisplayString
in interfaceAnnotatedStringHandler
- Returns:
- the String to display in GUI components.
-
getPrototypeString
Description copied from interface:AnnotatedStringHandler
Returns an example string of how the annotation is used- Specified by:
getPrototypeString
in interfaceAnnotatedStringHandler
- Returns:
- the example of how this is used.
-
getPrototypeString
Description copied from interface:AnnotatedStringHandler
Returns an example string of how the annotation is used- Specified by:
getPrototypeString
in interfaceAnnotatedStringHandler
- Parameters:
dislplayText
- The text that may be wrapped, cannot be null- Returns:
- the example of how this is used.
-