Merge branch 'GP-3034_ghidra1_GZFImportExportImprovements--SQUASHED'

(help mods)
This commit is contained in:
ghidra1 2023-02-06 14:20:56 -05:00
commit 44d7c4f031
4 changed files with 67 additions and 15 deletions

View File

@ -24,7 +24,9 @@
<LI><A href="#c_cpp">C/C++</A></LI>
<LI><A href="#gzf">Ghidra Zip File (.gzf)</A></LI>
<LI><A href="#gzf">Ghidra Zip File (GZF)</A></LI>
<LI><A href="#gdt">Ghidra Data Type Archive File (GDT)</a></LI>
<LI><A href="#html">HTML</A></LI>
@ -58,6 +60,16 @@
<LI>Press the <B>OK</B> button to perform the export.</LI>
</UL>
<P><I><IMG src="help/shared/note.png"> In preparation for a file export, a selected project
file may be opened in an attempt to support export formats that require an open
file. If the selected file requires an upgrade a warning dialog
will be displayed and the affected export formats will not be available until an upgrade
is perfored, however a direct packed format of the project file may still be chosen
without performing the upgrade first (e.g., <A href="#gzf">Ghidra Zip File (GZF)</A>,
<A href="#gzf">Ghidra Zip File (GZF)</A>).
</P>
</BLOCKQUOTE>
<H3>To export from the CodeBrowser tool:</H3>
@ -276,12 +288,28 @@
</UL>
</BLOCKQUOTE>
<H3><A name="gzf"/>Ghidra Zip File (.gzf)</H3>
<H3><A name="gzf"/>Ghidra Zip File (GZF)</H3>
<BLOCKQUOTE>
<P>Creates a zip file from a program in your project. You may want to create a zip file
<P>Creates a GZF file from a Program in your project. You may want to create a GZF file
so that you can give it to another user who can then <A href=
"help/topics/ImporterPlugin/importer.htm">import</A> into their project.</P>
"help/topics/ImporterPlugin/importer.htm">import</A> into their project. A program
export of this format from the Project Window will be based on the current saved file
content and bypass any potential upgrade that may be required by other formats.
</P>
</BLOCKQUOTE>
<H3><A name="gdt"/>Ghidra Data Type Archive File (GDT)</H3>
<BLOCKQUOTE>
<P>Creates a GDT file from a Data Type Archive in your project. You may want to create a GDT file
so that you can give it to another user who can then <A href=
"help/topics/ImporterPlugin/importer.htm">import</A> into their project or open directly
via the Data Type Manager as a
<A href="help/topics/DataTypeManagerPlugin/data_type_manager_description.htm#Open_File_Data_Type_Archive">File Data Type Archive</A>.
A project Data Type Archive export of this format from the Project Window will be based on
the current saved file content and bypass any potential upgrade that may be required by other formats.
</P>
</BLOCKQUOTE>
<H3><A name="html"/><A name="Options_HTML"/>HTML</H3>

View File

@ -36,8 +36,8 @@
<LI>Dump File Loader</LI>
<LI>DYLD Shared Cache</LI>
<LI>Executable and Linking Format (ELF)</LI>
<LI>Ghidra Data Type Archive Format</LI>
<LI>GZF Input Format</LI>
<LI>Ghidra Data Type Archive File (GDT)</LI>
<LI>Ghidra Zip File (GZF)</LI>
<LI>Intel Hex</LI>
<LI>Java Class File</LI>
<LI>Mac OS X Mach-O</LI>
@ -81,14 +81,40 @@
<LI>Use the <A href="#Importer_Dialog">Importer Dialog</A> (or the <A href=
"#Batch_Import_Dialog">Batch Importer Dialog</A> if it is an archive) that pops up to
configure the import.</LI>
perform the import.</LI>
<LI>Press OK to initiate the import.</LI>
<LI>Press OK from the <A href="#Importer_Dialog">Importer Dialog</A> to perform the import.</LI>
<LI>A results summary dialog will appear and, if successful, the new program will appear
in the project window and if initiated from a CodeBrowser tool, it will be opened in the
tool.</LI>
</UL>
<H4>Alternative Steps (<I>drag-and-drop</I>):</H4>
<UL>
<LI><B>Project Window</B>: Drag a file from the system file explorer application and drop
onto the Ghidra Project Tree destination folder. Dropping onto the table view is not
supported. In the case of Ghidra Zip File (GZF) or Ghidra Data Type Archive (GDT) file
imports, an immediate unpack can be performed wthout a popup dialog if the Front End option
<I>Enable simple GZF/GDT unpack</I> is enabled (
<B>Edit<IMG src="help/shared/arrow.gif">Tool Options...<IMG src="help/shared/arrow.gif">File Import<IMG src="help/shared/arrow.gif">Enable simple GZF/GDT unpack</B>).
</LI>
<LI>or <B>Running Tool</B>: Drag a file from the system file explorer application and drop
onto a Tool window (e.g., <I>Code Browser Tool</I>).</LI>
<LI>The <A href="#Importer_Dialog">Importer Dialog</A> (or the <A href=
"#Batch_Import_Dialog">Batch Importer Dialog</A> if it is an archive) will be
displayed to complete the import.</LI>
<LI>Press OK to initiate the import.</LI>
<LI>A results summary dialog will appear and, if successful, the new program will appear
in the project window and if initiated from a CodeBrowser tool, it will be opened in the
tool.</LI>
</UL>
</BLOCKQUOTE>
<H3><A name="Batch_Import"></A>Batch Import</H3>

View File

@ -81,10 +81,8 @@
</CENTER>
<BLOCKQUOTE>
<P>The legend indicates the colors that correspond to each type of program element shown in
the overview display. The colors are specified as options and can be changed from the default
values. To change the colors, click on the color, or edit the options through the <B>Edit
<IMG src="help/shared/arrow.gif">Options</B>... dialog. You can choose the color from a
color chooser dialog.</P>
the overview display. The colors used may be changed via the associated
<a href="#OverviewOptions">Options</a> (see below).</P>
</BLOCKQUOTE>
<H3><A name="OverviewOptions"></A>Options</H3>
@ -107,8 +105,8 @@
<LI>Uninitialized Color - color for memory that is not initialized</LI>
</UL>
<P>To view the options, select <B>Edit <IMG src="help/shared/arrow.gif">Options</B>... on
the tool, then choose the <I>Overview</I> node in the options tree. To change a color, double
<P>To view the options, select <B>Edit <IMG src="help/shared/arrow.gif">Tool Options</B>... on
the tool, then choose the <B>Overview</B> node in the options tree. To change a color, double
click on the color bar in the <I>Overview</I> <I>Options</I> panel. Choose the color from the
color chooser dialog.</P>
</BLOCKQUOTE>

View File

@ -242,7 +242,7 @@ public class DataTypeManagerPlugin extends ProgramPlugin
Project project = tool.getProjectManager().getActiveProject();
if (project != null && project.getName().equals(projectName)) {
DomainFile df = project.getProjectData().getFile(pathname);
if (DataTypeArchive.class.isAssignableFrom(df.getDomainObjectClass())) {
if (df != null && DataTypeArchive.class.isAssignableFrom(df.getDomainObjectClass())) {
return df;
}
}