/****************************************************************************/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 MFXButtonTooltip.h14/// @author Angelo Banse15/// @date 2022-06-2116///17// Button similar to FXButton but with the possibility of showing tooltips18/****************************************************************************/19#pragma once20#include <config.h>2122#include <string>2324#include "fxheader.h"2526// ===========================================================================27// class declaration28// ===========================================================================2930class MFXStaticToolTip;3132// ===========================================================================33// class definitions34// ===========================================================================3536class MFXButtonTooltip : public FXButton {37/// @brief fox declaration38FXDECLARE(MFXButtonTooltip)3940public:41/// @brief constructor (Exactly like the FXButton constructor)42MFXButtonTooltip(FXComposite* p, MFXStaticToolTip* staticToolTip, const std::string& text, FXIcon* ic = NULL,43FXObject* tgt = NULL, FXSelector sel = 0, FXuint opts = BUTTON_NORMAL,44FXint x = 0, FXint y = 0, FXint w = 0, FXint h = 0,45FXint pl = DEFAULT_PAD, FXint pr = DEFAULT_PAD, FXint pt = DEFAULT_PAD, FXint pb = DEFAULT_PAD);4647/// @brief destructor (Called automatically)48~MFXButtonTooltip();4950/// @name FOX callbacks51/// @{52/// @brief called when mouse enter in MFXButtonTooltip53long onEnter(FXObject*, FXSelector, void*);5455/// @brief called when mouse leaves in MFXButtonTooltip56long onLeave(FXObject*, FXSelector, void*);5758/// @brief called when mouse motion in MFXButtonTooltip59long onMotion(FXObject*, FXSelector, void*);6061/// @}6263protected:64/// @brief FOX needs this65FOX_CONSTRUCTOR(MFXButtonTooltip)6667/// @brief static tooltip68MFXStaticToolTip* myStaticToolTip = nullptr;6970private:71/// @brief Invalidated copy constructor.72MFXButtonTooltip(const MFXButtonTooltip&) = delete;7374/// @brief Invalidated assignment operator.75MFXButtonTooltip& operator=(const MFXButtonTooltip&) = delete;76};777879