VTK
dox/GUISupport/Qt/vtkQtChartView.h
Go to the documentation of this file.
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 
00155   //BTX
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   // Gets the chart series layer
00176   virtual vtkQtChartSeriesLayer* GetChartSeriesLayer()=0;
00177 
00179 
00180   vtkQtChartLegend* GetLegend();
00181   //ETX
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   //BTX
00206   class vtkInternal;
00207   vtkInternal* Internal;
00208   //ETX
00209 
00210 private:
00211   vtkQtChartView(const vtkQtChartView&);  // Not implemented.
00212   void operator=(const vtkQtChartView&);  // Not implemented.
00213 };
00214 
00215 #endif