Eclipse SUMO - Simulation of Urban MObility
MFXCheckableButton.h
Go to the documentation of this file.
1/****************************************************************************/
2// Eclipse SUMO, Simulation of Urban MObility; see https://eclipse.org/sumo
3// Copyright (C) 2004-2022 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// Checkable button similar to a FXButton but maintain the check
19/****************************************************************************/
20#ifndef MFXCheckableButton_h
21#define MFXCheckableButton_h
22#include <config.h>
23
24#include "fxheader.h"
25#include "MFXStaticToolTip.h"
26
30class MFXCheckableButton : public FXButton {
32 FXDECLARE(MFXCheckableButton)
33
34public:
36 MFXCheckableButton(bool amChecked, FXComposite* p, MFXStaticToolTip* staticToolTip, const FXString& text,
37 FXIcon* ic = NULL, FXObject* tgt = NULL, FXSelector sel = 0, FXuint opts = BUTTON_NORMAL,
38 FXint x = 0, FXint y = 0, FXint w = 0, FXint h = 0,
39 FXint pl = DEFAULT_PAD, FXint pr = DEFAULT_PAD, FXint pt = DEFAULT_PAD, FXint pb = DEFAULT_PAD);
40
43
45 bool amChecked() const;
46
48 void setChecked(bool val);
49
53 long onPaint(FXObject*, FXSelector, void*);
54
56 long onUpdate(FXObject*, FXSelector, void*);
57
59 long onEnter(FXObject*, FXSelector, void*);
60
62 long onLeave(FXObject*, FXSelector, void*);
63
65 long onMotion(FXObject*, FXSelector, void*);
66
68
69protected:
71 FOX_CONSTRUCTOR(MFXCheckableButton)
72
73
75
77 FXColor myBackColor,
81
84
87
89 void buildColors();
90
92 void setColors();
93
94private:
97
99 MFXCheckableButton& operator=(const MFXCheckableButton&) = delete;
100};
101
102
103#endif
void buildColors()
build color of this MFXCheckableButton
long onUpdate(FXObject *, FXSelector, void *)
called when this MFXCheckableButton is updated
FXColor myBackColor
colors of this MFXCheckableButton
void setColors()
set colors of this MFXCheckableButton
long onLeave(FXObject *, FXSelector, void *)
called when mouse leaves in MFXCheckableButton
bool amChecked() const
check if this MFXCheckableButton is checked
~MFXCheckableButton()
destructor (Called automatically)
long onPaint(FXObject *, FXSelector, void *)
bool myAmInitialised
check if this MFXCheckableButton is initialised
bool myAmChecked
FOX need this.
MFXCheckableButton(bool amChecked, FXComposite *p, MFXStaticToolTip *staticToolTip, const FXString &text, FXIcon *ic=NULL, FXObject *tgt=NULL, FXSelector sel=0, FXuint opts=BUTTON_NORMAL, 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
long onMotion(FXObject *, FXSelector, void *)
called when mouse motion in MFXCheckableButton
void setChecked(bool val)
check or uncheck this MFXCheckableButton
MFXStaticToolTip * myStaticToolTip
static tool tip
long onEnter(FXObject *, FXSelector, void *)
called when mouse enter in MFXCheckableButton
MFXStaticToolTip (based on FXToolTip)