00001
00002
00014 #ifndef _TextPlotter_H_
00015 #define _TextPlotter_H_
00016
00017 #include "PlotterBase.h"
00018
00019 namespace hippodraw {
00020
00021 class TextDataRep;
00022 class TextRepBase;
00023
00038 class MDL_HIPPOPLOT_API TextPlotter : public PlotterBase
00039 {
00040
00041 private:
00042
00044 TextDataRep * m_datarep;
00045
00046 public:
00047
00049 TextPlotter ();
00050
00052 TextPlotter( const TextPlotter & plotter );
00053
00055 ~TextPlotter();
00056
00059 virtual PlotterBase * clone();
00060
00062 bool hasNTupleBindings () const;
00063
00066 virtual void setRepresentation ( RepBase * );
00067
00069 virtual RepBase * representation () const;
00070
00071
00072 virtual void addDataRep ( hippodraw::DataRep * rep );
00073 virtual int getNumDataReps () const;
00074 virtual hippodraw::DataRep * getDataRep ( int ) const;
00075 virtual TransformBase * getTransform ();
00076
00077 virtual void setErrorDisplay ( hippodraw::Axes::Type axis, bool );
00078 virtual bool errorDisplay ( hippodraw::Axes::Type axis ) const;
00079
00080 virtual void drawIn( ViewBase * view );
00081 void setAxisModel ( AxisModelBase *, hippodraw::Axes::Type );
00082 void setRepColor ( const Color & );
00083 const Color & repColor () const;
00084
00086 virtual float userToMarginX ( double x ) const;
00087
00089 virtual float userToMarginY ( double y ) const;
00090
00092 virtual float userToInvertedMarginY ( double y ) const;
00093
00094 virtual void toUserXY ( double mx, double my, bool scaled,
00095 double & ux, double & uy ) const;
00096
00100 const hippodraw::DataRep * getParentDataRep () const;
00101
00104 void setParentDataRep ( hippodraw::DataRep * );
00105
00106 virtual void willDelete ( const Observable * observable );
00107
00108 virtual NTuple * createNTuple () const;
00109
00110 virtual void update ();
00111
00112
00113 virtual bool isTextPlotter() const;
00114
00115 };
00116
00117 }
00118
00119 #endif // _TextPlotter_H_