Eclipse SUMO - Simulation of Urban MObility
MFXMenuButtonTooltip.h
Go to the documentation of this file.
1 /****************************************************************************/
2 // Eclipse SUMO, Simulation of Urban MObility; see https://eclipse.dev/sumo
3 // Copyright (C) 2001-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 /****************************************************************************/
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 #include "MFXStaticToolTip.h"
27 
31 class MFXMenuButtonTooltip : public FXMenuButton {
33  FXDECLARE(MFXMenuButtonTooltip)
34 
35 public:
37  MFXMenuButtonTooltip(FXComposite* p, MFXStaticToolTip* staticToolTip, const std::string& text, FXIcon* ic,
38  FXPopup* pup, FXObject* optionalTarget,
39  FXuint opts = JUSTIFY_NORMAL | ICON_BEFORE_TEXT | MENUBUTTON_DOWN,
40  FXint x = 0, FXint y = 0, FXint w = 0, FXint h = 0,
41  FXint pl = DEFAULT_PAD, FXint pr = DEFAULT_PAD, FXint pt = DEFAULT_PAD, FXint pb = DEFAULT_PAD);
42 
45 
49  long onEnter(FXObject*, FXSelector, void*);
50 
52  long onLeave(FXObject*, FXSelector, void*);
53 
55  long onMotion(FXObject*, FXSelector, void*);
56 
58  long onLeftBtnPress(FXObject*, FXSelector, void*);
59 
61  long onKeyPress(FXObject*, FXSelector, void*);
62 
64  long onCmdPost(FXObject*, FXSelector, void*);
65 
67 
68 protected:
70  FOX_CONSTRUCTOR(MFXMenuButtonTooltip)
71 
72 
74 
76  FXObject* myOptionalTarget = nullptr;
77 
78 private:
81 
83  MFXMenuButtonTooltip& operator=(const MFXMenuButtonTooltip&) = delete;
84 };
MFXMenuButtonTooltip(FXComposite *p, MFXStaticToolTip *staticToolTip, const std::string &text, FXIcon *ic, FXPopup *pup, FXObject *optionalTarget, FXuint opts=JUSTIFY_NORMAL|ICON_BEFORE_TEXT|MENUBUTTON_DOWN, FXint x=0, FXint y=0, FXint w=0, FXint h=0, FXint pl=DEFAULT_PAD, FXint pr=DEFAULT_PAD, FXint pt=DEFAULT_PAD, FXint pb=DEFAULT_PAD)
fox declaration
MFXStaticToolTip * myStaticToolTip
FOX needs this.
long onMotion(FXObject *, FXSelector, void *)
called when mouse motion in MFXMenuButtonTooltip
long onKeyPress(FXObject *, FXSelector, void *)
called when key is press
~MFXMenuButtonTooltip()
destructor (Called automatically)
long onLeave(FXObject *, FXSelector, void *)
called when mouse leaves in MFXMenuButtonTooltip
long onLeftBtnPress(FXObject *, FXSelector, void *)
called when left mouse button is press
FXObject * myOptionalTarget
optional target
long onCmdPost(FXObject *, FXSelector, void *)
called when button is press
long onEnter(FXObject *, FXSelector, void *)
MFXStaticToolTip (based on FXToolTip)