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_TEXTSTYLE_H
00035 #define ANAPHE_AIDA_TEXTSTYLE_H
00036
00037
00038 #include "AIDA/ITextStyle.h"
00039
00040
00041 namespace Anaphe {
00042
00043 class TextStyle;
00044 }
00045
00046
00047
00048 namespace Anaphe {
00049 namespace AIDA_Plotter_Grace {
00050
00051
00052
00057 class AIDA_TextStyle : public AIDA::ITextStyle
00058 {
00059 public:
00060 AIDA_TextStyle();
00061 AIDA_TextStyle(TextStyle*, bool ownership = true);
00062 virtual ~AIDA_TextStyle();
00063
00064 private:
00065 AIDA_TextStyle(const AIDA_TextStyle&);
00066 AIDA_TextStyle& operator=(const AIDA_TextStyle&);
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> availableFonts() const;
00080 virtual double fontSize() const;
00081 virtual bool setFontSize(double size);
00082 virtual std::string font() const;
00083 virtual bool setFont(const std::string& font);
00084 virtual bool isBold() const; virtual bool isItalic() const;
00085 virtual bool isUnderlined() const;
00086 virtual bool setBold(bool bold);
00087 virtual bool setItalic(bool italic);
00088 virtual bool setUnderlined(bool underlined);
00089
00090 void setRep(TextStyle&, bool ownership);
00091 TextStyle* theRep();
00092
00093 private:
00094 void crisis() const;
00095
00096 private:
00097 TextStyle* rep;
00098 bool ownRep;
00099
00100 };
00101
00102
00103
00104
00105 }
00106 }
00107
00108
00109 #endif // ANAPHE_AIDA_TEXTSTYLE_H
00110