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