javadoc html5

This commit is contained in:
astrelsky
2019-12-12 22:47:09 -05:00
parent 3eb130123b
commit 3bdf049d44
136 changed files with 428 additions and 425 deletions
@@ -28,14 +28,14 @@ import ghidra.util.exception.InvalidInputException;
* string. Thus, when providing a namespace string, do not include the name * string. Thus, when providing a namespace string, do not include the name
* of anything other than namespaces, such as the name of a symbol. * of anything other than namespaces, such as the name of a symbol.
* <p> * <p>
* <a name="examples"></a> * <a id="examples"></a>
* Example strings: * Example strings:
* <ul> * <ul>
* <li>global{@link Namespace#NAMESPACE_DELIMITER ::}child1{@link Namespace#NAMESPACE_DELIMITER ::}child2 * <li>global{@link Namespace#NAMESPACE_DELIMITER ::}child1{@link Namespace#NAMESPACE_DELIMITER ::}child2
* <li>child1 * <li>child1
* </ul> * </ul>
* <p> * <p>
* <a name="assumptions"></a> * <a id="assumptions"></a>
* To view the assumptions for creating namespaces from a path string, see * To view the assumptions for creating namespaces from a path string, see
* the {@link NamespaceUtils} class. * the {@link NamespaceUtils} class.
* *
@@ -79,7 +79,7 @@ public class CreateNamespacesCmd implements Command {
* @param parentNamespace The namespace to be used as the starting parent * @param parentNamespace The namespace to be used as the starting parent
* of the namespaces that will be created. * of the namespaces that will be created.
* @param source the source of the namespace * @param source the source of the namespace
* @throws NullPointerException if <tt>namespaceString</tt> is <tt>null</tt>. * @throws NullPointerException if <code>namespaceString</code> is <code>null</code>.
* @see <a href="#examples">example format</a> * @see <a href="#examples">example format</a>
* @see <a href="#assumptions">assumptions</a> * @see <a href="#assumptions">assumptions</a>
*/ */
@@ -950,10 +950,10 @@ public abstract class GhidraScript extends FlatProgramAPI {
} }
/** /**
* A convenience method to print a formatted String using Java's <tt>printf</tt> * A convenience method to print a formatted String using Java's <code>printf</code>
* feature, which is similar to that of the C programming language. * feature, which is similar to that of the C programming language.
* For a full description on Java's * For a full description on Java's
* <tt>printf</tt> usage, see {@link java.util.Formatter}. * <code>printf</code> usage, see {@link java.util.Formatter}.
* <p> * <p>
* For examples, see the included <code>FormatExampleScript</code>. * For examples, see the included <code>FormatExampleScript</code>.
* <p> * <p>
@@ -1535,8 +1535,8 @@ public abstract class GhidraScript extends FlatProgramAPI {
/** /**
* Sets this script's highlight state (both the local variable * Sets this script's highlight state (both the local variable
* <tt>currentHighlight</tt> and the * <code>currentHighlight</code> and the
* <tt>GhidraState</tt>'s currentHighlight) to the given address set. Also sets the tool's highlight * <code>GhidraState</code>'s currentHighlight) to the given address set. Also sets the tool's highlight
* if the tool exists. (Same as calling setCurrentHightlight(set); * if the tool exists. (Same as calling setCurrentHightlight(set);
* @param set the set of addresses to include in the highlight. May be null. * @param set the set of addresses to include in the highlight. May be null.
*/ */
@@ -1859,8 +1859,8 @@ public abstract class GhidraScript extends FlatProgramAPI {
/** /**
* Attempts to locate a value from script arguments * Attempts to locate a value from script arguments
* or a script properties file using * or a script properties file using
* the given <tt>keys</tt> as the lookup key for the latter. The given <tt>parser</tt> will * the given <code>keys</code> as the lookup key for the latter. The given <code>parser</code> will
* be called to turn the String into a <tt>T</tt>. * be called to turn the String into a <code>T</code>.
* *
* @param transformer the function to turn a String into a T * @param transformer the function to turn a String into a T
* @param key the values used to create a key for lookup in the script properties file * @param key the values used to create a key for lookup in the script properties file
@@ -1883,7 +1883,7 @@ public abstract class GhidraScript extends FlatProgramAPI {
* @return null if no value was found in the aforementioned sources * @return null if no value was found in the aforementioned sources
* *
* @throws IllegalArgumentException if the loaded String value cannot be parsed into a * @throws IllegalArgumentException if the loaded String value cannot be parsed into a
* <tt>T</tt>. * <code>T</code>.
*/ */
private <T> T loadAskValue(T defaultValue, StringTransformer<T> transformer, String key) { private <T> T loadAskValue(T defaultValue, StringTransformer<T> transformer, String key) {
@@ -1936,7 +1936,7 @@ public abstract class GhidraScript extends FlatProgramAPI {
/** /**
* A generic method to execute user prompting for a value. This method handles: * A generic method to execute user prompting for a value. This method handles:
* <ol> * <ol>
* <li>Checking for a previously chosen value; using the optional <tt>defaultValue</tt> as a fallback</li> * <li>Checking for a previously chosen value; using the optional <code>defaultValue</code> as a fallback</li>
* <li>Calling the provided function to execute the client-specific ask UI</li> * <li>Calling the provided function to execute the client-specific ask UI</li>
* <li>Storing the chosen result after the dialog is closed</li> * <li>Storing the chosen result after the dialog is closed</li>
* </ol> * </ol>
@@ -144,7 +144,7 @@ public interface DataTypeManagerService extends DataTypeQueryService {
throws IOException, DuplicateIdException; throws IOException, DuplicateIdException;
/** /**
* Selects the given data type in the display of data types. A null <tt>dataType</tt> * Selects the given data type in the display of data types. A null <code>dataType</code>
* value will clear the current selection. * value will clear the current selection.
* *
* @param dataType The data type to select. * @param dataType The data type to select.
@@ -37,7 +37,7 @@ public interface DataTypeReferenceFinder extends ExtensionPoint {
* implementation. * implementation.
* <p> * <p>
* Note that this operation is multi-threaded and that results will be delivered as they * Note that this operation is multi-threaded and that results will be delivered as they
* are found via the <tt>callback</tt>. * are found via the <code>callback</code>.
* *
* @param program the program to search * @param program the program to search
* @param dataType the type for which to search * @param dataType the type for which to search
@@ -54,7 +54,7 @@ public interface DataTypeReferenceFinder extends ExtensionPoint {
* in a manner appropriate with the given implementation. * in a manner appropriate with the given implementation.
* <p> * <p>
* Note that this operation is multi-threaded and that results will be delivered as they * Note that this operation is multi-threaded and that results will be delivered as they
* are found via the <tt>callback</tt>. * are found via the <code>callback</code>.
* *
* @param program the program to search * @param program the program to search
* @param composite the type containing the field for which to search * @param composite the type containing the field for which to search
@@ -53,7 +53,7 @@ public interface GoToService {
* overloaded version of {@link #goTo(Address)} uses the given program as the program * overloaded version of {@link #goTo(Address)} uses the given program as the program
* within which to perform the GoTo. If the given program does not contain the given * within which to perform the GoTo. If the given program does not contain the given
* address, then the GoTo will not be performed and false will be returned. Passing * address, then the GoTo will not be performed and false will be returned. Passing
* <tt>null</tt> as the <tt>program</tt> parameter will cause this method to attempt to find * <code>null</code> as the <code>program</code> parameter will cause this method to attempt to find
* a program that contains the given ProgramLocation. * a program that contains the given ProgramLocation.
* *
* @param loc location to go to * @param loc location to go to
@@ -91,8 +91,8 @@ public interface GoToService {
* Generates a GoTo event to the gotoAddress. This overloaded version of * Generates a GoTo event to the gotoAddress. This overloaded version of
* {@link #goTo(Address)} uses the given program as the program within which to * {@link #goTo(Address)} uses the given program as the program within which to
* perform the GoTo. If the given program does not contain the given address, then the * perform the GoTo. If the given program does not contain the given address, then the
* GoTo will not be performed and false will be returned. Passing <tt>null</tt> as the * GoTo will not be performed and false will be returned. Passing <code>null</code> as the
* <tt>program</tt> parameter will cause this method to attempt to find * <code>program</code> parameter will cause this method to attempt to find
* a program that contains the given ProgramLocation. * a program that contains the given ProgramLocation.
* *
* @param goToAddress the address to goto * @param goToAddress the address to goto
@@ -36,7 +36,7 @@ import ghidra.program.model.listing.Program;
* the marker/bar will be displayed on the top. Areas will always be lower than * the marker/bar will be displayed on the top. Areas will always be lower than
* marker priorities. * marker priorities.
* </p> * </p>
* <a name="usage"></a> * <a id="usage"></a>
* <u>Recommended Usage</u><br> * <u>Recommended Usage</u><br>
* The service used to work independent of {@link Program}s. In order to work effectively this * The service used to work independent of {@link Program}s. In order to work effectively this
* service has been changed to associate created markers with individual programs. Thus, it is * service has been changed to associate created markers with individual programs. Thus, it is
@@ -53,7 +53,7 @@ public class ToolTipUtils {
} }
/** /**
* Examines the give <tt>dataType</tt> and creates a tool tip for it, * Examines the give <code>dataType</code> and creates a tool tip for it,
* depending upon its actual class type. * depending upon its actual class type.
* *
* @param dataType The data type from which a tool tip will be * @param dataType The data type from which a tool tip will be
@@ -57,25 +57,25 @@ public class GhidraRandomAccessFile {
* but adds buffering to limit the amount. * but adds buffering to limit the amount.
* <p> * <p>
* *
* <a name="mode"></a><p> The <tt>mode</tt> argument specifies the access mode * <a id="mode"></a><p> The <code>mode</code> argument specifies the access mode
* in which the file is to be opened. The permitted values and their * in which the file is to be opened. The permitted values and their
* meanings are: * meanings are:
* *
* <blockquote><table summary="Access mode permitted values and meanings"> * <blockquote><table><caption style="visibility:hidden;font-size:0px">Access mode permitted values and meanings</caption>
* <tr><th><p align="left">Value</p></th><th><p align="left">Meaning</p></th></tr> * <tr><th><p style="text-align:left">Value</p></th><th><p style="text-align:left">Meaning</p></th></tr>
* <tr><td valign="top"><tt>"r"</tt></td> * <tr><td style="vertical-align:top"><code>"r"</code></td>
* <td> Open for reading only. Invoking any of the <tt>write</tt> * <td> Open for reading only. Invoking any of the <code>write</code>
* methods of the resulting object will cause an {@link * methods of the resulting object will cause an {@link
* java.io.IOException} to be thrown. </td></tr> * java.io.IOException} to be thrown. </td></tr>
* <tr><td valign="top"><tt>"rw"</tt></td> * <tr><td style="vertical-align:top"><code>"rw"</code></td>
* <td> Open for reading and writing. If the file does not already * <td> Open for reading and writing. If the file does not already
* exist then an attempt will be made to create it. </td></tr> * exist then an attempt will be made to create it. </td></tr>
* <tr><td valign="top"><tt>"rws"</tt></td> * <tr><td style="vertical-align:top"><code>"rws"</code></td>
* <td> Open for reading and writing, as with <tt>"rw"</tt>, and also * <td> Open for reading and writing, as with <code>"rw"</code>, and also
* require that every update to the file's content or metadata be * require that every update to the file's content or metadata be
* written synchronously to the underlying storage device. </td></tr> * written synchronously to the underlying storage device. </td></tr>
* <tr><td valign="top"><tt>"rwd"&nbsp;&nbsp;</tt></td> * <tr><td style="vertical-align:top"><code>"rwd"&nbsp;&nbsp;</code></td>
* <td> Open for reading and writing, as with <tt>"rw"</tt>, and also * <td> Open for reading and writing, as with <code>"rw"</code>, and also
* require that every update to the file's content be written * require that every update to the file's content be written
* synchronously to the underlying storage device. </td></tr> * synchronously to the underlying storage device. </td></tr>
* </table></blockquote> * </table></blockquote>
@@ -84,8 +84,8 @@ public class GhidraRandomAccessFile {
* @param mode the access mode, as described * @param mode the access mode, as described
* <a href="#mode">above</a> * <a href="#mode">above</a>
* @exception IllegalArgumentException if the mode argument is not equal * @exception IllegalArgumentException if the mode argument is not equal
* to one of <tt>"r"</tt>, <tt>"rw"</tt>, <tt>"rws"</tt>, or * to one of <code>"r"</code>, <code>"rw"</code>, <code>"rws"</code>, or
* <tt>"rwd"</tt> * <code>"rwd"</code>
* @exception FileNotFoundException * @exception FileNotFoundException
* that name cannot be created, or if some other error occurs * that name cannot be created, or if some other error occurs
* while opening or creating the file * while opening or creating the file
@@ -318,7 +318,7 @@ public class HeadlessOptions {
/** /**
* This method can be used to enable recursive processing of files during * This method can be used to enable recursive processing of files during
* <tt>-import</tt> or <tt>-process</tt> modes. In order for recursive processing of files to * <code>-import</code> or <code>-process</code> modes. In order for recursive processing of files to
* occur, the user must have specified a directory (and not a specific file) * occur, the user must have specified a directory (and not a specific file)
* for the Headless Analyzer to import or process. * for the Headless Analyzer to import or process.
* *
@@ -35,28 +35,28 @@ public abstract class HeadlessScript extends GhidraScript {
*/ */
public enum HeadlessContinuationOption { public enum HeadlessContinuationOption {
/** /**
* Continue running scripts and/or analysis; <tt>-import</tt> and <tt>-process</tt> * Continue running scripts and/or analysis; <code>-import</code> and <code>-process</code>
* modes complete normally. * modes complete normally.
*/ */
CONTINUE, CONTINUE,
/** /**
* Continue running scripts and/or analysis; * Continue running scripts and/or analysis;
* <tt>-import</tt> mode does not save program, * <code>-import</code> mode does not save program,
* <tt>-process</tt> mode deletes program. * <code>-process</code> mode deletes program.
*/ */
CONTINUE_THEN_DELETE, CONTINUE_THEN_DELETE,
/** /**
* Abort any scripts or analysis that come after this script; * Abort any scripts or analysis that come after this script;
* <tt>-import</tt> mode does not save program, <tt>-process</tt> mode deletes program. * <code>-import</code> mode does not save program, <code>-process</code> mode deletes program.
*/ */
ABORT_AND_DELETE, ABORT_AND_DELETE,
/** /**
* Abort any scripts or analysis that come after this script; <tt>-import</tt> mode does * Abort any scripts or analysis that come after this script; <code>-import</code> mode does
* save program (but it may not be processed completely), * save program (but it may not be processed completely),
* <tt>-process</tt> mode completes normally, minus scripts or analysis that * <code>-process</code> mode completes normally, minus scripts or analysis that
* runs after the ABORT request. * runs after the ABORT request.
*/ */
ABORT ABORT
@@ -285,7 +285,7 @@ public abstract class HeadlessScript extends GhidraScript {
* </pre> * </pre>
* *
* Then the following usage would ensure that any files imported after this call would * Then the following usage would ensure that any files imported after this call would
* be saved in the <tt>MyGhidraProject:/dir1/innerDir2</tt> folder. * be saved in the <code>MyGhidraProject:/dir1/innerDir2</code> folder.
* <pre> * <pre>
* setHeadlessImportDirectory("dir1/innerDir2"); * setHeadlessImportDirectory("dir1/innerDir2");
* </pre> * </pre>
@@ -330,8 +330,8 @@ public abstract class HeadlessScript extends GhidraScript {
* If a file with the same name already exists in the desired location, it will only be * If a file with the same name already exists in the desired location, it will only be
* overwritten if "-overwrite" is true. * overwritten if "-overwrite" is true.
* <p> * <p>
* This method is only applicable when using the HeadlessAnalyzer <tt>-import</tt> mode and * This method is only applicable when using the HeadlessAnalyzer <code>-import</code> mode and
* is ineffective in <tt>-process</tt> mode. * is ineffective in <code>-process</code> mode.
* *
* @param importDir the absolute path (relative to root) where inputs will be saved * @param importDir the absolute path (relative to root) where inputs will be saved
* @throws ImproperUseException if not in headless mode or headless instance not set * @throws ImproperUseException if not in headless mode or headless instance not set
@@ -372,7 +372,7 @@ public abstract class HeadlessScript extends GhidraScript {
* <p> * <p>
* Analysis will time out only in the case where: * Analysis will time out only in the case where:
* <ol> * <ol>
* <li>the users has set an analysis timeout period using the <tt>-analysisTimeoutPerFile</tt> * <li>the users has set an analysis timeout period using the <code>-analysisTimeoutPerFile</code>
* parameter</li> * parameter</li>
* <li>analysis is enabled and has completed</li> * <li>analysis is enabled and has completed</li>
* <li>the current script is being run as a postScript (since postScripts run after * <li>the current script is being run as a postScript (since postScripts run after
@@ -559,9 +559,9 @@ public class GoToQuery {
//================================================================================================== //==================================================================================================
/** /**
* A class to maintain our collection of open programs and to provide an <tt>Iterator</tt> * A class to maintain our collection of open programs and to provide an <code>Iterator</code>
* when we need to process the collection. The {@link #iterator()} method has a side-effect * when we need to process the collection. The {@link #iterator()} method has a side-effect
* of putting the current program at the front of the <tt>Iterator</tt> so that the current * of putting the current program at the front of the <code>Iterator</code> so that the current
* program is always searched first when processing the collection of programs. * program is always searched first when processing the collection of programs.
*/ */
protected class ProgramGroup implements Iterable<Program> { protected class ProgramGroup implements Iterable<Program> {
@@ -125,7 +125,7 @@ public class BoundedBufferedReader extends Reader {
* Reads a single character. * Reads a single character.
* *
* @return The character read, as an integer in the range 0 to 65535 ( * @return The character read, as an integer in the range 0 to 65535 (
* <tt>0x00-0xffff</tt>), or -1 if the end of the stream has been * <code>0x00-0xffff</code>), or -1 if the end of the stream has been
* reached * reached
* @exception IOException * @exception IOException
* If an I/O error occurs * If an I/O error occurs
@@ -38,7 +38,7 @@ public interface FieldMouseHandler {
* @param mouseEvent The mouse event that triggered the click * @param mouseEvent The mouse event that triggered the click
* @param serviceProvider A service provider used to access system resources. * @param serviceProvider A service provider used to access system resources.
* @return true if this handler wishes to have exclusive handling rights to processing the * @return true if this handler wishes to have exclusive handling rights to processing the
* <tt>clickedObject</tt> * <code>clickedObject</code>
* @see ListingField#getClickedObject(ghidra.util.bean.field.FieldLocation) * @see ListingField#getClickedObject(ghidra.util.bean.field.FieldLocation)
*/ */
public boolean fieldElementClicked(Object clickedObject, Navigatable sourceNavigatable, public boolean fieldElementClicked(Object clickedObject, Navigatable sourceNavigatable,
@@ -39,10 +39,10 @@ import ghidra.util.SystemUtilities;
* Examples (pipes shown in red since they are hard to see): * Examples (pipes shown in red since they are hard to see):
* <ul> * <ul>
* <li><b>file://dir/subdir</b> -- simplest example, locates a file on local computer filesystem. * <li><b>file://dir/subdir</b> -- simplest example, locates a file on local computer filesystem.
* <li><b>file://dir/subdir/example.zip<font color="red">|</font>zip://readme.txt</b> -- points to a file named "readme.txt" in a zip file. * <li><b>file://dir/subdir/example.zip<span style="color:red">|</span>zip://readme.txt</b> -- points to a file named "readme.txt" in a zip file.
* <li><b>file://dir/subdir/example.zip<font color="red">|</font>zip://dir/nested.tar<font color="red">|</font>tar://file.txt</b> -- points to * <li><b>file://dir/subdir/example.zip<span style="color:red">|</span>zip://dir/nested.tar<span style="color:red">|</span>tar://file.txt</b> -- points to
* a file inside a TAR archive, which is inside a ZIP archive, which is on the local filesystem. * a file inside a TAR archive, which is inside a ZIP archive, which is on the local filesystem.
* <li><b>file://dir/subdir/example.zip?MD5=1234567<font color="red">|</font>zip://readme.txt?MD5=987654</b> -- * <li><b>file://dir/subdir/example.zip?MD5=1234567<span style="color:red">|</span>zip://readme.txt?MD5=987654</b> --
* points to a file named "readme.txt" (with a MD5 hash) in a zip file (that has another * points to a file named "readme.txt" (with a MD5 hash) in a zip file (that has another
* MD5 hash). * MD5 hash).
* </ul> * </ul>
@@ -600,7 +600,7 @@ public class FlatProgramAPI {
* starting from the address. If the start address is null, then the find will start * starting from the address. If the start address is null, then the find will start
* from the minimum address of the program. * from the minimum address of the program.
* <p> * <p>
* The <tt>byteString</tt> may contain regular expressions. The following * The <code>byteString</code> may contain regular expressions. The following
* highlights some example search strings (note the use of double backslashes ("\\")): * highlights some example search strings (note the use of double backslashes ("\\")):
* <pre> * <pre>
* "\\x80" - A basic search pattern for a byte value of 0x80 * "\\x80" - A basic search pattern for a byte value of 0x80
@@ -629,7 +629,7 @@ public class FlatProgramAPI {
* the given byte string, starting from the address. If the start address is null, then the * the given byte string, starting from the address. If the start address is null, then the
* find will start from the minimum address of the program. * find will start from the minimum address of the program.
* <p> * <p>
* The <tt>byteString</tt> may contain regular expressions. The following * The <code>byteString</code> may contain regular expressions. The following
* highlights some example search strings (note the use of double backslashes ("\\")): * highlights some example search strings (note the use of double backslashes ("\\")):
* <pre> * <pre>
* "\\x80" - A basic search pattern for a byte value of 0x80 * "\\x80" - A basic search pattern for a byte value of 0x80
@@ -655,7 +655,7 @@ public class FlatProgramAPI {
* the given byte string, starting from the address. If the start address is null, then the * the given byte string, starting from the address. If the start address is null, then the
* find will start from the minimum address of the program. * find will start from the minimum address of the program.
* <p> * <p>
* The <tt>byteString</tt> may contain regular expressions. The following * The <code>byteString</code> may contain regular expressions. The following
* highlights some example search strings (note the use of double backslashes ("\\")): * highlights some example search strings (note the use of double backslashes ("\\")):
* <pre> * <pre>
* "\\x80" - A basic search pattern for a byte value of 0x80 * "\\x80" - A basic search pattern for a byte value of 0x80
@@ -699,7 +699,7 @@ public class FlatProgramAPI {
* *
* Note: The ranges within the addressSet are NOT treated as a contiguous set when searching * Note: The ranges within the addressSet are NOT treated as a contiguous set when searching
* <p> * <p>
* The <tt>byteString</tt> may contain regular expressions. The following * The <code>byteString</code> may contain regular expressions. The following
* highlights some example search strings (note the use of double backslashes ("\\")): * highlights some example search strings (note the use of double backslashes ("\\")):
* <pre> * <pre>
* "\\x80" - A basic search pattern for a byte value of 0x80 * "\\x80" - A basic search pattern for a byte value of 0x80
@@ -731,7 +731,7 @@ public class FlatProgramAPI {
* treated as a contiguous set when searching. * treated as a contiguous set when searching.
* *
* <p> * <p>
* The <tt>byteString</tt> may contain regular expressions. The following * The <code>byteString</code> may contain regular expressions. The following
* highlights some example search strings (note the use of double backslashes ("\\")): * highlights some example search strings (note the use of double backslashes ("\\")):
* <pre> * <pre>
* "\\x80" - A basic search pattern for a byte value of 0x80 * "\\x80" - A basic search pattern for a byte value of 0x80
@@ -130,7 +130,7 @@ public abstract class AbstractGhidraHeadlessIntegrationTest extends AbstractDock
/** /**
* Creates an in-memory program with the given language * Creates an in-memory program with the given language
* @param name the program name * @param name the program name
* @param languageString a language string of the format <tt>x86:LE:32:default</tt> * @param languageString a language string of the format <code>x86:LE:32:default</code>
* @param consumer a consumer for the program * @param consumer a consumer for the program
* @return a new program * @return a new program
* @throws Exception if there is any issue creating the language * @throws Exception if there is any issue creating the language
@@ -148,7 +148,7 @@ public abstract class AbstractGhidraHeadlessIntegrationTest extends AbstractDock
/** /**
* Creates an in-memory program with the given language * Creates an in-memory program with the given language
* @param name the program name * @param name the program name
* @param languageString a language string of the format <tt>x86:LE:32:default</tt> * @param languageString a language string of the format <code>x86:LE:32:default</code>
* @param compilerSpecID the ID * @param compilerSpecID the ID
* @param consumer a consumer for the program * @param consumer a consumer for the program
* @return a new program * @return a new program
@@ -38,7 +38,7 @@ import utility.function.ExceptionalFunction;
* This class will create for you a tool, a {@link TestEnv} and will open the program * This class will create for you a tool, a {@link TestEnv} and will open the program
* specified by {@link #getProgramName()}. * specified by {@link #getProgramName()}.
* *
* <P>To use this class, you must call {@link #initialize()} from your test or <tt>setUp</tt> * <P>To use this class, you must call {@link #initialize()} from your test or <code>setUp</code>
* method. * method.
* *
* <P>Note: if you are loading a pre-existing program, then simply override * <P>Note: if you are loading a pre-existing program, then simply override
@@ -67,7 +67,7 @@ public class TestEnv {
/** /**
* Used to perform emergency cleanup. Tests are expected to call {@link #dispose()} in * Used to perform emergency cleanup. Tests are expected to call {@link #dispose()} in
* their <tt>tearDown</tt> method. This is here to catch the case where the is some fatal * their <code>tearDown</code> method. This is here to catch the case where the is some fatal
* error that prevents that from taking place. * error that prevents that from taking place.
*/ */
private static Set<TestEnv> instances = new HashSet<>(); private static Set<TestEnv> instances = new HashSet<>();
@@ -362,7 +362,7 @@ public class TestEnv {
* @param ghidraClass The class of the dialog the user desires * @param ghidraClass The class of the dialog the user desires
* @param maxTimeMS The max amount of time in milliseconds to wait for the requested dialog * @param maxTimeMS The max amount of time in milliseconds to wait for the requested dialog
* to appear. * to appear.
* @return The first occurrence of a dialog that extends the given <tt>ghirdraClass</tt> * @return The first occurrence of a dialog that extends the given <code>ghirdraClass</code>
* @deprecated use instead {@link AbstractDockingTest#waitForDialogComponent(Class)} * @deprecated use instead {@link AbstractDockingTest#waitForDialogComponent(Class)}
*/ */
@Deprecated @Deprecated
@@ -480,7 +480,7 @@ public class TestEnv {
/** /**
* This method differs from {@link #launchDefaultTool()} in that this method does not set the * This method differs from {@link #launchDefaultTool()} in that this method does not set the
* <tt>tool</tt> variable in of this <tt>TestEnv</tt> instance. * <code>tool</code> variable in of this <code>TestEnv</code> instance.
* @return the tool * @return the tool
*/ */
public PluginTool createDefaultTool() { public PluginTool createDefaultTool() {
@@ -32,7 +32,7 @@ import ghidra.util.HelpLocation;
import resources.Icons; import resources.Icons;
/** /**
* <a name="description"></a> * <a id="description"></a>
* An action used to trigger navigation callback on instances of {@link JTable}. Users can * An action used to trigger navigation callback on instances of {@link JTable}. Users can
* toggle this action to control navigation that is based upon selection. * toggle this action to control navigation that is based upon selection.
* <p> * <p>
@@ -34,7 +34,7 @@ import ghidra.program.util.ProgramSelection;
* Navigation is only supported if the underlying table model * Navigation is only supported if the underlying table model
* implements <code>ProgramTableModel</code> and the <code>setGoToService()</code> method * implements <code>ProgramTableModel</code> and the <code>setGoToService()</code> method
* has been called with a valid reference. When both of these conditions are met, then the * has been called with a valid reference. When both of these conditions are met, then the
* table will navigate on a user's double-click or on an <tt>Enter</tt> key press. Also, if * table will navigate on a user's double-click or on an <code>Enter</code> key press. Also, if
* selection navigation is enabled, then this table will navigate <b>any time the selection of * selection navigation is enabled, then this table will navigate <b>any time the selection of
* the table changes</b>. To prevent this feature call * the table changes</b>. To prevent this feature call
* {@link #setNavigateOnSelectionEnabled(boolean)} with a value of false. * {@link #setNavigateOnSelectionEnabled(boolean)} with a value of false.
@@ -175,7 +175,7 @@ public class GhidraTable extends GTable {
/** /**
* Does nothing if no {@link GoToService} has been installed from * Does nothing if no {@link GoToService} has been installed from
* {@link #installNavigation(GoToService, Navigatable)}. Also, this method will do * {@link #installNavigation(GoToService, Navigatable)}. Also, this method will do
* nothing if this table's <tt>TableModel</tt> is not an instance of {@link ProgramTableModel}. * nothing if this table's <code>TableModel</code> is not an instance of {@link ProgramTableModel}.
* Otherwise, this method will attempt to go to the program location denoted by the * Otherwise, this method will attempt to go to the program location denoted by the
* given row and column. * given row and column.
* *
@@ -212,7 +212,7 @@ public class GhidraTable extends GTable {
* to go to the program location denoted by the given row and column. * to go to the program location denoted by the given row and column.
* <p> * <p>
* This method differs from {@link #navigate(int, int)} in that this method will not * This method differs from {@link #navigate(int, int)} in that this method will not
* navigate if {@link #navigateOnSelection} is <tt>false</tt>. * navigate if {@link #navigateOnSelection} is <code>false</code>.
*/ */
private void navigateOnCurrentSelection(int row, int column) { private void navigateOnCurrentSelection(int row, int column) {
if (!navigateOnSelection) { if (!navigateOnSelection) {
@@ -34,7 +34,7 @@ import docking.widgets.table.*;
* <p> * <p>
* This interface is an ExtensionPoint so that once created, they will be ingested automatically * This interface is an ExtensionPoint so that once created, they will be ingested automatically
* by Ghidra. Once discovered, these mappers will be used to provide dynamic columns to to * by Ghidra. Once discovered, these mappers will be used to provide dynamic columns to to
* tables with row types that match <tt>ROW_TYPE</tt>. * tables with row types that match <code>ROW_TYPE</code>.
* <p> * <p>
* This column is an extension of {@link TableRowMapper} that has knowledge of * This column is an extension of {@link TableRowMapper} that has knowledge of
* {@link ProgramLocationTableColumn}s, which means that it knows how to generate * {@link ProgramLocationTableColumn}s, which means that it knows how to generate
@@ -1364,7 +1364,7 @@ public abstract class AbstractScreenShotGenerator extends AbstractGhidraHeadedIn
* screen coordinates. This allows you to capture a sub-component of a UI, drawing * screen coordinates. This allows you to capture a sub-component of a UI, drawing
* rectangles around children of said sub-component. * rectangles around children of said sub-component.
* *
* <P>If you are unsure of what to pass for <tt>root</tt>, the call * <P>If you are unsure of what to pass for <code>root</code>, the call
* {@link #drawRectangleAround(JComponent, Color, int)} instead. * {@link #drawRectangleAround(JComponent, Color, int)} instead.
* *
* @param component the component to be en-rectangled * @param component the component to be en-rectangled
@@ -28,7 +28,7 @@ import docking.action.DockingActionIf;
* <b>toolbar buttons and menu items will enable and disable as the user interacts with the system. * <b>toolbar buttons and menu items will enable and disable as the user interacts with the system.
* Further, popup menu items will not be added to popup menus when they report false for * Further, popup menu items will not be added to popup menus when they report false for
* {@link DockingActionIf#isAddToPopup(ActionContext)}; they will appear in the popup, but be * {@link DockingActionIf#isAddToPopup(ActionContext)}; they will appear in the popup, but be
* disabled if they report <tt>true</tt> for the above call, but <tt>false</tt> for * disabled if they report <code>true</code> for the above call, but <code>false</code> for
* {@link DockingActionIf#isEnabledForContext(ActionContext)}.</b> * {@link DockingActionIf#isEnabledForContext(ActionContext)}.</b>
* When the user executes an action, the current context will be passed to the backing * When the user executes an action, the current context will be passed to the backing
* {@link DockingActionIf}. Ultimately, context serves to control action enablement and to * {@link DockingActionIf}. Ultimately, context serves to control action enablement and to
@@ -175,7 +175,7 @@ public abstract class ComponentProvider implements HelpDescriptor, ActionContext
public abstract JComponent getComponent(); public abstract JComponent getComponent();
/** /**
* A method that allows children to set the <tt>instanceID</tt> to a desired value (useful for * A method that allows children to set the <code>instanceID</code> to a desired value (useful for
* restoring saved IDs). * restoring saved IDs).
* <p> * <p>
* Note: this can be called only once during the lifetime of the calling instance; otherwise, an * Note: this can be called only once during the lifetime of the calling instance; otherwise, an
@@ -1002,7 +1002,7 @@ public class DialogComponentProvider
/** /**
* Sets the button to make "Default" when the dialog is shown. If no default button is * Sets the button to make "Default" when the dialog is shown. If no default button is
* desired, then pass <tt>null</tt> as the <tt>button</tt> value. * desired, then pass <code>null</code> as the <code>button</code> value.
* @param button the button to make default enabled. * @param button the button to make default enabled.
*/ */
public void setDefaultButton(JButton button) { public void setDefaultButton(JButton button) {
@@ -148,7 +148,7 @@ public class DockingUtils {
/** /**
* Checks if the mouseEvent has the "control" key down. On windows, this is actually * Checks if the mouseEvent has the "control" key down. On windows, this is actually
* the <tt>control</tt> key. On Mac, it is the <tt>command</tt> key. * the <code>control</code> key. On Mac, it is the <code>command</code> key.
* *
* @param mouseEvent the event to check * @param mouseEvent the event to check
* @return true if the control key is pressed * @return true if the control key is pressed
@@ -161,7 +161,7 @@ public class DockingUtils {
/** /**
* Checks if the mouseEvent has the "control" key down. On windows, this is actually * Checks if the mouseEvent has the "control" key down. On windows, this is actually
* the <tt>control</tt> key. On Mac, it is the <tt>command</tt> key. * the <code>control</code> key. On Mac, it is the <code>command</code> key.
* *
* @param keyEvent the event to check * @param keyEvent the event to check
* @return true if the control key is pressed * @return true if the control key is pressed
@@ -307,16 +307,16 @@ public class DockingUtils {
* <p> * <p>
* <u>Notes</u> * <u>Notes</u>
* Historically, to make a component transparent you would call * Historically, to make a component transparent you would call
* {@link JComponent#setOpaque(boolean)} with a <tt>false</tt> value. However, it turns out * {@link JComponent#setOpaque(boolean)} with a <code>false</code> value. However, it turns out
* that the definition and the implementation of this method are at odds. <tt>setOpaque(false)</tt> * that the definition and the implementation of this method are at odds. <code>setOpaque(false)</code>
* is meant to signal that some part of the component is transparent, so the parent component * is meant to signal that some part of the component is transparent, so the parent component
* needs to be painted. Most LaFs implemented this by not painting the background of the * needs to be painted. Most LaFs implemented this by not painting the background of the
* component, but used the parent's color instead. The Nimbus LaF actually honors the * component, but used the parent's color instead. The Nimbus LaF actually honors the
* contract of <tt>setOpaque()</tt>, which has the effect of painting the components * contract of <code>setOpaque()</code>, which has the effect of painting the components
* background by default. * background by default.
* <p> * <p>
* This method allows components to achieve transparency when they used to * This method allows components to achieve transparency when they used to
* rely on <tt>setOpaque(false)</tt>. * rely on <code>setOpaque(false)</code>.
* *
* @param c the component to be made transparent * @param c the component to be made transparent
*/ */
@@ -219,11 +219,11 @@ public class DockingWindowManager implements PropertyChangeListener, Placeholder
} }
/** /**
* A convenience method for getting the window for <tt>component</tt> and then calling * A convenience method for getting the window for <code>component</code> and then calling
* {@link #getInstanceForWindow(Window)}. * {@link #getInstanceForWindow(Window)}.
* @param component The component for which to get the associated {@link DockingWindowManager} * @param component The component for which to get the associated {@link DockingWindowManager}
* instance. * instance.
* @return The {@link DockingWindowManager} instance associated with <tt>component</tt> * @return The {@link DockingWindowManager} instance associated with <code>component</code>
*/ */
public static synchronized DockingWindowManager getInstance(Component component) { public static synchronized DockingWindowManager getInstance(Component component) {
Window window = WindowUtilities.windowForComponent(component); Window window = WindowUtilities.windowForComponent(component);
@@ -726,7 +726,7 @@ public class DockingWindowManager implements PropertyChangeListener, Placeholder
* Hides or shows the component associated with the given provider. * Hides or shows the component associated with the given provider.
* <p><br> * <p><br>
* <b>Note: </b> This method will not show the given provider if it has not previously been * <b>Note: </b> This method will not show the given provider if it has not previously been
* added via <tt>addComponent(...)</tt>. * added via <code>addComponent(...)</code>.
* *
* @param provider the provider of the component to be hidden or shown. * @param provider the provider of the component to be hidden or shown.
* @param visibleState true to show the component, false to hide it. * @param visibleState true to show the component, false to hide it.
@@ -33,7 +33,7 @@ import ghidra.util.exception.AssertException;
* processing. See {@link #dispatchKeyEvent(KeyEvent)} for a more detailed explanation of how * processing. See {@link #dispatchKeyEvent(KeyEvent)} for a more detailed explanation of how
* Ghidra processes key events. * Ghidra processes key events.
* <p> * <p>
* {@link #install()} must be called in order to install this <tt>Singleton</tt> into Java's * {@link #install()} must be called in order to install this <code>Singleton</code> into Java's
* key event processing system. * key event processing system.
*/ */
public class KeyBindingOverrideKeyEventDispatcher implements KeyEventDispatcher { public class KeyBindingOverrideKeyEventDispatcher implements KeyEventDispatcher {
@@ -98,9 +98,9 @@ public class KeyBindingOverrideKeyEventDispatcher implements KeyEventDispatcher
* There are some exceptions to this processing chain: * There are some exceptions to this processing chain:
* <ol> * <ol>
* <li>We don't do any processing when the focused component is an instance of * <li>We don't do any processing when the focused component is an instance of
* <tt>JTextComponent</tt>.</li> * <code>JTextComponent</code>.</li>
* <li>We don't do any processing if the active window is an instance of * <li>We don't do any processing if the active window is an instance of
* <tt>DockingDialog</tt>.</li> * <code>DockingDialog</code>.</li>
* </ol> * </ol>
* *
* @see java.awt.KeyEventDispatcher#dispatchKeyEvent(java.awt.event.KeyEvent) * @see java.awt.KeyEventDispatcher#dispatchKeyEvent(java.awt.event.KeyEvent)
@@ -19,7 +19,7 @@ package docking;
/** /**
* An enum that holds the values for order of keybinding precedence, in order from * An enum that holds the values for order of keybinding precedence, in order from
* highest priority to lowest. For a more detailed description of how Ghidra processes * highest priority to lowest. For a more detailed description of how Ghidra processes
* key events see <tt>ghidra.KeyBindingOverrideKeyDispatcher.dispatchKeyEvent(KeyEvent)</tt> * key events see <code>ghidra.KeyBindingOverrideKeyDispatcher.dispatchKeyEvent(KeyEvent)</code>
*/ */
public enum KeyBindingPrecedence { public enum KeyBindingPrecedence {
@@ -75,7 +75,7 @@ public class KeyBindingData {
/** /**
* Updates the given data with system-independent versions of key modifiers. For example, * Updates the given data with system-independent versions of key modifiers. For example,
* the <tt>control</tt> key will be converted to the <tt>command</tt> key on the Mac. * the <code>control</code> key will be converted to the <code>command</code> key on the Mac.
* @param newKeyBindingData the data to validate * @param newKeyBindingData the data to validate
* @return the potentially changed data * @return the potentially changed data
*/ */
@@ -573,7 +573,7 @@ public class KeyBindingUtils {
/** /**
* Updates the given data with system-independent versions of key modifiers. For example, * Updates the given data with system-independent versions of key modifiers. For example,
* the <tt>control</tt> key will be converted to the <tt>command</tt> key on the Mac. * the <code>control</code> key will be converted to the <code>command</code> key on the Mac.
* *
* @param keyStroke the keystroke to validate * @param keyStroke the keystroke to validate
* @return the potentially changed keystroke * @return the potentially changed keystroke
@@ -25,7 +25,7 @@ import java.awt.event.InputEvent;
/** /**
* This class receives notification when the user intitiates a * This class receives notification when the user intitiates a
* drag and drop operation; it is responsible for getting the * drag and drop operation; it is responsible for getting the
* <tt>Transferable</tt> and telling the <TT>DragSource</TT> to * <code>Transferable</code> and telling the <code>DragSource</code> to
* start the drag. * start the drag.
*/ */
public class DragGestureAdapter implements DragGestureListener { public class DragGestureAdapter implements DragGestureListener {
@@ -44,11 +44,11 @@ public class DragGestureAdapter implements DragGestureListener {
} }
/** /**
* A <tt>DragGestureRecognizer</tt> has detected a * A <code>DragGestureRecognizer</code> has detected a
* platform-dependent Drag and Drop action initiating gesture * platform-dependent Drag and Drop action initiating gesture
* and is notifying this Listener in order for it to initiate * and is notifying this Listener in order for it to initiate
* the action for the user. * the action for the user.
* <p>The <tt>DragGestureRecognizer</tt> hides the platform-specific * <p>The <code>DragGestureRecognizer</code> hides the platform-specific
* events that initate a drag and drop operation. * events that initate a drag and drop operation.
* *
* @param e event describing the gesture that has just occurred * @param e event describing the gesture that has just occurred
@@ -23,7 +23,7 @@ import java.awt.dnd.*;
* Adapter class that receives notifications in order to * Adapter class that receives notifications in order to
* provide drag over effects. * provide drag over effects.
* <p> When the operation ends, this class receives a * <p> When the operation ends, this class receives a
* <tt>dragDropEnd</tt> message, and is responsible for * <code>dragDropEnd</code> message, and is responsible for
* checking the success of the operation. If the operation was * checking the success of the operation. If the operation was
* successful, and if it was a Move, then * successful, and if it was a Move, then
* this class will remove the source data. * this class will remove the source data.
@@ -26,7 +26,7 @@ import java.util.ArrayList;
/** /**
* Class to handle notifications of drag and drop operations that occur * Class to handle notifications of drag and drop operations that occur
* on the DropTarget object. The DropTarget is the component that accepts * on the DropTarget object. The DropTarget is the component that accepts
* drops during a drag and drop operation. The <tt>drop</tt> * drops during a drag and drop operation. The <code>drop</code>
* method actually transfers the data. * method actually transfers the data.
*/ */
public class DropTgtAdapter implements DropTargetListener { public class DropTgtAdapter implements DropTargetListener {
@@ -70,7 +70,7 @@ public interface HelpService {
/** /**
* Register help for a specific object. * Register help for a specific object.
* *
* <P>Do not call this method will a <tt>null</tt> help location. Instead, to signal that * <P>Do not call this method will a <code>null</code> help location. Instead, to signal that
* an item has no help, call {@link #excludeFromHelp(Object)}. * an item has no help, call {@link #excludeFromHelp(Object)}.
* *
* @param helpObject the object to associate the specified help location with * @param helpObject the object to associate the specified help location with
@@ -21,9 +21,9 @@ import ghidra.util.HelpLocation;
import ghidra.util.SystemUtilities; import ghidra.util.SystemUtilities;
/** /**
* Note: this class overrides the <tt>equals(Object)</tt> and relies upon the <tt>equals</tt> * Note: this class overrides the <code>equals(Object)</code> and relies upon the <code>equals</code>
* method of the <tt>userData</tt> object. Thus, if it is important that equals work for you in * method of the <code>userData</code> object. Thus, if it is important that equals work for you in
* the non-standard identity way, then you must override <tt>equals</tt> in your user data objects. * the non-standard identity way, then you must override <code>equals</code> in your user data objects.
* *
* @param <T> the type of the action state * @param <T> the type of the action state
*/ */
@@ -44,7 +44,7 @@ import docking.util.GraphicsUtils;
* <pre> * <pre>
* [Checkbox][Icon][Menu Item Content][Menu Pull-right/Accelerator Text] * [Checkbox][Icon][Menu Item Content][Menu Pull-right/Accelerator Text]
* </pre> * </pre>
* To display the <b>Menu Item Content</b> in a tabular fashion, use the <tt>'\t'</tt> character * To display the <b>Menu Item Content</b> in a tabular fashion, use the <code>'\t'</code> character
* to delimit the data into columns. This class will align all menu items in the given menu * to delimit the data into columns. This class will align all menu items in the given menu
* based upon the largest number of columns in the group and the largest width for each column. * based upon the largest number of columns in the group and the largest width for each column.
*/ */
@@ -31,7 +31,7 @@ public class MenuGroupMap {
* Sets the group for the given menuPath * Sets the group for the given menuPath
* @param menuPath the menuPath for which to assign a group * @param menuPath the menuPath for which to assign a group
* @param group the name of the group for the action with the given menu path * @param group the name of the group for the action with the given menu path
* @param menuSubGroup the name used for sorting items in the same <tt>group</tt>. If this * @param menuSubGroup the name used for sorting items in the same <code>group</code>. If this
* value is {@link MenuData#NO_SUBGROUP}, then sorting is based upon the name of the * value is {@link MenuData#NO_SUBGROUP}, then sorting is based upon the name of the
* menu item. * menu item.
*/ */
@@ -75,8 +75,8 @@ public abstract class MultiActionDockingAction extends DockingAction
} }
/** /**
* By default a click on this action will trigger <tt>actionPerformed()</tt> to be called. * By default a click on this action will trigger <code>actionPerformed()</code> to be called.
* You can call this method to disable that feature. When called with <tt>false</tt>, this * You can call this method to disable that feature. When called with <code>false</code>, this
* method will effectively let the user click anywhere on the button or its drop-down arrow * method will effectively let the user click anywhere on the button or its drop-down arrow
* to show the popup menu. During normal operation, the user can only show the popup by * to show the popup menu. During normal operation, the user can only show the popup by
* clicking the drop-down arrow. * clicking the drop-down arrow.
@@ -99,9 +99,9 @@ public abstract class MultiStateDockingAction<T> extends DockingAction {
public abstract void actionStateChanged(ActionState<T> newActionState, EventTrigger trigger); public abstract void actionStateChanged(ActionState<T> newActionState, EventTrigger trigger);
/** /**
* If <tt>doPerformAction</tt> is <tt>true</tt>, then, when the user clicks the * If <code>doPerformAction</code> is <code>true</code>, then, when the user clicks the
* button and not the drop-down arrow, the {@link #doActionPerformed(ActionContext)} * button and not the drop-down arrow, the {@link #doActionPerformed(ActionContext)}
* method will be called. If <tt>doPerformAction</tt> is <tt>false</tt>, then, when * method will be called. If <code>doPerformAction</code> is <code>false</code>, then, when
* the user clicks the button and not the drop-down arrow, the popup menu will be shown, just * the user clicks the button and not the drop-down arrow, the popup menu will be shown, just
* as if the user had clicked the drop-down arrow. * as if the user had clicked the drop-down arrow.
* <p> * <p>
@@ -75,8 +75,8 @@ public class MultipleActionDockingToolbarButton extends EmptyBorderButton {
} }
/** /**
* By default a click on this button will trigger <tt>actionPerformed()</tt> to be called. * By default a click on this button will trigger <code>actionPerformed()</code> to be called.
* You can call this method to disable that feature. When called with <tt>false</tt>, this * You can call this method to disable that feature. When called with <code>false</code>, this
* method will effectively let the user click anywhere on the button or its drop-down arrow * method will effectively let the user click anywhere on the button or its drop-down arrow
* to show the popup menu. During normal operation, the user can only show the popup by * to show the popup menu. During normal operation, the user can only show the popup by
* clicking the drop-down arrow. * clicking the drop-down arrow.
@@ -258,8 +258,8 @@ public abstract class AbstractDockingTest extends AbstractGenericTest {
} }
/** /**
* Waits for a window with the given name. If <tt>parentWindow</tt> is not null, then it * Waits for a window with the given name. If <code>parentWindow</code> is not null, then it
* will be used to find subordinate windows. If <tt>parentWindow</tt> is null, then all * will be used to find subordinate windows. If <code>parentWindow</code> is null, then all
* existing frames will be searched. * existing frames will be searched.
* *
* @param parentWindow The parent of the window for which to search, or null to search all * @param parentWindow The parent of the window for which to search, or null to search all
@@ -364,7 +364,7 @@ public abstract class AbstractDockingTest extends AbstractGenericTest {
* Check for and display message component text associated with * Check for and display message component text associated with
* ErrLogDialog and OptionDialog windows. * ErrLogDialog and OptionDialog windows.
* @param w any window * @param w any window
* @return the message string if one can be found; <tt>null</tt> otherwise * @return the message string if one can be found; <code>null</code> otherwise
*/ */
public static String checkMessageDisplay(Window w) { public static String checkMessageDisplay(Window w) {
Component c = findComponentByName(w, "MESSAGE-COMPONENT"); Component c = findComponentByName(w, "MESSAGE-COMPONENT");
@@ -634,7 +634,7 @@ public abstract class AbstractDockingTest extends AbstractGenericTest {
* Waits for the first window of the given class. * Waits for the first window of the given class.
* *
* @param ghidraClass The class of the dialog the user desires * @param ghidraClass The class of the dialog the user desires
* @return The first occurrence of a dialog that extends the given <tt>ghirdraClass</tt> * @return The first occurrence of a dialog that extends the given <code>ghirdraClass</code>
* @see #waitForDialogComponent(Window, Class, int) * @see #waitForDialogComponent(Window, Class, int)
*/ */
public static <T extends DialogComponentProvider> T waitForDialogComponent( public static <T extends DialogComponentProvider> T waitForDialogComponent(
@@ -644,13 +644,13 @@ public abstract class AbstractDockingTest extends AbstractGenericTest {
/** /**
* Waits for the first window of the given class. This method assumes that the desired dialog * Waits for the first window of the given class. This method assumes that the desired dialog
* is parented by <tt>parentWindow</tt>. * is parented by <code>parentWindow</code>.
* *
* @param parentWindow The parent of the desired dialog; may be null * @param parentWindow The parent of the desired dialog; may be null
* @param clazz The class of the dialog the user desires * @param clazz The class of the dialog the user desires
* @param timeoutMS The max amount of time in milliseconds to wait for the requested dialog * @param timeoutMS The max amount of time in milliseconds to wait for the requested dialog
* to appear. * to appear.
* @return The first occurrence of a dialog that extends the given <tt>ghirdraClass</tt> * @return The first occurrence of a dialog that extends the given <code>ghirdraClass</code>
* @deprecated Instead call one of the methods that does not take a timeout * @deprecated Instead call one of the methods that does not take a timeout
* (we are standardizing timeouts). The timeouts passed to this method will * (we are standardizing timeouts). The timeouts passed to this method will
* be ignored in favor of the standard value. * be ignored in favor of the standard value.
@@ -748,7 +748,7 @@ public abstract class AbstractDockingTest extends AbstractGenericTest {
/** /**
* Searches for the first occurrence of a {@link ComponentProvider} that is an instance of * Searches for the first occurrence of a {@link ComponentProvider} that is an instance of
* the given <tt>providerClass</tt>. * the given <code>providerClass</code>.
* *
* @param clazz The class of the ComponentProvider to locate * @param clazz The class of the ComponentProvider to locate
* @return The component provider, or null if one cannot be found * @return The component provider, or null if one cannot be found
@@ -778,10 +778,10 @@ public abstract class AbstractDockingTest extends AbstractGenericTest {
/** /**
* Searches for the first occurrence of a {@link ComponentProvider} that is an instance of * Searches for the first occurrence of a {@link ComponentProvider} that is an instance of
* the given <tt>providerClass</tt>. This method will repeat the search every * the given <code>providerClass</code>. This method will repeat the search every
* {@link #DEFAULT_WAIT_DELAY} milliseconds * {@link #DEFAULT_WAIT_DELAY} milliseconds
* until the provider is found, or the maximum number of searches has been reached, where * until the provider is found, or the maximum number of searches has been reached, where
* <tt>maximum number of searches = MaxTimeMS / {@link #DEFAULT_WAIT_DELAY} </tt> * <code>maximum number of searches = MaxTimeMS / {@link #DEFAULT_WAIT_DELAY} </code>
* *
* @param clazz The class of the ComponentProvider to locate * @param clazz The class of the ComponentProvider to locate
* @return The component provider, or null if one cannot be found * @return The component provider, or null if one cannot be found
@@ -867,9 +867,9 @@ public abstract class AbstractDockingTest extends AbstractGenericTest {
* <p> * <p>
* Note: this method assumes the given node is not a RootNode, but a child thereof * Note: this method assumes the given node is not a RootNode, but a child thereof
* *
* @param node The <tt>Node</tt> instance that contains the desired <tt>ComponentProvider</tt> * @param node The <code>Node</code> instance that contains the desired <code>ComponentProvider</code>
* or other nodes. * or other nodes.
* @param providerClass The <tt>ComponentProvider</tt> class for which to search. * @param providerClass The <code>ComponentProvider</code> class for which to search.
*/ */
private static ComponentProvider getComponentProviderFromNode(Object node, private static ComponentProvider getComponentProviderFromNode(Object node,
Class<? extends ComponentProvider> providerClass) { Class<? extends ComponentProvider> providerClass) {
@@ -906,10 +906,10 @@ public abstract class AbstractDockingTest extends AbstractGenericTest {
/** /**
* Searches for the first occurrence of a {@link ComponentProvider} that is an instance of * Searches for the first occurrence of a {@link ComponentProvider} that is an instance of
* the given <tt>providerClass</tt>. This method will repeat the search every * the given <code>providerClass</code>. This method will repeat the search every
* {@link #DEFAULT_WAIT_DELAY} milliseconds * {@link #DEFAULT_WAIT_DELAY} milliseconds
* until the provider is found, or the maximum number of searches has been reached, where * until the provider is found, or the maximum number of searches has been reached, where
* <tt>maximum number of searches = MaxTimeMS / {@link #DEFAULT_WAIT_DELAY} </tt> * <code>maximum number of searches = MaxTimeMS / {@link #DEFAULT_WAIT_DELAY} </code>
* *
* @param parentWindow The window that will become the parent window of the provider (this is * @param parentWindow The window that will become the parent window of the provider (this is
* typically the tool's frame). * typically the tool's frame).
@@ -1012,7 +1012,7 @@ public abstract class AbstractDockingTest extends AbstractGenericTest {
/** /**
* Finds the toggle button with the given name inside of the given container and then * Finds the toggle button with the given name inside of the given container and then
* ensures that the selected state of the button matches <tt>selected</tt>. * ensures that the selected state of the button matches <code>selected</code>.
* <p> * <p>
* Note: this works for any instanceof {@link JToggleButton}, such as: * Note: this works for any instanceof {@link JToggleButton}, such as:
* <ul> * <ul>
@@ -1049,7 +1049,7 @@ public abstract class AbstractDockingTest extends AbstractGenericTest {
} }
/** /**
* Ensures that the selected state of the button matches <tt>selected</tt>. * Ensures that the selected state of the button matches <code>selected</code>.
* <p> * <p>
* Note: this works for most toggle button implementations which are derived from * Note: this works for most toggle button implementations which are derived from
* AbstractButton and relay on {@link AbstractButton#isSelected()} and * AbstractButton and relay on {@link AbstractButton#isSelected()} and
@@ -25,9 +25,9 @@ import javax.swing.ListSelectionModel;
* *
* <P><b>Usage note:</b> Typically this text field will not be used directly, but will * <P><b>Usage note:</b> Typically this text field will not be used directly, but will
* instead be used indirectly by way of an editor. * instead be used indirectly by way of an editor.
* If this field is used directly, then the user should use {@link #setSelectedValue(Object)} and * If this field is used directly, then the user should use <ins>{@link #setSelectedValue(Object)}</ins> and
* {@link #getSelectedValue()} to get and set data on this field, rather than calling * <ins>{@link #getSelectedValue()}</ins> to get and set data on this field, rather than calling
* <strike>{@link #setText(String)}</strike> and <strike>{@link #getText()}</strike>. * <del>{@link #setText(String)}</del> and <del>{@link #getText()}</del>.
* *
* <P>Usage notes: * <P>Usage notes:
* <UL> * <UL>
@@ -28,7 +28,7 @@ import javax.swing.ListCellRenderer;
public interface DropDownTextFieldDataModel<T> { public interface DropDownTextFieldDataModel<T> {
/** /**
* Returns a list of data that matches the given <tt>searchText</tt>. A match typically * Returns a list of data that matches the given <code>searchText</code>. A match typically
* means a "startsWith" match. A list is returned to allow for multiple matches. * means a "startsWith" match. A list is returned to allow for multiple matches.
* *
* @param searchText The text used to find matches. * @param searchText The text used to find matches.
@@ -89,8 +89,8 @@ public class HyperlinkComponent extends JPanel {
/** /**
* Add a listener that will be called whenever hyperlink updates happen (hover, activate, etc). * Add a listener that will be called whenever hyperlink updates happen (hover, activate, etc).
* *
* @param anchorName The value in the <tt>href</tt> attribute of the anchor tag. * @param anchorName The value in the <code>href</code> attribute of the anchor tag.
* @param listener The listener to be called when the anchor(s) with a matching <tt>href</tt> is * @param listener The listener to be called when the anchor(s) with a matching <code>href</code> is
* manipulated by the user. * manipulated by the user.
*/ */
public void addHyperlinkListener(String anchorName, HyperlinkListener listener) { public void addHyperlinkListener(String anchorName, HyperlinkListener listener) {
@@ -41,10 +41,10 @@ import ghidra.util.exception.AssertException;
* The primary type of * The primary type of
* dialog provided herein is the basic option dialog that allows the user to specify the buttons * dialog provided herein is the basic option dialog that allows the user to specify the buttons
* that appear on the dialog. By default, the given option text will appear as a button(s), * that appear on the dialog. By default, the given option text will appear as a button(s),
* followed by a <tt>Cancel</tt> button (you can call the * followed by a <code>Cancel</code> button (you can call the
* {@link #showOptionNoCancelDialog(Component, String, String, String, String, int)} methods if * {@link #showOptionNoCancelDialog(Component, String, String, String, String, int)} methods if
* you do not want a <tt>Cancel</tt> button. To use this type of dialog you can use the * you do not want a <code>Cancel</code> button. To use this type of dialog you can use the
* various <b><tt>showOptionDialog*</tt></b> methods. * various <b><code>showOptionDialog*</code></b> methods.
* </p> * </p>
* <p> * <p>
* Each of the option dialog methods will return a result, which is a number indicating the * Each of the option dialog methods will return a result, which is a number indicating the
@@ -70,8 +70,8 @@ import ghidra.util.exception.AssertException;
* <h3>Yes/No Dialogs</h3><br> * <h3>Yes/No Dialogs</h3><br>
* <blockquote> * <blockquote>
* <p> * <p>
* Finally, there are a series of methods that present <tt>Yes</tt> and <tt>No</tt> buttons in * Finally, there are a series of methods that present <code>Yes</code> and <code>No</code> buttons in
* a dialog. There are versions that do and do not have a <tt>Cancel</tt> button. * a dialog. There are versions that do and do not have a <code>Cancel</code> button.
* </p> * </p>
* </blockquote> * </blockquote>
* *
@@ -789,8 +789,8 @@ public class OptionDialog extends DialogComponentProvider {
/** /**
* Dialog with only YES/NO options, <b>no CANCEL</b> * Dialog with only YES/NO options, <b>no CANCEL</b>
* <p> * <p>
* The dialog shown by this method will have the <tt>No</tt> button set as the default button so * The dialog shown by this method will have the <code>No</code> button set as the default button so
* that an Enter key press will trigger a <tt>No</tt> action. * that an Enter key press will trigger a <code>No</code> action.
* *
* @param parent The parent component of this dialog. If the given component is * @param parent The parent component of this dialog. If the given component is
* a frame or dialog, then the component will be used to parent the option dialog. * a frame or dialog, then the component will be used to parent the option dialog.
@@ -50,7 +50,7 @@ import ghidra.util.Swing;
* is different than adding an option named "Cancel" which would return a result greater than * is different than adding an option named "Cancel" which would return a result greater than
* <code>0</code>, depending on where in the order it was added. * <code>0</code>, depending on where in the order it was added.
* *
* <P><a name="RememberOption"></a>A "Remember Option" can be added to OptionDialog to * <P><a id="RememberOption"></a>A "Remember Option" can be added to OptionDialog to
* present the user with a choice for remembering a dialog result and automatically * present the user with a choice for remembering a dialog result and automatically
* returning that result instead of showing the dialog or similar dialogs in the future. * returning that result instead of showing the dialog or similar dialogs in the future.
* Note that for simple OK dialogs, there really isn't a meaningful result to remember, other * Note that for simple OK dialogs, there really isn't a meaningful result to remember, other
@@ -163,7 +163,7 @@ public class GhidraComboBox<E> extends JComboBox<E> implements GComponent {
* By default Ghidra disables the forwarding altogether, since most users of * By default Ghidra disables the forwarding altogether, since most users of
* {@link GhidraComboBox} will add an action listener to handle &lt;Enter&gt; actions. * {@link GhidraComboBox} will add an action listener to handle &lt;Enter&gt; actions.
* <p> * <p>
* To re-enable the default behavior, set the <tt>forwardEnter</tt> value to true. * To re-enable the default behavior, set the <code>forwardEnter</code> value to true.
* *
* @param forwardEnter true to enable default &lt;Enter&gt; key handling. * @param forwardEnter true to enable default &lt;Enter&gt; key handling.
*/ */
@@ -41,7 +41,7 @@ public class InputWithChoicesDialog extends DialogComponentProvider {
* can check the value of {@link #isCanceled()} to know whether or not * can check the value of {@link #isCanceled()} to know whether or not
* the user canceled the operation. To get the user selected value use the * the user canceled the operation. To get the user selected value use the
* {@link #getValue()} value(s) entered by the user. If the user cancelled the operation, then * {@link #getValue()} value(s) entered by the user. If the user cancelled the operation, then
* null will be returned from <tt>getValue()</tt>. * null will be returned from <code>getValue()</code>.
* <P> * <P>
* *
* @param dialogTitle used as the name of the dialog's title bar * @param dialogTitle used as the name of the dialog's title bar
@@ -70,7 +70,7 @@ public class InputWithChoicesDialog extends DialogComponentProvider {
* can check the value of {@link #isCanceled()} to know whether or not * can check the value of {@link #isCanceled()} to know whether or not
* the user canceled the operation. To get the user selected value use the * the user canceled the operation. To get the user selected value use the
* {@link #getValue()} value(s) entered by the user. If the user cancelled the operation, then * {@link #getValue()} value(s) entered by the user. If the user cancelled the operation, then
* null will be returned from <tt>getValue()</tt>. * null will be returned from <code>getValue()</code>.
* <P> * <P>
* *
* @param dialogTitle used as the name of the dialog's title bar * @param dialogTitle used as the name of the dialog's title bar
@@ -39,7 +39,7 @@ public interface FieldElement {
/** /**
* Returns the length of the text within this element. This is a convenience method for * Returns the length of the text within this element. This is a convenience method for
* calling <tt>getText().length()</tt>. * calling <code>getText().length()</code>.
* @return the length of the text within this element. * @return the length of the text within this element.
*/ */
public int length(); public int length();

Some files were not shown because too many files have changed in this diff Show More