ParaView
pqSeriesEditorPropertyWidget.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: ParaView
4  Module: pqSeriesEditorPropertyWidget.h
5 
6  Copyright (c) 2005,2006 Sandia Corporation, Kitware Inc.
7  All rights reserved.
8 
9  ParaView is a free software; you can redistribute it and/or modify it
10  under the terms of the ParaView license version 1.2.
11 
12  See License_v1.2.txt for the full ParaView license.
13  A copy of this license can be obtained by contacting
14  Kitware Inc.
15  28 Corporate Drive
16  Clifton Park, NY 12065
17  USA
18 
19 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
20 ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
21 LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
22 A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS OR
23 CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
24 EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
25 PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
26 PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
27 LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
28 NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
29 SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
30 
31 ========================================================================*/
32 #ifndef pqSeriesEditorPropertyWidget_h
33 #define pqSeriesEditorPropertyWidget_h
34 
35 #include "pqApplicationComponentsModule.h"
36 #include "pqPropertyWidget.h"
37 
38 class QModelIndex;
39 class vtkObject;
40 class vtkSMPropertyGroup;
41 
49 class PQAPPLICATIONCOMPONENTS_EXPORT pqSeriesEditorPropertyWidget :
50  public pqPropertyWidget
51 {
52  Q_OBJECT
53  Q_PROPERTY(QList<QVariant> seriesVisibility
54  READ seriesVisibility
55  WRITE setSeriesVisibility
56  NOTIFY seriesVisibilityChanged)
57 
58  Q_PROPERTY(QList<QVariant> seriesLabel
59  READ seriesLabel
60  WRITE setSeriesLabel
61  NOTIFY seriesLabelChanged)
62 
63  Q_PROPERTY(QList<QVariant> seriesColor
64  READ seriesColor
65  WRITE setSeriesColor
66  NOTIFY seriesColorChanged)
67 
68  Q_PROPERTY(QList<QVariant> seriesLineThickness
69  READ seriesLineThickness
70  WRITE setSeriesLineThickness
71  NOTIFY seriesLineThicknessChanged)
72 
73  Q_PROPERTY(QList<QVariant> seriesLineStyle
74  READ seriesLineStyle
75  WRITE setSeriesLineStyle
76  NOTIFY seriesLineStyleChanged)
77 
78  Q_PROPERTY(QList<QVariant> seriesMarkerStyle
79  READ seriesMarkerStyle
80  WRITE setSeriesMarkerStyle
81  NOTIFY seriesMarkerStyleChanged)
82 
83  Q_PROPERTY(QList<QVariant> seriesPlotCorner
84  READ seriesPlotCorner
85  WRITE setSeriesPlotCorner
86  NOTIFY seriesPlotCornerChanged)
87 
89 public:
91  vtkSMProxy* proxy, vtkSMPropertyGroup* smgroup, QWidget* parent=0);
93 
95  QList<QVariant> seriesVisibility() const;
96  void setSeriesVisibility(const QList<QVariant>&);
97 
99  QList<QVariant> seriesColor() const;
100  void setSeriesColor(const QList<QVariant>&);
101 
103  QList<QVariant> seriesLabel() const;
104  void setSeriesLabel(const QList<QVariant>&);
105 
107  QList<QVariant> seriesLineThickness() const;
108  void setSeriesLineThickness(const QList<QVariant>&);
109 
111  QList<QVariant> seriesLineStyle() const;
112  void setSeriesLineStyle(const QList<QVariant>&);
113 
115  QList<QVariant> seriesMarkerStyle() const;
116  void setSeriesMarkerStyle(const QList<QVariant>&);
117 
119  QList<QVariant> seriesPlotCorner() const;
120  void setSeriesPlotCorner(const QList<QVariant>&);
121 
122 signals:
124  void seriesVisibilityChanged();
125 
127  void seriesLabelChanged();
128 
130  void seriesColorChanged();
131 
133  void seriesLineThicknessChanged();
134 
136  void seriesLineStyleChanged();
137 
139  void seriesMarkerStyleChanged();
140 
142  void seriesPlotCornerChanged();
143 
144 private slots:
147  void onDataChanged(const QModelIndex& topleft, const QModelIndex& btmright);
148 
151  void onDoubleClicked(const QModelIndex& idx);
152 
154  void refreshPropertiesWidgets();
155 
157  void savePropertiesWidgets();
158 
160  void domainModified(vtkObject* sender);
161 
162 private:
163  Q_DISABLE_COPY(pqSeriesEditorPropertyWidget)
164 
165  class pqInternals;
166  pqInternals* Internals;
167 };
168 
169 #endif
pqPropertyWidget represents a widget created for each property of a proxy on the pqPropertiesPanel (f...
pqSeriesEditorPropertyWidget is the pqPropertyWidget used to edit plot-options for a xy-series...