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_LINESTYLE_H
00035 #define ANAPHE_AIDA_LINESTYLE_H
00036
00037
00038 #include "AIDA/ILineStyle.h"
00039
00040
00041 namespace Anaphe {
00042
00043 class LineStyle;
00044 }
00045
00046
00047
00048 namespace Anaphe {
00049 namespace AIDA_Plotter_Grace {
00050
00051
00052
00053
00058 class AIDA_LineStyle : public AIDA::ILineStyle
00059 {
00060 public:
00061 AIDA_LineStyle();
00062 AIDA_LineStyle(LineStyle*, bool owner = true);
00063 virtual ~AIDA_LineStyle();
00064
00065 private:
00066 AIDA_LineStyle(const AIDA_LineStyle&);
00067 AIDA_LineStyle& operator=(const AIDA_LineStyle&);
00068
00069 public:
00070 virtual void reset();
00071 virtual bool setParameter(const std::string& paramName, const std::string& options);
00072 virtual std::vector<std::string> availableParameters() const;
00073 virtual std::string parameterValue(const std::string& paramName) const;
00074 virtual std::vector<std::string> availableParameterOptions(const std::string& paramName) const;
00075 virtual std::vector<std::string> availableColors() const;
00076 virtual std::string color() const;
00077 virtual double opacity() const;
00078 virtual bool setColor(const std::string & newColor);
00079 virtual bool setOpacity(double newOpacity);
00080 virtual std::vector<std::string> availableLineTypes() const;
00081 virtual std::string lineType() const;
00082 virtual int thickness() const;
00083 virtual bool setLineType(const std::string& newLineType);
00084 virtual bool setThickness(int newThickness);
00085
00086 void setRep(LineStyle&, bool ownership);
00087 LineStyle* theRep();
00088
00089 private:
00090 void crisis() const;
00091
00092 private:
00093 LineStyle* rep;
00094 bool ownRep;
00095
00096 };
00097
00098
00099
00100 }
00101 }
00102
00103
00104 #endif // ANAPHE_AIDA_LINESTYLE_H
00105