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-2020 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 mainntain the check
19 /****************************************************************************/
20 #ifndef MFXCheckableButton_h
21 #define MFXCheckableButton_h
22 #include <config.h>
23 
24 #include <fx.h>
25 
29 class MFXCheckableButton : public FXButton {
31  FXDECLARE(MFXCheckableButton)
32 
33 public:
35  MFXCheckableButton(bool amChecked, FXComposite* p, const FXString& text,
36  FXIcon* ic = NULL, FXObject* tgt = NULL, FXSelector sel = 0,
37  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*);
58 
59 protected:
60  FOX_CONSTRUCTOR(MFXCheckableButton)
61 
62 private:
64  void buildColors();
65 
67  void setColors();
68 
69 private:
72 
74  FXColor myBackColor,
78 
81 };
82 
83 
84 #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
MFXCheckableButton(bool amChecked, FXComposite *p, 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
void setColors()
set colors of this 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
flag to indicate if this MFXCheckableButton is checked
void setChecked(bool val)
check or uncheck this MFXCheckableButton