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 
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