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
00156 virtual void AddChartSelectionHandlers(vtkQtChartMouseSelection* selector);
00157
00160 vtkQtChartArea* GetChartArea();
00161
00163 vtkQtChartAxis* GetAxis(int index);
00164
00166 virtual vtkQtChartSeriesModelCollection* GetChartSeriesModel()=0;
00167
00169 virtual vtkQtChartSeriesOptionsModelCollection* GetChartOptionsModel();
00170
00172 virtual vtkQtChartSeriesOptions* GetChartSeriesOptions(int series) = 0;
00173
00174
00175 virtual vtkQtChartSeriesLayer* GetChartSeriesLayer()=0;
00176
00178 vtkQtChartLegend* GetLegend();
00179
00181 virtual void SetupDefaultInteractor();
00182
00184
00185 void SetColorSchemeToSpectrum();
00186 void SetColorSchemeToWarm();
00187 void SetColorSchemeToCool();
00188 void SetColorSchemeToBlues();
00189 void SetColorSchemeToWildFlower();
00190 void SetColorSchemeToCitrus();
00192
00193 protected:
00194 vtkQtChartView();
00195 ~vtkQtChartView();
00196
00198 virtual vtkDataRepresentation* CreateDefaultRepresentation(vtkAlgorithmOutput* conn);
00199
00200 private:
00201 class vtkInternal;
00202 vtkInternal* Internal;
00203
00204 private:
00205 vtkQtChartView(const vtkQtChartView&);
00206 void operator=(const vtkQtChartView&);
00207 };
00208
00209 #endif