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