/****************************************************************************/1// Eclipse SUMO, Simulation of Urban MObility; see https://eclipse.dev/sumo2// Copyright (C) 2001-2025 German Aerospace Center (DLR) and others.3// This program and the accompanying materials are made available under the4// terms of the Eclipse Public License 2.0 which is available at5// https://www.eclipse.org/legal/epl-2.0/6// This Source Code may also be made available under the following Secondary7// Licenses when the conditions for such availability set forth in the Eclipse8// Public License 2.0 are satisfied: GNU General Public License, version 29// or later which is available at10// https://www.gnu.org/licenses/old-licenses/gpl-2.0-standalone.html11// SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-or-later12/****************************************************************************/13/// @file MFXLabelTooltip.h14/// @author Pablo Alvarez Lopez15/// @date 2022-08-1016///17// Label similar to FXLabel but with the possibility of showing tooltips18/****************************************************************************/19#pragma once20#include <config.h>2122#include "fxheader.h"2324// ===========================================================================25// class declaration26// ===========================================================================2728class MFXStaticToolTip;2930// ===========================================================================31// class definitions32// ===========================================================================3334class MFXLabelTooltip : public FXButton {35/// @brief fox declaration36FXDECLARE(MFXLabelTooltip)3738public:39/// @brief constructor (Exactly like the FXButton constructor)40MFXLabelTooltip(FXComposite* p, MFXStaticToolTip* staticToolTip, const FXString& text, FXIcon* ic,41FXuint opts = BUTTON_NORMAL, FXint x = 0, FXint y = 0, FXint w = 0, FXint h = 0,42FXint pl = DEFAULT_PAD, FXint pr = DEFAULT_PAD, FXint pt = DEFAULT_PAD, FXint pb = DEFAULT_PAD);4344/// @brief destructor (Called automatically)45~MFXLabelTooltip();4647/// @name FOX callbacks48/// @{49/// @brief called when paint50long onPaint(FXObject*, FXSelector, void*);5152/// @brief called when mouse enter in MFXLabelTooltip53long onEnter(FXObject*, FXSelector, void*);5455/// @brief called when mouse leaves in MFXLabelTooltip56long onLeave(FXObject*, FXSelector, void*);5758/// @brief called when mouse motion in MFXLabelTooltip59long onMotion(FXObject*, FXSelector, void*);6061/// @}6263protected:64/// @brief FOX needs this65FOX_CONSTRUCTOR(MFXLabelTooltip)6667/// @brief static tooltip68MFXStaticToolTip* myStaticToolTip = nullptr;6970private:71/// @brief Invalidated copy constructor.72MFXLabelTooltip(const MFXLabelTooltip&) = delete;7374/// @brief Invalidated assignment operator.75MFXLabelTooltip& operator=(const MFXLabelTooltip&) = delete;76};777879