DataRepController.h

Go to the documentation of this file.
00001 /* -*- mode: c++ -*- */
00002 
00014 #ifndef _DataRepController_H_
00015 #define _DataRepController_H_
00016 
00017 #include "pattern/libhippo.h"
00018 
00019 
00020 #include <string>
00021 #include <vector>
00022 
00023 namespace hippodraw {
00024   class DataRep;
00025   class DataSource;
00026   class NTuple;
00027   class PlotterBase;
00028 
00036 class MDL_HIPPOPLOT_API DataRepController
00037 {
00038 
00039 private:
00040 
00042   static DataRepController * s_instance;
00043 
00046   std::vector< std::string > m_null_vector;
00047 
00049   DataRepController ( const DataRepController & );
00050 
00054   bool checkBindings ( const DataSource * tuple, 
00055                        const std::vector < std::string > & bindings ) const;
00056 
00057 protected:
00058 
00061   DataRepController();
00062 
00063 public:
00064 
00066   static DataRepController * instance ();
00067 
00069   ~DataRepController();
00070 
00073   const std::vector< std::string > & 
00074   bindingOptions ( const std::string & name );
00075 
00078   const std::vector< std::string > & 
00079   bindingOptions ( DataRep * rep );
00080 
00083   const std::vector < std::string > & names () const;
00084 
00089   DataRep * createDataRep ( const std::string & name );
00090 
00096   DataRep * 
00097   createDataRep ( const std::string & name,
00098                   const DataSource * ntuple,
00099                   const std::vector< std::string > & bindings ) const;
00100 
00103   void setAxisBindings ( DataRep * rep,
00104                          const DataSource * ntuple,
00105                          const std::vector< std::string > & bindings ) const;
00106 
00114   void changeDataSource ( DataRep * rep,
00115                           const DataSource * tuple );
00116 
00117   };
00118 
00119 } // namespace hippodraw
00120 
00121 #endif // _DataRepController_H_

Generated for HippoDraw Class Library by doxygen