CARMA C++
MonitorTableVisitor.h
1 #ifndef CARMA_UI_RTD_MONITORTABLEVISITOR_H
2 #define CARMA_UI_RTD_MONITORTABLEVISITOR_H
3 
4 #include <string>
5 #include <boost/shared_ptr.hpp>
6 
7 
8 namespace carma {
9 
10 namespace monitor {
11 
12 class MonitorPoint;
13 
14 } // namespace carma::monitor
15 
16 
17 namespace ui {
18 namespace rtd {
19 
20 
21 class MonitorCell;
22 
23 
24 class MonitorTableVisitor {
25  public:
26  virtual ~MonitorTableVisitor( );
27 
28  virtual bool acceptMonitorPoint(
29  const monitor::MonitorPoint & mp ) const;
30 
31  virtual int calcCellWidth( const monitor::MonitorPoint & mp ) const;
32 
33  virtual void postprocessMonitorCell(
34  const monitor::MonitorPoint & mp,
35  MonitorCell & monitorCell ) const;
36 
37  virtual ::std::string generateRowLabel(
38  const monitor::MonitorPoint & mp,
39  bool showUnits ) const;
40 
41  protected:
42  explicit MonitorTableVisitor( );
43 };
44 
45 typedef boost::shared_ptr<MonitorTableVisitor> MonitorTableVisitorPtr;
46 
47 } // namespace carma::ui::rtd
48 } // namespace carma::ui
49 } // namespace carma
50 
51 
52 #endif