VTK
vtkQtChartLegendManager.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkQtChartLegendManager.h
5 
6  Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
7  All rights reserved.
8  See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
9 
10  This software is distributed WITHOUT ANY WARRANTY; without even
11  the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
12  PURPOSE. See the above copyright notice for more information.
13 
14 =========================================================================*/
15 /*-------------------------------------------------------------------------
16  Copyright 2008 Sandia Corporation.
17  Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation,
18  the U.S. Government retains certain rights in this software.
19 -------------------------------------------------------------------------*/
20 
23 
24 #ifndef _vtkQtChartLegendManager_h
25 #define _vtkQtChartLegendManager_h
26 
27 #include "vtkQtChartExport.h"
28 #include <QObject>
29 
30 class vtkQtChartArea;
31 class vtkQtChartLayer;
32 class vtkQtChartLegend;
33 class vtkQtChartLegendManagerInternal;
37 
38 
43 class VTKQTCHART_EXPORT vtkQtChartLegendManager : public QObject
44 {
45  Q_OBJECT
46 
47 public:
51  vtkQtChartLegendManager(QObject *parent=0);
52  virtual ~vtkQtChartLegendManager();
53 
55 
56 
57 
58 
59  void setChartArea(vtkQtChartArea *area);
60 
64  void setChartLegend(vtkQtChartLegend *legend);
66 
67 public slots:
72  void insertLayer(int index, vtkQtChartLayer *chart);
73 
78  void removeLayer(int index, vtkQtChartLayer *chart);
79 
84  void setLayerVisible(vtkQtChartLayer *chart, bool visible);
85 
86 private slots:
91  void changeModel(vtkQtChartSeriesModel *previous,
92  vtkQtChartSeriesModel *current);
93 
98  void updateModelEntries(int first, int last);
99 
101  void insertModelEntries();
102 
107  void insertModelEntries(int first, int last);
108 
110  void removeModelEntries();
111 
116  void removeModelEntries(int first, int last);
117 
118 private:
124  int getLegendIndex(vtkQtChartSeriesLayer *chart);
125 
132  int getLegendIndex(vtkQtChartSeriesModel *model,
133  vtkQtChartSeriesLayer **chart=0);
134 
143  void insertLegendEntries(vtkQtChartLegendModel *legend, int index,
145  int first, int last);
146 
153  void removeLegendEntries(vtkQtChartLegendModel *legend, int index,
154  int first, int last);
155 
156 private:
157  vtkQtChartLegendManagerInternal *Internal;
158  vtkQtChartArea *Area;
159  vtkQtChartLegend *Legend;
160 
161 private:
164 };
165 
166 #endif