00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00030 #ifndef __vtkQtChartView_h
00031 #define __vtkQtChartView_h
00032
00033 #include "QVTKWin32Header.h"
00034 #include "vtkQtView.h"
00035 #include <QPointer>
00036
00037 class vtkQtChartArea;
00038 class vtkQtChartAxis;
00039 class vtkQtChartLegend;
00040 class vtkQtChartMouseSelection;
00041 class vtkQtChartSeriesLayer;
00042 class vtkQtChartSeriesModelCollection;
00043 class vtkQtChartSeriesOptions;
00044 class vtkQtChartSeriesOptionsModelCollection;
00045 class vtkQtChartWidget;
00046 class vtkTable;
00047
00048 class QVTK_EXPORT vtkQtChartView : public vtkQtView
00049 {
00050 Q_OBJECT
00051
00052 public:
00053 vtkTypeMacro(vtkQtChartView, vtkQtView);
00054 void PrintSelf(ostream& os, vtkIndent indent);
00055
00059 virtual QWidget* GetWidget();
00060
00062 virtual void Update();
00063
00065 virtual void Render();
00066
00068 void Show();
00069
00072 void AddTableToView(vtkTable* table);
00073
00075 void SetTitle(const char* title);
00076
00078 void SetTitleFont(const char* family, int pointSize, bool bold, bool italic);
00079
00081 void SetTitleColor(double red, double green, double blue);
00082
00084 void SetTitleAlignment(int alignment);
00085
00087 void SetAxisTitle(int index, const char* title);
00088
00090
00091 void SetAxisTitleFont(int index, const char* family, int pointSize,
00092 bool bold, bool italic);
00094
00096 void SetAxisTitleColor(int index, double red, double green, double blue);
00097
00099 void SetAxisTitleAlignment(int index, int alignment);
00100
00102 void SetLegendVisibility(bool visible);
00103
00105 void SetLegendLocation(int location);
00106
00108 void SetLegendFlow(int flow);
00109
00111 void SetAxisVisibility(int index, bool visible);
00112
00114 void SetAxisColor(int index, double red, double green, double blue);
00115
00117 void SetGridVisibility(int index, bool visible);
00118
00120 void SetGridColorType(int index, int gridColorType);
00121
00123 void SetGridColor(int index, double red, double green, double blue);
00124
00126 void SetAxisLabelVisibility(int index, bool visible);
00127
00129
00130 void SetAxisLabelFont(int index, const char* family, int pointSize,
00131 bool bold, bool italic);
00133
00135 void SetAxisLabelColor(int index, double red, double green, double blue);
00136
00138 void SetAxisLabelNotation(int index, int notation);
00139
00141 void SetAxisLabelPrecision(int index, int precision);
00142
00144 void SetAxisScale(int index, int scale);
00145
00147 void SetAxisBehavior(int index, int behavior);
00148
00150 void SetAxisRange(int index, double minimum, double maximum);
00151
00153 void SetAxisRange(int index, int minimum, int maximum);
00154
00155
00157 virtual void AddChartSelectionHandlers(vtkQtChartMouseSelection* selector);
00158
00161 vtkQtChartArea* GetChartArea();
00162
00164 vtkQtChartAxis* GetAxis(int index);
00165
00167 virtual vtkQtChartSeriesModelCollection* GetChartSeriesModel()=0;
00168
00170 virtual vtkQtChartSeriesOptionsModelCollection* GetChartOptionsModel();
00171
00173 virtual vtkQtChartSeriesOptions* GetChartSeriesOptions(int series) = 0;
00174
00175
00176 virtual vtkQtChartSeriesLayer* GetChartSeriesLayer()=0;
00177
00179
00180 vtkQtChartLegend* GetLegend();
00181
00183
00185 virtual void SetupDefaultInteractor();
00186
00188
00189 void SetColorSchemeToSpectrum();
00190 void SetColorSchemeToWarm();
00191 void SetColorSchemeToCool();
00192 void SetColorSchemeToBlues();
00193 void SetColorSchemeToWildFlower();
00194 void SetColorSchemeToCitrus();
00196
00197 protected:
00198 vtkQtChartView();
00199 ~vtkQtChartView();
00200
00202 virtual vtkDataRepresentation* CreateDefaultRepresentation(vtkAlgorithmOutput* conn);
00203
00204 private:
00205
00206 class vtkInternal;
00207 vtkInternal* Internal;
00208
00209
00210 private:
00211 vtkQtChartView(const vtkQtChartView&);
00212 void operator=(const vtkQtChartView&);
00213 };
00214
00215 #endif