00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00023
00024 #ifndef _vtkQtChartArea_h
00025 #define _vtkQtChartArea_h
00026
00027 #include "vtkQtChartExport.h"
00028 #include <QGraphicsView>
00029
00030 class vtkQtChartAreaInternal;
00031 class vtkQtChartAxisLayer;
00032 class vtkQtChartContentsSpace;
00033 class vtkQtChartInteractor;
00034 class vtkQtChartLayer;
00035 class vtkQtChartMouseBox;
00036 class vtkQtChartStyleManager;
00037 class QCursor;
00038 class QString;
00039
00040
00044 class VTKQTCHART_EXPORT vtkQtChartArea : public QGraphicsView
00045 {
00046 Q_OBJECT
00047
00048 public:
00052 vtkQtChartArea(QWidget *parent=0);
00053 virtual ~vtkQtChartArea();
00054
00056
00057
00058
00059
00060
00061 void addLayer(vtkQtChartLayer *chart);
00062
00081 void insertLayer(int index, vtkQtChartLayer *chart);
00082
00086 void removeLayer(vtkQtChartLayer *chart);
00087
00092 int getNumberOfLayers() const;
00093
00099 vtkQtChartLayer *getLayer(int index) const;
00100
00106 vtkQtChartLayer *getLayer(const QString &chartName) const;
00107
00112 vtkQtChartAxisLayer *getAxisLayer() const;
00113
00118 int getAxisLayerIndex() const;
00119
00124 int getGridLayerIndex() const;
00126
00128
00129
00130
00131
00132
00133 vtkQtChartInteractor *getInteractor() const;
00134
00142 void setInteractor(vtkQtChartInteractor *interactor);
00143
00148 vtkQtChartContentsSpace *getContentsSpace() const;
00149
00154 vtkQtChartMouseBox *getMouseBox() const;
00155
00161 void startInteractiveResize();
00162
00167 bool isInteractivelyResizing() const;
00168
00170 void finishInteractiveResize();
00172
00174
00175
00176
00177
00178
00179 vtkQtChartStyleManager *getStyleManager() const;
00180
00184 void setStyleManager(vtkQtChartStyleManager *manager);
00186
00189 void setUseOpenGLIfAvailable(bool useOpenGL);
00190
00191 public slots:
00193 void layoutChart();
00194
00196 void updateLayout();
00197
00198 signals:
00200 void delayedLayoutNeeded();
00201
00206 void layerInserted(int index, vtkQtChartLayer *chart);
00207
00212 void removingLayer(int index, vtkQtChartLayer *chart);
00213
00218 void layerRemoved(int index, vtkQtChartLayer *chart);
00219
00220 protected:
00226 virtual bool viewportEvent(QEvent *e);
00227
00231 virtual void resizeEvent(QResizeEvent *e);
00232
00234
00235
00236
00237
00238
00239
00240
00241
00242 virtual void keyPressEvent(QKeyEvent *e);
00243
00247 virtual void mousePressEvent(QMouseEvent *e);
00248
00252 virtual void mouseMoveEvent(QMouseEvent *e);
00253
00257 virtual void mouseReleaseEvent(QMouseEvent *e);
00258
00262 virtual void mouseDoubleClickEvent(QMouseEvent *e);
00263
00267 virtual void wheelEvent(QWheelEvent *e);
00269
00270 private slots:
00272 void handleZoomChange();
00273
00277 void changeCursor(const QCursor &newCursor);
00278
00279 private:
00280 vtkQtChartAreaInternal *Internal;
00281
00282 private:
00283 vtkQtChartArea(const vtkQtChartArea &);
00284 vtkQtChartArea &operator=(const vtkQtChartArea &);
00285 };
00286
00287 #endif