LCOV - code coverage report
Current view: top level - src/utils/foxtools - MFXMenuButtonTooltip.h (source / functions) Coverage Total Hit
Test: lcov.info Lines: 0.0 % 2 0
Test Date: 2025-12-06 15:35:27 Functions: 0.0 % 1 0

            Line data    Source code
       1              : /****************************************************************************/
       2              : // Eclipse SUMO, Simulation of Urban MObility; see https://eclipse.dev/sumo
       3              : // Copyright (C) 2001-2025 German Aerospace Center (DLR) and others.
       4              : // This program and the accompanying materials are made available under the
       5              : // terms of the Eclipse Public License 2.0 which is available at
       6              : // https://www.eclipse.org/legal/epl-2.0/
       7              : // This Source Code may also be made available under the following Secondary
       8              : // Licenses when the conditions for such availability set forth in the Eclipse
       9              : // Public License 2.0 are satisfied: GNU General Public License, version 2
      10              : // or later which is available at
      11              : // https://www.gnu.org/licenses/old-licenses/gpl-2.0-standalone.html
      12              : // SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-or-later
      13              : /****************************************************************************/
      14              : /// @file    MFXMenuButtonTooltip.h
      15              : /// @author  Pablo Alvarez Lopez
      16              : /// @date    2022-07-27
      17              : ///
      18              : // MenuButton similar to FXMenuButton but with the possibility of showing tooltips
      19              : /****************************************************************************/
      20              : #pragma once
      21              : #include <config.h>
      22              : 
      23              : #include <string>
      24              : 
      25              : #include "fxheader.h"
      26              : 
      27              : // ===========================================================================
      28              : // class declaration
      29              : // ===========================================================================
      30              : 
      31              : class MFXStaticToolTip;
      32              : 
      33              : // ===========================================================================
      34              : // class definitions
      35              : // ===========================================================================
      36              : 
      37              : class MFXMenuButtonTooltip : public FXMenuButton {
      38              :     /// @brief fox declaration
      39            0 :     FXDECLARE(MFXMenuButtonTooltip)
      40              : 
      41              : public:
      42              :     /// @brief constructor (Exactly like the FXMenuButton constructor)
      43              :     MFXMenuButtonTooltip(FXComposite* p, MFXStaticToolTip* staticToolTip, const std::string& text, FXIcon* ic,
      44              :                          FXPopup* pup, FXObject* optionalTarget,
      45              :                          FXuint opts = JUSTIFY_NORMAL | ICON_BEFORE_TEXT | MENUBUTTON_DOWN,
      46              :                          FXint x = 0, FXint y = 0, FXint w = 0, FXint h = 0,
      47              :                          FXint pl = DEFAULT_PAD, FXint pr = DEFAULT_PAD, FXint pt = DEFAULT_PAD, FXint pb = DEFAULT_PAD);
      48              : 
      49              :     /// @brief destructor (Called automatically)
      50              :     ~MFXMenuButtonTooltip();
      51              : 
      52              :     /// @name FOX callbacks
      53              :     /// @{
      54              :     /// @brief called when mouse enter in MFXMenuButtonTooltip
      55              :     long onEnter(FXObject*, FXSelector, void*);
      56              : 
      57              :     /// @brief called when mouse leaves in MFXMenuButtonTooltip
      58              :     long onLeave(FXObject*, FXSelector, void*);
      59              : 
      60              :     /// @brief called when mouse motion in MFXMenuButtonTooltip
      61              :     long onMotion(FXObject*, FXSelector, void*);
      62              : 
      63              :     /// @brief called when left mouse button is press
      64              :     long onLeftBtnPress(FXObject*, FXSelector, void*);
      65              : 
      66              :     /// @brief called when key is press
      67              :     long onKeyPress(FXObject*, FXSelector, void*);
      68              : 
      69              :     /// @brief called when button is press
      70              :     long onCmdPost(FXObject*, FXSelector, void*);
      71              : 
      72              :     /// @}
      73              : 
      74              : protected:
      75              :     /// @brief FOX needs this
      76            0 :     FOX_CONSTRUCTOR(MFXMenuButtonTooltip)
      77              : 
      78              :     /// @brief static tooltip
      79              :     MFXStaticToolTip* myStaticToolTip = nullptr;
      80              : 
      81              :     /// @brief optional target
      82              :     FXObject* myOptionalTarget = nullptr;
      83              : 
      84              : private:
      85              :     /// @brief Invalidated copy constructor.
      86              :     MFXMenuButtonTooltip(const MFXMenuButtonTooltip&) = delete;
      87              : 
      88              :     /// @brief Invalidated assignment operator.
      89              :     MFXMenuButtonTooltip& operator=(const MFXMenuButtonTooltip&) = delete;
      90              : };
        

Generated by: LCOV version 2.0-1