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 /****************************************************************************/
9 //
10 /****************************************************************************/
11 // SUMO, Simulation of Urban MObility; see http://sumo-sim.org/
12 // Copyright (C) 2004-2014 DLR (http://www.dlr.de/) and contributors
13 /****************************************************************************/
14 //
15 // This file is part of SUMO.
16 // SUMO is free software: you can redistribute it and/or modify
17 // it under the terms of the GNU General Public License as published by
18 // the Free Software Foundation, either version 3 of the License, or
19 // (at your option) any later version.
20 //
21 /****************************************************************************/
22 
23 
24 #ifndef FXLCDLABEL_H
25 #define FXLCDLABEL_H
26 
27 
28 // ===========================================================================
29 // included modules
30 // ===========================================================================
31 #ifdef _MSC_VER
32 #include <windows_config.h>
33 #else
34 #include <config.h>
35 #endif
36 
37 
38 
39 #ifndef FXHORIZONTALFRAME_H
40 #include <FXHorizontalFrame.h>
41 using namespace FX;
42 #endif
43 namespace FXEX {
44 
46 enum {
47  LCDLABEL_NORMAL = FRAME_SUNKEN | FRAME_THICK,
48  LCDLABEL_LEADING_ZEROS = 0x01000000
49 };
50 
56 class /* FXAPI // patch by Daniel Krajzewicz 24.02.2004 */
57  FXLCDLabel : public FXHorizontalFrame {
58  FXDECLARE(FXLCDLabel)
59 
60 protected:
62 
63  FXString label;
64  FXint nfigures;
65 
66  // Draw a string
67  virtual void drawString(const FXString& lbl);
68 
69 public:
70  enum {
71  ID_SEVENSEGMENT = FXHorizontalFrame::ID_LAST,
72  ID_LAST
73  };
74 
75 public:
76  long onPaint(FXObject*, FXSelector, void*);
77  long onCmdSetValue(FXObject*, FXSelector, void* ptr);
78  long onCmdSetIntValue(FXObject*, FXSelector, void* ptr);
79  long onCmdSetRealValue(FXObject*, FXSelector, void* ptr);
80  long onCmdSetStringValue(FXObject*, FXSelector, void* ptr);
81  long onCmdGetIntValue(FXObject*, FXSelector, void* ptr);
82  long onCmdGetRealValue(FXObject*, FXSelector, void* ptr);
83  long onCmdGetStringValue(FXObject*, FXSelector, void* ptr);
84  long onRedirectEvent(FXObject*, FXSelector, void* ptr);
85  long onQueryTip(FXObject*, FXSelector, void* ptr);
86  long onQueryHelp(FXObject*, FXSelector, void* ptr);
87 
88 public:
90  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);
91 
93  virtual void create();
94 
96  virtual void detach();
97 
99  virtual void destroy();
100 
102  void setText(FXString lbl);
103  FXString getText() const {
104  return label;
105  }
106 
108  void setFgColor(FXColor clr);
109  FXColor getFgColor() const;
110 
112  void setBgColor(FXColor clr);
113  FXColor getBgColor() const;
114 
116  void setHorizontal(const FXint len);
117  FXint getHorizontal() const;
118 
120  void setVertical(const FXint len);
121  FXint getVertical() const;
122 
124  void setThickness(const FXint width);
125  FXint getThickness() const;
126 
128  void setGroove(const FXint width);
129  FXint getGroove() const;
130 
132  virtual FXint getDefaultWidth();
133 
135  virtual FXint getDefaultHeight();
136 
138  virtual void save(FXStream& store) const;
139 
141  virtual void load(FXStream& store);
142 
144  virtual ~FXLCDLabel();
145 };
146 
147 } // namespace FXEX
148 #endif // FXLCDLabel