Main Page   Namespace List   Alphabetical List   Compound List   File List   Namespace Members   Compound Members  

AIDA_TextStyle.h

Go to the documentation of this file.
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:38:26 2002
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   // Concrete classes from GracePlotter
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 } // end of namespace AIDA_Plotter_Grace
00106 } // end of namespace Anaphe
00107 
00108 
00109 #endif // ANAPHE_AIDA_TEXTSTYLE_H
00110 

Generated on Tue Jan 28 13:30:45 2003 for Anaphe_AIDA_Plotter_Grace by doxygen1.2.16