00001 /*========================================================================= 00002 00003 Program: Visualization Toolkit 00004 Module: vtkQtChartStyleManager.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 2008 Sandia Corporation. 00017 Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, 00018 the U.S. Government retains certain rights in this software. 00019 -------------------------------------------------------------------------*/ 00020 00023 00024 #ifndef _vtkQtChartStyleManager_h 00025 #define _vtkQtChartStyleManager_h 00026 00027 00028 #include "vtkQtChartExport.h" 00029 #include <QObject> 00030 00031 class vtkQtChartSeriesLayer; 00032 class vtkQtChartSeriesOptions; 00033 class vtkQtChartStyleManagerInternal; 00034 class QString; 00035 00036 00046 class VTKQTCHART_EXPORT vtkQtChartStyleManager : public QObject 00047 { 00048 Q_OBJECT 00049 00050 public: 00054 vtkQtChartStyleManager(QObject *parent=0); 00055 virtual ~vtkQtChartStyleManager(); 00056 00058 00059 virtual int getStyleIndex(vtkQtChartSeriesLayer *layer, 00060 vtkQtChartSeriesOptions *options) const = 0; 00061 00062 virtual int insertStyle(vtkQtChartSeriesLayer *layer, 00063 vtkQtChartSeriesOptions *options) = 0; 00064 00065 virtual void removeStyle(vtkQtChartSeriesLayer *layer, 00066 vtkQtChartSeriesOptions *options) = 0; 00068 00070 00071 QObject *getGenerator(const QString &name) const; 00072 00073 void setGenerator(const QString &name, QObject *generator); 00074 00075 void removeGenerator(const QString &name); 00076 00077 void removeGenerator(QObject *generator); 00079 00080 private: 00082 vtkQtChartStyleManagerInternal *Internal; 00083 00084 private: 00085 vtkQtChartStyleManager(const vtkQtChartStyleManager &); 00086 vtkQtChartStyleManager &operator=(const vtkQtChartStyleManager &); 00087 }; 00088 00089 #endif