CARMA C++
WindowList.h
1 
2 #ifndef CARMA_UI_RTD_WINDOWLIST_H
3 #define CARMA_UI_RTD_WINDOWLIST_H
4 
17 #include <vector>
18 
19 
20 namespace carma {
21  namespace ui {
22  namespace rtd {
23 
24 
25 
26 class Window {
27 public:
35  Window(const std::string& window, const std::string& program,
36  int integer = 0, bool guest = true);
37 
46  Window(const std::string& window, const std::string& program,
47  const std::string& string1,
48  int integer = 0, bool guest = true);
49 
59  Window(const std::string& window, const std::string& program,
60  const std::string& string1, const std::string& string2,
61  int integer = 0, bool guest = true);
62 
73  Window(const std::string& window, const std::string& program,
74  const std::string& string1, const std::string& string2,
75  const std::string& string3,
76  int integer = 0, bool guest = true);
77 
89  Window(const std::string& window, const std::string& program,
90  const std::string& string1, const std::string& string2,
91  const std::string& string3, const std::string& string4,
92  int integer = 0, bool guest = true);
93 
97  virtual ~Window() {};
98 
103  std::string getWindowName() const;
104 
109  std::string getProgramName() const;
110 
115  std::string getString1() const;
116 
121  std::string getString2() const;
122 
127  std::string getString3() const;
128 
133  std::string getString4() const;
134 
139  std::string getInteger1() const;
140 
145  bool isControl() const;
146 
147 private:
148  explicit Window(); // Hide the default constructor
149 
150  const std::string windowName_;
151  const std::string programName_;
152  const std::string string1_;
153  const std::string string2_;
154  const std::string string3_;
155  const std::string string4_;
156  const int integer1_;
157 
158  // Whether the window needs control state to be invoked
159  const bool guest_;
160 };
161 
162 
163 
174 class WindowList {
175 public:
177  explicit WindowList( );
178 
179  // destructor
180  virtual ~WindowList( );
181 
187  virtual void load() = 0;
188 
190  void add( Window * w );
191 
196  Window* find(const std::string& windowName) const;
197 
198  ::std::vector< ::std::string > getNames() const;
199 
200 private:
201  ::std::vector< Window * > list_;
202 };
203 
204 }}} // End namespace carma::ui::rtd
205 
206 #endif // CARMA_UI_RTD_WINDOWLIST_H
207 
virtual void load()=0
Pure virtual - define it with a bunch of statements like: add(new Window(&quot;demo&quot;, &quot;demoprogramName&quot;));.
void add(Window *w)
Add a window definition to the list.
Window * find(const std::string &windowName) const
Find a window in the list with the given name.
A list of all possible windows on a system and methods to find them.
Definition: WindowList.h:174