00001 /*========================================================================= 00002 00003 Program: Visualization Toolkit 00004 Module: $RCSfile: vtkQtChartRepresentation.h,v $ 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 ----------------------------------------------------------------------------*/ 00029 #ifndef __vtkQtChartRepresentation_h 00030 #define __vtkQtChartRepresentation_h 00031 00032 #include "QVTKWin32Header.h" 00033 #include "vtkQtTableDataRepresentation.h" 00034 00035 #include <QObject> 00036 #include <QList> 00037 #include "vtkQtChartSeriesSelection.h" 00038 00039 class vtkQtChartSeriesLayer; 00040 class QItemSelection; 00041 class vtkQtAbstractModelAdapter; 00042 class vtkAlgorithmOutput; 00043 class vtkDataArray; 00044 class vtkIdTypeArray; 00045 class vtkIntArray; 00046 class vtkLookupTable; 00047 class vtkQtChartRepresentation; 00048 class vtkQtItemView; 00049 class vtkSelection; 00050 class vtkSelectionLink; 00051 class vtkView; 00052 00053 class QVTK_EXPORT vtkQtChartRepresentationSignalHandler : public QObject 00054 { 00055 Q_OBJECT 00056 public: 00057 void setTarget(vtkQtChartRepresentation* t) { this->Target = t; } 00058 public slots: 00059 void selectedSeriesChanged(const vtkQtChartSeriesSelection&); 00060 void modelChanged(); 00061 private: 00062 vtkQtChartRepresentation* Target; 00063 }; 00064 00065 class QVTK_EXPORT vtkQtChartRepresentation : public vtkQtTableDataRepresentation 00066 { 00067 public: 00068 static vtkQtChartRepresentation *New(); 00069 vtkTypeRevisionMacro(vtkQtChartRepresentation, vtkQtTableDataRepresentation); 00070 void PrintSelf(ostream& os, vtkIndent indent); 00071 00073 virtual void SetInputConnection(vtkAlgorithmOutput* conn); 00074 00076 00077 virtual void SetChartLayer(vtkQtChartSeriesLayer* layer); 00078 virtual vtkQtChartSeriesLayer* GetChartLayer() { return this->ChartLayer; } 00080 00082 virtual void QtSelectedSeriesChanged(const vtkQtChartSeriesSelection &list); 00083 00085 virtual void QtModelChanged(); 00086 00088 virtual void Update(); 00089 00091 00093 void SetColumnsAsSeries(bool); 00094 vtkGetMacro(ColumnsAsSeries,int); 00096 00097 protected: 00098 vtkQtChartRepresentation(); 00099 ~vtkQtChartRepresentation(); 00100 00103 bool AddToView(vtkView* view); 00104 00107 bool RemoveFromView(vtkView* view); 00108 00109 virtual void CreateSeriesColors(); 00110 00112 vtkQtChartSeriesLayer* ChartLayer; 00113 00115 vtkQtChartRepresentationSignalHandler* Handler; 00116 00118 vtkIdTypeArray* SeriesToVTKMap; 00119 00121 vtkIntArray* VTKToSeriesMap; 00122 00123 bool ColumnsAsSeries; 00124 00125 private: 00126 vtkQtChartRepresentation(const vtkQtChartRepresentation&); // Not implemented. 00127 void operator=(const vtkQtChartRepresentation&); // Not implemented. 00128 }; 00129 00130 #endif