LCOV - code coverage report
Current view: top level - src/utils/foxtools - MFXCheckableButton.h (source / functions) Coverage Total Hit
Test: lcov.info Lines: 0.0 % 2 0
Test Date: 2024-11-22 15:46:21 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) 2004-2024 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    MFXCheckableButton.h
      15              : /// @author  Daniel Krajzewicz
      16              : /// @date    2004-03-19
      17              : ///
      18              : // Checkable button similar to a FXButton but maintain the check
      19              : /****************************************************************************/
      20              : #pragma once
      21              : #include <config.h>
      22              : 
      23              : #include <string>
      24              : 
      25              : #include "fxheader.h"
      26              : #include "MFXStaticToolTip.h"
      27              : 
      28              : /**
      29              :  * @class MFXCheckableButton
      30              :  */
      31              : class MFXCheckableButton : public FXButton {
      32              :     /// @brief fox declaration
      33            0 :     FXDECLARE(MFXCheckableButton)
      34              : 
      35              : public:
      36              :     /// @brief constructor (Very similar to the FXButton constructor)
      37              :     MFXCheckableButton(bool amChecked, FXComposite* p, MFXStaticToolTip* staticToolTip, const std::string& text,
      38              :                        FXIcon* ic = NULL, FXObject* tgt = NULL, FXSelector sel = 0, FXuint opts = BUTTON_NORMAL,
      39              :                        FXint x = 0, FXint y = 0, FXint w = 0, FXint h = 0,
      40              :                        FXint pl = DEFAULT_PAD, FXint pr = DEFAULT_PAD, FXint pt = DEFAULT_PAD, FXint pb = DEFAULT_PAD);
      41              : 
      42              :     /// @brief destructor (Called automatically)
      43              :     ~MFXCheckableButton();
      44              : 
      45              :     /// @brief check if this MFXCheckableButton is checked
      46              :     bool amChecked() const;
      47              : 
      48              :     /// @brief check or uncheck this MFXCheckableButton
      49              :     void setChecked(bool val, const bool inform = false);
      50              : 
      51              :     /// @name FOX callbacks
      52              :     /// @{
      53              :     /// @brief called when this MFXCheckableButton is painted
      54              :     long onPaint(FXObject*, FXSelector, void*);
      55              : 
      56              :     /// @brief called when this MFXCheckableButton is updated
      57              :     long onUpdate(FXObject*, FXSelector, void*);
      58              : 
      59              :     /// @brief called when mouse enter in MFXCheckableButton
      60              :     long onEnter(FXObject*, FXSelector, void*);
      61              : 
      62              :     /// @brief called when mouse leaves in MFXCheckableButton
      63              :     long onLeave(FXObject*, FXSelector, void*);
      64              : 
      65              :     /// @brief called when mouse motion in MFXCheckableButton
      66              :     long onMotion(FXObject*, FXSelector, void*);
      67              : 
      68              :     /// @}
      69              : 
      70              : protected:
      71              :     /// @brief FOX need this
      72            0 :     FOX_CONSTRUCTOR(MFXCheckableButton)
      73              : 
      74              :     /// @brief flag to indicate if this MFXCheckableButton is checked
      75              :     bool myAmChecked;
      76              : 
      77              :     /// @brief colors of this MFXCheckableButton
      78              :     FXColor myBackColor,
      79              :             myDarkColor,
      80              :             myHiliteColor,
      81              :             myShadowColor;
      82              : 
      83              :     /// @brief check if this MFXCheckableButton is initialised
      84              :     bool myAmInitialised;
      85              : 
      86              :     /// @brief static tool tip
      87              :     MFXStaticToolTip* myStaticToolTip = nullptr;
      88              : 
      89              :     /// @brief build color of this MFXCheckableButton
      90              :     void buildColors();
      91              : 
      92              :     /// @brief set colors of this MFXCheckableButton
      93              :     void setColors();
      94              : 
      95              : private:
      96              :     /// @brief Invalidated copy constructor.
      97              :     MFXCheckableButton(const MFXCheckableButton&) = delete;
      98              : 
      99              :     /// @brief Invalidated assignment operator.
     100              :     MFXCheckableButton& operator=(const MFXCheckableButton&) = delete;
     101              : };
        

Generated by: LCOV version 2.0-1