VTK
|
00001 /*========================================================================= 00002 00003 Program: Visualization Toolkit 00004 Module: vtkQtChartView.h 00005 00006 Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen 00007 All rights reserved. 00008 See Copyright.txt or http://www.kitware.com/Copyright.htm for details. 00009 00010 This software is distributed WITHOUT ANY WARRANTY; without even 00011 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR 00012 PURPOSE. See the above copyright notice for more information. 00013 00014 =========================================================================*/ 00015 /*---------------------------------------------------------------------------- 00016 Copyright (c) Sandia Corporation 00017 See Copyright.txt or http://www.paraview.org/HTML/Copyright.html for details. 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 // Gets the chart series layer 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&); // Not implemented. 00206 void operator=(const vtkQtChartView&); // Not implemented. 00207 }; 00208 00209 #endif