00001
00002
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00021
00030
00031
00032
00033
00034 #ifndef ANAPHE_AIDA_PLOTTER_H
00035 #define ANAPHE_AIDA_PLOTTER_H
00036
00037
00038 #include "AIDA/IPlotter.h"
00039
00040
00041
00042 namespace Anaphe {
00043
00044 class Plotter;
00045 }
00046
00047
00048
00049 namespace Anaphe {
00050 namespace AIDA_Plotter_Grace {
00051
00052
00053
00058 class AIDA_Plotter : public AIDA::IPlotter
00059 {
00060 public:
00061 AIDA_Plotter();
00062 AIDA_Plotter(Anaphe::Plotter*, bool ownership = true);
00063 virtual ~AIDA_Plotter();
00064
00065 private:
00067 AIDA_Plotter(const AIDA_Plotter&);
00069 AIDA_Plotter& operator=(const AIDA_Plotter&);
00070
00071 public:
00072 virtual AIDA::IPlotterRegion* createRegion(double x, double y, double w, double h);
00073 virtual bool createRegions(int columns, int rows, int index);
00074 virtual AIDA::IPlotterRegion& currentRegion() const;
00075 virtual int currentRegionNumber() const;
00076 virtual int numberOfRegions() const;
00077 virtual bool setCurrentRegionNumber(int index);
00078 virtual AIDA::IPlotterRegion& next();
00079 virtual AIDA::IPlotterRegion* region(int index) const;
00080 virtual void destroyRegions();
00081 virtual void clearRegions();
00082 virtual bool setParameter(const std::string& parameter, const std::string& options);
00083 virtual std::vector<std::string> availableParameterOptions(const std::string& parameter) const;
00084 virtual std::string parameterValue(const std::string& paramName) const;
00085 virtual std::vector<std::string> availableParameters() const;
00086 virtual bool show();
00087 virtual bool refresh();
00088 virtual bool hide();
00089 virtual bool interact();
00090 virtual bool writeToFile(const std::string& filename, const std::string& type);
00091 virtual void setTitle(const std::string& title);
00092 virtual AIDA::ITitleStyle& titleStyle();
00093 virtual void setTitleStyle(const AIDA::ITitleStyle& style);
00094
00095 void setRep(Anaphe::Plotter&, bool ownership);
00096 Anaphe::Plotter* theRep();
00097
00098 private:
00099 void crisis() const;
00100
00101 private:
00102 Anaphe::Plotter* rep;
00103 bool ownRep;
00104
00105 };
00106
00107
00108
00109 }
00110 }
00111
00112
00113 #endif // ANAPHE_AIDA_PLOTTER_H
00114