.. _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::

   * - 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)  
       - the full signature of methods  
       - direction of ports, etc.  
        
       .. figure:: ../../images/edt-tips-tooltip-method-info.png  
        
       Tooltips are available for all the types, methods, fields, macros, 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/edt-folding.png
   * - Override indications
     - Place the mouse cursor over an override annotation on the left vertical ruler of the editor. 
       A tooltip shows the overridden/extended method signature. 
       
       .. figure:: ../../images/common/edt-override-tooltip.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/edt-problem-tooltip-info.png  
        
       If multiple problems are reported on the same line, an annotation list is displayed. 
       
       .. figure:: ../../images/common/edt-problem-list-info.png
   * - Method call arguments mapping
     - Place the editor cursor on a method call argument and press :kbd:`Ctrl+Shift+Space`. 
       A tooltip lists all the method 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/e_context_menu_popup.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/edt-wavedrom-tooltip.png


