00001 // -*- C++ -*- 00002 00004 // // 00005 // This library is free software; you can redistribute it and/or // 00006 // modify it under the terms of the GNU Lesser General Public // 00007 // License as published by the Free Software Foundation; either // 00008 // version 2.1 of the License, or (at your option) any later version. // 00009 // // 00010 // This library is distributed in the hope that it will be useful, // 00011 // but WITHOUT ANY WARRANTY; without even the implied warranty of // 00012 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU // 00013 // Lesser General Public License for more details. // 00014 // // 00015 // You should have received a copy of the GNU Lesser General Public // 00016 // License along with this library (see file COPYING); if not, write // 00017 // to the Free Software Foundation, Inc., 59 Temple Place, Suite // 00018 // 330, Boston, MA 02111-1307 USA, or contact the author. // 00019 // // 00021 00030 // 00031 // Created by user sang on Sun Oct 6 17:48:39 2002 00032 // 00033 00034 #ifndef ANAPHE_AIDA_PLOTTERSTYLE_H 00035 #define ANAPHE_AIDA_PLOTTERSTYLE_H 00036 00037 00038 #include "AIDA/IPlotterStyle.h" 00039 00040 00041 00042 namespace Anaphe { 00043 // Concrete classes from GracePlotter 00044 class Style; 00045 } 00046 00047 00048 00049 namespace Anaphe { 00050 namespace AIDA_Plotter_Grace { 00051 00052 00053 00054 00059 class AIDA_PlotterStyle : public AIDA::IPlotterStyle 00060 { 00061 public: 00062 AIDA_PlotterStyle(); 00063 AIDA_PlotterStyle(Style*, bool ownership = true); 00064 virtual ~AIDA_PlotterStyle(); 00065 00066 private: 00067 AIDA_PlotterStyle(const AIDA_PlotterStyle&); 00068 AIDA_PlotterStyle& operator=(const AIDA_PlotterStyle&); 00069 00070 public: 00071 virtual void reset(); 00072 virtual bool setParameter(const std::string& paramName, const std::string& options); 00073 virtual std::vector<std::string> availableParameters() const; 00074 virtual std::string parameterValue(const std::string& paramName) const; 00075 virtual std::vector<std::string> availableParameterOptions(const std::string& paramName) const; 00076 virtual AIDA::IDataStyle& dataStyle(); 00077 virtual AIDA::IAxisStyle& xAxisStyle(); 00078 virtual AIDA::IAxisStyle& yAxisStyle(); 00079 virtual AIDA::IAxisStyle& zAxisStyle(); 00080 virtual AIDA::ITitleStyle& titleStyle(); 00081 virtual AIDA::IInfoStyle& infoStyle(); 00082 virtual bool setDataStyle(const AIDA::IDataStyle& dataStyle); 00083 virtual bool setAxisStyleX(const AIDA::IAxisStyle& xAxisStyle); 00084 virtual bool setAxisStyleY(const AIDA::IAxisStyle& yAxisStyle); 00085 virtual bool setAxisStyleZ(const AIDA::IAxisStyle& zAxisStyle); 00086 virtual bool setTitleStyle(const AIDA::ITitleStyle& textStyle); 00087 virtual bool setInfoStyle(const AIDA::IInfoStyle& infoStyle); 00088 00089 Style* theRep(); 00090 void setRep(Style&, bool owns); 00091 00092 private: 00093 void crisis() const; 00094 00095 private: 00096 Style* rep; 00097 bool ownRep; 00098 00099 }; 00100 00101 00102 } // end of namespace AIDA_Plotter_Grace 00103 } // end of namespace Anaphe 00104 00105 00106 #endif // ANAPHE_AIDA_PLOTTERSTYLE_H 00107