.. _Tooltips:

Tooltips
========

.. rst-class:: lead
  
  A tooltip is a brief, informative message that appears when a user interacts with an element in a graphical user interface (GUI). In DVT tooltips are initiated through a mouse-hover gesture.

The below table highlights all the available areas from where tooltips can be triggered:

.. list-table::
   :widths: auto

   * - **Code**
     - Place the mouse cursor over an identifier in the editor. 
     
       A tooltip shows information about the element under cursor:  
        
       * the comment associated with the element's declaration (written above or the side), or the LRM documentation for predefined API  
       
       * scoping information for types (enclosing package and library)  
       
       * the full signature of subprograms  
       
       * direction of ports, etc.  
        
       .. figure:: ../../images/vhdldt-tooltip-type-info.png  
        
       Tooltips are available for all the entities, architectures, subprograms, etc. from the source code files that DVT analyzes in your project.
   
   * - **Folded regions**
     - Place the mouse cursor over the + sign of a folded code region. A tooltip shows the folded region contents.
       
       .. figure:: ../../images/vhdldt-collapsed-code.png

   * - **Generic Values**
     - 
       .. figure:: ../../images/common/vhdldt-generic-value-info.png

   * - **Problems**
     - Place the mouse cursor over an error or warning annotation on the left vertical ruler of the editor. A tooltip shows the error or warning message. 
       
       .. figure:: ../../images/common/vhldt-problem-tooltip-info.png

       If multiple problems are reported on the same line, an annotation list is displayed. 

   * - | **Subprogram Call Parameters Mapping**
       |
       | **Ordered Generic Mapping**
       |
       | **Ordered Port Connection Mapping**

     - Place the editor cursor on a subprogram call argument and press  :kbd:`Ctrl+Shift+Space`. 
       A tooltip lists all the subprogram declaration arguments along with their name, type, direction and default value. Move the editor cursor using the arrow keys to inspect argument mapping - the argument under cursor is always highlighted in boldface.  
       
       .. figure:: ../../images/common/vhdl_context_menu_popup.png  
        
       The same functionality is available for instance generic connections and instance port connections.  

       .. figure:: ../../images/common/vhdl_positional_tooltips_parameters.png  
       
       .. figure:: ../../images/common/vhdl_context_menu_ordered_pc.png

   * - WaveDrom Diagrams
     - Place the mouse cursor over a JSON waveform description written inside a comment. The tooltip will display :ref:`WaveDrom Timing Diagrams`, if the descriptions are compliant with the WaveDrom library standard:  
       
       .. figure:: ../../images/common/vhdldt-tooltip-wavedrom.png


