:topic: Menu Bar

.. index::
   pair: DREAM3D-NX; Menu Bar;


.. _UIMenuBar:

Menu Bar
#####################

.. figure:: Images/OverView-MenuBar.png
   :alt: Menu Bar

   Menu Bar

The **Menu Bar** contains all the actions available in the application,
all in one easy-to-access location. There are six menus in the menu bar:
File, Edit, Pipeline, View, Bookmarks, and Help.

File Menu
=====================

.. figure:: Images/OverView-MenuBar-File.png
   :alt: File Menu

   File Menu

In the **File Menu**, we have the following options:

-  **New Pipeline** - Creates a new DREAM3D-NX pipeline in a new
   window.
-  **Duplicate Pipeline Window** - Creates a copy of the current DREAM3D-NX 
   pipeline and opens it in a new window.
-  **Open Pipeline** - Opens an existing DREAM3D-NX pipeline in a new
   window.
-  **Open Workflow** - Opens an existing DREAM3D-NX workflow in a new
   window.
-  **Open Workflow as Pipeline** - Opens and converts an existing
   DREAM3D-NX workflow to a DREAM3D-NX pipeline, in a new window.
-  **Open Recent >** - Opens a recent pipeline or workflow in a new
   window.
-  **Save Pipeline** - Saves the current pipeline to its corresponding
   DREAM3D-NX pipeline file, or to a new DREAM3D-NX pipeline file if
   there isn’t a corresponding one.
-  **Save Pipeline As** - Saves the current pipeline to a new DREAM3D-NX
   pipeline file.
-  **Load State** - This will load the entire state of the application from 
   from a compatible DREAM3D-NX state file (.d3dstate).
   (See the :ref:`State Files <StateFiles>` section for more details on 
   loading state files)
-  **Save State** - This will save the entire state of the application. 
   (See the :ref:`State Files <StateFiles>` section for more details on saving state files)
-  **Close Pipeline** - Closes the current pipeline.
-  **Quit DREAM3D-NX** - Quits the entire DREAM3D-NX application.


Edit Menu
=====================

.. figure:: Images/OverView-MenuBar-Edit.png
   :alt: Edit Menu

   Edit Menu

   In the **Edit Menu**, we have the following options:
   - **Undo...** - Undo the last add/remove filter(s) action.
   - **Redo...** - Redo the last add/remove filter(s) action that was undone. 

.. raw:: html
   <!-- ## 
   - **Cut...** - Cuts the currently selected filter(s) from the pipeline to the system clipboard.
   - **Copy...** - Copies the currently selected filter(s) in the pipeline to the system clipboard.
   - **Paste...** - Pastes the filter(s) from the system clipboard into the pipeline.

   **Note:** Copying **Filters** puts them onto the system clipboard as a pipeline in JSON format.  Therefore, it is possible to create a sub-pipeline of a pipeline currently loaded in DREAM3D-NX by copying filters to the clipboard in DREAM3D-NX and then pasting into any text editor. -->

Pipeline Menu
=====================

.. figure:: Images/OverView-MenuBar-Pipeline.png
   :alt: Pipeline Menu

   Pipeline Menu

The **Pipeline Menu** contains actions for the :ref:`Pipeline View <PipelineView>`. 
In this menu, we have the following options:

-  **Run Pipeline…** - Executes the pipeline, the same as pressing the
   **Run** button.
-  **Clear Pipeline…** - Clears the pipeline of all filters.
-  **Pipeline Details…** - Displays the pipeline details.
-  **Error Handling…** - Determines how errors are displayed

View Menu
=====================

.. figure:: Images/OverView-MenuBar-View.png
   :alt: View Menu

   View Menu

In the **View Menu**, we have the following options:

-  **Themes >** - Select from various DREAM3D-NX themes, including
   *Light* and *Dark* themes as well as scale the font sizes up or down as needed.
-  **Filter Parameters** - Toggle the visibility of the **Filter Parameters**.
-  **Workflow Parameters** - Toggle the visibility of the **Workflow Parameters**.
-  **Filter List** - Toggle the visibility of the :ref:`Filter List View <FilterListView>`.
-  **Bookmarks** - Toggle the visibility of the :ref:`Bookmarks View <BookmarksView>`.
-  **Pipeline** - Toggle the visibility of the :ref:`Pipeline View <PipelineView>`.
-  **Issues** - Toggle the visibility of the :ref:`Pipeline Issues View <IssuesView>`.
-  **Output** - Toggle the visibility of the :ref:`Pipeline Output View <PipelineOutputView>`.
-  **Pinned Parameters** - Toggle the visibility of the :ref:`Pinned Parameters View <PinnedParameters>`.
-  **Data Structure** - Toggle the visibility of the :ref:`Data Structure View <DataStructureView>`.
-  **Visualization** - Toggle the visibility of the :ref:`Visualization View <VisualizationView>`.
-  **Render Properties** - Toggle the visibility of the :ref:`Render Properties <RenderPropertiesOverview>`.

Bookmarks Menu
=====================

.. figure:: Images/OverView-MenuBar-Bookmarks.png
   :alt: Bookmarks Menu

   Bookmarks Menu

The **Bookmarks Menu** contains actions for the :ref:`Bookmarks View <BookmarksView>`. 
In this menu, we have the following options:

-  **Add Bookmark** - Adds a pipeline from the file system as a
   bookmark.
-  **Add Bookmark Folder** - Adds a folder to the **Bookmarks View**.
-  **Open Bookmark** - Opens a bookmark from the file system.
-  **Execute Bookmark** - Opens a bookmark from the file system and
   executes the pipeline.
-  **Rename Bookmark** - Renames the currently selected bookmark.
-  **Remove Bookmark** - Removes the currently selected bookmark(s).
-  **Locate File** - Allows the ability to select a pipeline file to
   associate with the currently selected bookmark. This feature is
   necessary if the underlying pipeline file for a bookmark gets moved
   or removed.
-  **Show In Finder/Windows Explorer/File System** - Shows the currently
   selected bookmark in the native file system.
-  **Clear Bookmarks** - Clears all bookmarks in the **Bookmarks View**.

Visualization Menu
=====================

.. figure:: Images/OverView-MenuBar-Visualization.png
   :alt: Visualization Menu

   Visualization Menu

In the **Visualization Menu**, we have the following options:

-  **Add Visual Filter >** - Convenience menu used to add a filter to the 
   currently selected geometry or filter.
-  **Add Data View >** - Convenience menu used to add a representation to 
   the currently selected geometry or filter.
-  **Add Annotations >** - Convenient menu used to add a global annotation 
   to the active render window.
-  **Load File** - This will display a standard file selection dialog box 
   to select a supported file and directly load it into the visualization view.
-  **Load State** - This will display a standard file selection dialog box 
   to select a DREAM3D state file (.d3dstate) and directly load it into the 
   visualization view to restore a previous visualization state.
-  **Save State** - This will allow the user to save the current visualization
   state (including the render window(s), the treeview and all of its data, and 
   the representation & filter settings) to a DREAM3D state file (.d3dstate).
-  **Show Dataset Information** - Displays general information about the 
   currently selected representation's underlying geometry
-  **Settings >** - Convenience menu for accessing various visualization settings options 
   such as setting a default split view (this allows you to save the 
   current state of the render window(s) including the split state, camera 
   angles, camera perspective, and global axes grid visibility as the default 
   state every time a new pipeline window is launched.) & deleting presets.
      

Tools Menu
=====================

.. figure:: Images/OverView-MenuBar-Tools.png
   :alt: Tools Menu

   Tools Menu

In the **Tools Menu**, we have the following options:

-  :ref:`Orientation Utility <OrientationUtility>` - This Utility allows 
   the user to compute alternate representations of an orientation based on
   another representation.

-  :ref:`Preferences <ApplicationPreferences>` - Provides a central location for configuring application wide settings.
   These preferences are organized into general application preferences and visualization 
   preferences and are detailed below.



Help Menu
=====================

.. figure:: Images/OverView-MenuBar-Help.png
   :alt: Help Menu

   Help Menu

In the **Help Menu**, we have the following options:

.. _HelpMenuCheckForUpdates:

-  **DREAM3D-NX Help** - Opens the user manual documentation for DREAM3D-NX.
-  **DREAM3D-NX on YouTube** - Opens the BlueQuartz Software YouTube channel containing a number of DREAM3D-NX tutorial videos.
-  **Contact Support** - Opens the `contact support <https://www.bluequartz.net/?page_id=14>`_ form on the BlueQuartz Software website where users 
   can request cutomized support. (Make sure to include your customer ID if you have one)
-  **Submit a Bug Report** - Opens the `bug report form <https://www.bluequartz.net/?page_id=794>`_ form on the BlueQuartz Software website where users can 
   report bugs found in the DREAM3D-NX software. You can find much of the information requested in this form by going to the **About DREAM3D-NX** page found 
   in this Help menu and clicking the **Copy Info** button.
-  **Submit Feedback** - Opens the `contact form <https://www.bluequartz.net/?page_id=14>`_ on the BlueQuartz Software website where users can
   submit their feeback about DREAM3D-NX. (Make sure to include your customer ID if you have one)
-  **GitHub Community Support** - Opens the `GitHub Community Support page <https://github.com/BlueQuartzSoftware/DREAM3DNX-Issues/discussions>`_ where users can get support 
   from the DREAM3D-NX community.
-  **Check for Updates** - Opens a dialog which allows the user to set the frequency with which DREAM3D-NX will automatically check the BlueQuartz Software servers 
   for DREAM3D-NX updates. The user has the option to check automatically at a set interval (application start up, daily, weekly, or monthly) or 
   manually using the **Check Now** button located in this dialog.
   
   .. figure:: Images/CheckForUpdatesDialog.png
      :alt: Check for Updates Dialog

      Check for Updates Dialog
-  **Release Notes** - Opens the :ref:`Release Notes <ReleaseNotes>` page for that version of DREAM3D-NX.
-  **3rd Party Licensing** - Opens the `3rd Party Licensing <https://www.dream3d.io/ThirdPartyLicense/>`_ web page containing licensing information for all of 
   the DREAM3D-NX dependant libraries.
-  **Privacy Policy** - Opens the web page on the DREAM3D-NX website containg our `Privacy Policy <https://www.dream3d.io/PrivacyPolicy/>`_.
-  **License Information** - Opens the dialog containing all the DREAM3D-NX licensing information. For more details, see the :ref:`License Information section <LicenseInformation>`.
-  **About DREAM3D-NX** - Opens the about page for DREAM3D-NX which contains detailed information on the version number and helpful 
   links to our websites for accessing updated versions of the application, support forms, and licensing information. There is also a **Copy Info**
   button which will copy all of the application and system information that may be relevent when submitting feedback or bug reports. 
-  **Register DREAM3D-NX** - Opens the `Register DREAM3D-NX <https://secure.softwarekey.com/solo/customers/AddLicense.aspx?AuthorID=5593114>`_ web page in your 
   customer license portal where you can register your product.

   
.. |Add Btn| image:: Images/Add.svg
.. |Edit Btn| image:: Images/Edit.svg
.. |Delete Btn| image:: Images/Delete.svg
.. |Show Dir Btn| image:: Images/Folder.svg

