ParaView
pqSMAdaptor.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: ParaView
4  Module: pqSMAdaptor.h
5 
6  Copyright (c) 2005-2008 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 
33 #ifndef _pqSMAdaptor_h
34 #define _pqSMAdaptor_h
35 
36 class vtkSMProperty;
37 class vtkSMProxy;
38 class vtkObject;
39 
40 #include "pqCoreModule.h"
41 #include "pqSMProxy.h"
42 #include "vtkVariant.h"
43 #include <QList>
44 #include <QPair>
45 #include <QVariant>
46 
47 Q_DECLARE_METATYPE(QList<QList<QVariant> >)
48 
49 
52 class PQCORE_EXPORT pqSMAdaptor
53 {
54 protected:
55  // class not instantiated
56  pqSMAdaptor();
57  ~pqSMAdaptor();
58 
59 private:
60  static const int metaId;
61 
62 public:
67  {
79  SIL,
80  };
81 
83  {
85  UNCHECKED
86  };
87 
91  static PropertyType getPropertyType(vtkSMProperty* Property);
92 
97  static pqSMProxy getProxyProperty(vtkSMProperty* Property, PropertyValueType Type = CHECKED);
98 
103  static void addProxyProperty(vtkSMProperty* Property, pqSMProxy Value);
104  static void removeProxyProperty(vtkSMProperty* Property, pqSMProxy Value);
105  static void setProxyProperty(vtkSMProperty* Property, pqSMProxy Value);
106  static void setUncheckedProxyProperty(vtkSMProperty* Property, pqSMProxy Value);
107  static void addInputProperty(vtkSMProperty* Property, pqSMProxy Value, int opport);
108  static void setInputProperty(vtkSMProperty* Property, pqSMProxy Value, int opport);
109 
114  static QList<pqSMProxy> getProxyListProperty(vtkSMProperty* Property);
119  static void setProxyListProperty(vtkSMProperty* Property, QList<pqSMProxy> Value);
120 
124  static QList<pqSMProxy> getProxyPropertyDomain(vtkSMProperty* Property);
125 
129  static QList<QList<QVariant> > getSelectionProperty(
130  vtkSMProperty* Property, PropertyValueType Type = CHECKED);
134  static QList<QVariant> getSelectionProperty(
135  vtkSMProperty* Property, unsigned int Index, PropertyValueType Type = CHECKED);
139  static void setSelectionProperty(
140  vtkSMProperty* Property, QList<QList<QVariant> > Value, PropertyValueType Type = CHECKED);
141 
147  static void setSelectionProperty(
148  vtkSMProperty* Property, QList<QVariant> Value, PropertyValueType Type = CHECKED);
149 
153  static QList<QVariant> getSelectionPropertyDomain(vtkSMProperty* Property);
154 
158  static QVariant getEnumerationProperty(vtkSMProperty* Property, PropertyValueType Type = CHECKED);
162  static void setEnumerationProperty(
163  vtkSMProperty* Property, QVariant Value, PropertyValueType Type = CHECKED);
167  static QList<QVariant> getEnumerationPropertyDomain(vtkSMProperty* Property);
168 
172  static QVariant getElementProperty(vtkSMProperty* Property, PropertyValueType Type = CHECKED);
176  static void setElementProperty(
177  vtkSMProperty* Property, QVariant Value, PropertyValueType Type = CHECKED);
181  static QList<QVariant> getElementPropertyDomain(vtkSMProperty* Property);
182 
186  static QList<QVariant> getMultipleElementProperty(
187  vtkSMProperty* Property, PropertyValueType Type = CHECKED);
191  static void setMultipleElementProperty(
192  vtkSMProperty* Property, QList<QVariant> Value, PropertyValueType Type = CHECKED);
197  static QList<QList<QVariant> > getMultipleElementPropertyDomain(vtkSMProperty* Property);
198 
203  static QVariant getMultipleElementProperty(
204  vtkSMProperty* Property, unsigned int Index, PropertyValueType Type = CHECKED);
209  static void setMultipleElementProperty(
210  vtkSMProperty* Property, unsigned int Index, QVariant Value, PropertyValueType Type = CHECKED);
211 
216  static QList<QVariant> getMultipleElementPropertyDomain(
217  vtkSMProperty* Property, unsigned int Index);
218 
222  static QStringList getFileListProperty(vtkSMProperty* Property, PropertyValueType Type = CHECKED);
226  static void setFileListProperty(
227  vtkSMProperty* Property, QStringList Value, PropertyValueType Type = CHECKED);
228 
229  // get/set the field selection
230  static QStringList getFieldSelection(vtkSMProperty* Property, PropertyValueType Type = CHECKED);
231  static void setFieldSelection(
232  vtkSMProperty* Property, const QStringList& Value, PropertyValueType Type = CHECKED);
233 
237  static QString getFieldSelectionMode(vtkSMProperty* prop, PropertyValueType Type = CHECKED);
238  static void setFieldSelectionMode(
239  vtkSMProperty* Property, const QString& Value, PropertyValueType Type = CHECKED);
240  static QList<QString> getFieldSelectionModeDomain(vtkSMProperty*);
241 
245  static QString getFieldSelectionScalar(vtkSMProperty* Property, PropertyValueType Type = CHECKED);
246  static void setFieldSelectionScalar(
247  vtkSMProperty* Property, const QString& Value, PropertyValueType Type = CHECKED);
248  static QList<QString> getFieldSelectionScalarDomain(vtkSMProperty*);
249  static QList<QPair<QString, bool> > getFieldSelectionScalarDomainWithPartialArrays(
250  vtkSMProperty*);
251 
257  static QList<QString> getDomainTypes(vtkSMProperty* property);
258 
262  static void clearUncheckedProperties(vtkSMProperty* property);
263 
267  static QVariant convertToQVariant(const vtkVariant& variant);
268 };
269 
270 #endif // !_pqSMAdaptor_h
Translates server manager events into Qt-compatible slots and signals.
Definition: pqSMAdaptor.h:52
PropertyType
enumeration for types of properties this class handles
Definition: pqSMAdaptor.h:66
superclass for all SM properties
vtkSmartPointer< vtkSMProxy > pqSMProxy
make pqSMProxy synonymous to a smart pointer of a vtkSMProxy
Definition: pqSMProxy.h:44
proxy for a VTK object(s) on a server
Definition: vtkSMProxy.h:152