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

AIDA_Plotter.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:16:54 2002
00032 // 
00033 
00034 #ifndef ANAPHE_AIDA_PLOTTER_H
00035 #define ANAPHE_AIDA_PLOTTER_H
00036 
00037 
00038 #include "AIDA/IPlotter.h"
00039 
00040 
00041 
00042 namespace Anaphe {
00043   // Concrete classes from GracePlotter
00044   class Plotter;
00045 }
00046 
00047 
00048 
00049 namespace Anaphe {
00050 namespace AIDA_Plotter_Grace {
00051 
00052 
00053 
00058 class AIDA_Plotter : public AIDA::IPlotter
00059 {
00060 public:
00061   AIDA_Plotter();
00062   AIDA_Plotter(Anaphe::Plotter*, bool ownership = true);
00063   virtual ~AIDA_Plotter();
00064 
00065 private:
00067   AIDA_Plotter(const AIDA_Plotter&);
00069   AIDA_Plotter& operator=(const AIDA_Plotter&);
00070 
00071 public:
00072   virtual AIDA::IPlotterRegion* createRegion(double x, double y, double w, double h);
00073   virtual bool createRegions(int columns, int rows, int index);
00074   virtual AIDA::IPlotterRegion& currentRegion() const;
00075   virtual int currentRegionNumber() const;
00076   virtual int numberOfRegions() const;
00077   virtual bool setCurrentRegionNumber(int index);
00078   virtual AIDA::IPlotterRegion& next();
00079   virtual AIDA::IPlotterRegion* region(int index) const;
00080   virtual void destroyRegions();
00081   virtual void clearRegions();
00082   virtual bool setParameter(const std::string& parameter, const std::string& options);
00083   virtual std::vector<std::string> availableParameterOptions(const std::string& parameter) const;
00084   virtual std::string parameterValue(const std::string& paramName) const;
00085   virtual std::vector<std::string> availableParameters() const;
00086   virtual bool show();
00087   virtual bool refresh();
00088   virtual bool hide();
00089   virtual bool interact();
00090   virtual bool writeToFile(const std::string& filename, const std::string& type);
00091   virtual void setTitle(const std::string& title);
00092   virtual AIDA::ITitleStyle& titleStyle();
00093   virtual void setTitleStyle(const AIDA::ITitleStyle& style);
00094 
00095   void setRep(Anaphe::Plotter&, bool ownership);
00096   Anaphe::Plotter* theRep();
00097 
00098 private:
00099   void crisis() const;
00100 
00101 private:
00102   Anaphe::Plotter* rep;
00103   bool ownRep;
00104 
00105 };
00106 
00107 
00108 
00109 } // end of namespace AIDA_Plotter_Grace
00110 } // end of namespace Anaphe
00111 
00112 
00113 #endif // ANAPHE_AIDA_PLOTTER_H
00114 

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