00001
00002
00003 #ifndef PLOT2D_H
00004 #define PLOT2D_H
00005
00006 #include <iostream>
00007 #include <math.h>
00008 #include "Plot.h"
00009
00010 using namespace std;
00011
00012 class Plot2D:public Plot {
00013 public:
00014 Plot2D(Worksheet *p);
00015 ~Plot2D() {}
00016 void saveXML(QDomDocument doc, QDomElement plottag);
00017 void openXML(QDomElement e);
00018 void saveAxes(QTextStream *t);
00019 void openAxes(QTextStream *t,int version);
00020 Axis *getAxis(int i) { return &axis[i]; }
00021 void setRanges(LRange* r) {range[0]=r[0];range[1]=r[1];}
00022 void setActRanges(LRange* r);
00023 void setRange(LRange* r,int i) {range[i]=*r;}
00024 void setActRange(LRange* r,int i);
00025 void draw(QPainter *p, int w, int h);
00026 void drawAxes(QPainter *p, int w, int h);
00027 void drawAxesTicks(QPainter *p, int w, int h, Axis axis, int k);
00028 void drawBorder(QPainter *p, int w, int h);
00029 virtual void drawCurves(QPainter *p, int w, int h) = 0;
00030 virtual void drawFill(QPainter *p, int w, int h) = 0;
00031 protected:
00032 Axis axis[4];
00033 };
00034
00035 #endif // PLOT2D_H