SUMO - Simulation of Urban MObility
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
FXLCDLabel.h
Go to the documentation of this file.
1 /********************************************************************************
2 * *
3 * LCD text label widget *
4 * *
5 *********************************************************************************
6 * Copyright (C) 2003 by Mathew Robertson. All Rights Reserved. *
7 *********************************************************************************
8 * This library is free software; you can redistribute it and/or *
9 * modify it under the terms of the GNU Lesser General Public *
10 * License as published by the Free Software Foundation; either *
11 * version 2.1 of the License, or (at your option) any later version. *
12 * *
13 * This library is distributed in the hope that it will be useful, *
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of *
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU *
16 * Lesser General Public License for more details. *
17 * *
18 * You should have received a copy of the GNU Lesser General Public *
19 * License along with this library; if not, write to the Free Software *
20 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. *
21 *********************************************************************************/
22 #ifndef FXLCDLABEL_H
23 #define FXLCDLABEL_H
24 
25 
26 // ===========================================================================
27 // included modules
28 // ===========================================================================
29 #ifdef _MSC_VER
30 #include <windows_config.h>
31 #else
32 #include <config.h>
33 #endif
34 
35 
36 
37 #ifndef FXHORIZONTALFRAME_H
38 #include <FXHorizontalFrame.h>
39 using namespace FX;
40 #endif
41 namespace FXEX {
42 
44 enum {
45  LCDLABEL_NORMAL = FRAME_SUNKEN | FRAME_THICK,
46  LCDLABEL_LEADING_ZEROS = 0x01000000
47 };
48 
54 class /* FXAPI // patch by Daniel Krajzewicz 24.02.2004 */
55  FXLCDLabel : public FXHorizontalFrame {
56  FXDECLARE(FXLCDLabel)
57 
58 protected:
60 
61  FXString label;
62  FXint nfigures;
63 
64  // Draw a string
65  virtual void drawString(const FXString& lbl);
66 
67 public:
68  enum {
69  ID_SEVENSEGMENT = FXHorizontalFrame::ID_LAST,
70  ID_LAST
71  };
72 
73 public:
74  long onPaint(FXObject*, FXSelector, void*);
75  long onCmdSetValue(FXObject*, FXSelector, void* ptr);
76  long onCmdSetIntValue(FXObject*, FXSelector, void* ptr);
77  long onCmdSetRealValue(FXObject*, FXSelector, void* ptr);
78  long onCmdSetStringValue(FXObject*, FXSelector, void* ptr);
79  long onCmdGetIntValue(FXObject*, FXSelector, void* ptr);
80  long onCmdGetRealValue(FXObject*, FXSelector, void* ptr);
81  long onCmdGetStringValue(FXObject*, FXSelector, void* ptr);
82  long onRedirectEvent(FXObject*, FXSelector, void* ptr);
83  long onQueryTip(FXObject*, FXSelector, void* ptr);
84  long onQueryHelp(FXObject*, FXSelector, void* ptr);
85 
86 public:
88  FXLCDLabel(FXComposite* p, FXuint nfig = 1, FXObject* tgt = NULL, FXSelector sel = 0, FXuint opts = LCDLABEL_NORMAL, FXint pl = DEFAULT_PAD, FXint pr = DEFAULT_PAD, FXint pt = DEFAULT_PAD, FXint pb = DEFAULT_PAD, FXint hs = DEFAULT_PAD);
89 
91  virtual void create();
92 
94  virtual void detach();
95 
97  virtual void destroy();
98 
100  void setText(FXString lbl);
101  FXString getText() const {
102  return label;
103  }
104 
106  void setFgColor(FXColor clr);
107  FXColor getFgColor() const;
108 
110  void setBgColor(FXColor clr);
111  FXColor getBgColor() const;
112 
114  void setHorizontal(const FXint len);
115  FXint getHorizontal() const;
116 
118  void setVertical(const FXint len);
119  FXint getVertical() const;
120 
122  void setThickness(const FXint width);
123  FXint getThickness() const;
124 
126  void setGroove(const FXint width);
127  FXint getGroove() const;
128 
130  virtual FXint getDefaultWidth();
131 
133  virtual FXint getDefaultHeight();
134 
136  virtual void save(FXStream& store) const;
137 
139  virtual void load(FXStream& store);
140 
142  virtual ~FXLCDLabel();
143 };
144 
145 } // namespace FXEX
146 #endif // FXLCDLabel
FXString label
Definition: FXLCDLabel.h:61
FXint nfigures
The currently shown label.
Definition: FXLCDLabel.h:62
FXString getText() const
Definition: FXLCDLabel.h:101
MSNet * load(OptionsCont &oc)
Definition: sumo_main.cpp:82