00001
00002
00003
00004
00005
00006
00007 #ifndef AIDA_IPLOTTER_H
00008 #define AIDA_IPLOTTER_H 1
00009
00010
00011
00012
00013
00014
00015 #include <string>
00016 #include <vector>
00017
00018 namespace AIDA {
00019
00020 class IPlotterRegion;
00021 class ITitleStyle;
00022
00040 class IPlotter {
00041
00042 public:
00044 virtual ~IPlotter() { ; }
00045
00061 virtual IPlotterRegion * createRegion(double x = 0, double y = 0, double w = 1.0, double h = 1.0) = 0;
00062
00070 virtual bool createRegions(int columns = 1, int rows = 1, int index = 0) = 0;
00071
00075 virtual IPlotterRegion & currentRegion() const = 0;
00076
00080 virtual int currentRegionNumber() const = 0;
00081
00085 virtual int numberOfRegions() const = 0;
00086
00090 virtual bool setCurrentRegionNumber(int index) = 0;
00091
00098 virtual IPlotterRegion & next() = 0;
00099
00103 virtual IPlotterRegion * region(int index) const = 0;
00104
00108 virtual void destroyRegions() = 0;
00109
00115 virtual void clearRegions() = 0;
00116
00117
00118
00119
00120
00121
00122 virtual bool setParameter(const std::string & parameter, const std::string & options = "") = 0;
00123
00129 virtual std::string parameterValue(const std::string & parameter) const = 0;
00130
00131 virtual std::vector<std::string> availableParameterOptions(const std::string & parameter) const = 0;
00132
00133 virtual std::vector<std::string> availableParameters() const = 0;
00134
00135
00136
00137
00138
00142 virtual bool show() = 0;
00143
00149 virtual bool refresh() = 0;
00150
00154 virtual bool hide() = 0;
00155
00160 virtual bool interact() = 0;
00161
00162
00163
00164
00165
00174 virtual bool writeToFile(const std::string & filename, const std::string & type = "") = 0;
00175
00179 virtual void setTitle(const std::string & title) = 0;
00180
00184 virtual ITitleStyle & titleStyle() = 0;
00185
00186 virtual void setTitleStyle(const ITitleStyle & style) = 0;
00187 };
00188 };
00189 #endif