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 
51 {
52 protected:
53  // class not instantiated
54  pqSMAdaptor();
55  ~pqSMAdaptor();
56 
57 public:
62  {
73  SIL,
74  };
75 
77  {
79  UNCHECKED
80  };
81 
85  static PropertyType getPropertyType(vtkSMProperty* Property);
86 
91  static pqSMProxy getProxyProperty(vtkSMProperty* Property, PropertyValueType Type = CHECKED);
92 
97  static void addProxyProperty(vtkSMProperty* Property, pqSMProxy Value);
98  static void removeProxyProperty(vtkSMProperty* Property, pqSMProxy Value);
99  static void setProxyProperty(vtkSMProperty* Property, pqSMProxy Value);
100  static void setUncheckedProxyProperty(vtkSMProperty* Property, pqSMProxy Value);
101  static void addInputProperty(vtkSMProperty* Property, pqSMProxy Value, int opport);
102  static void setInputProperty(vtkSMProperty* Property, pqSMProxy Value, int opport);
103 
108  static QList<pqSMProxy> getProxyListProperty(vtkSMProperty* Property);
113  static void setProxyListProperty(vtkSMProperty* Property, QList<pqSMProxy> Value);
114 
118  static QList<pqSMProxy> getProxyPropertyDomain(vtkSMProperty* Property);
119 
123  static QList<QList<QVariant> > getSelectionProperty(
124  vtkSMProperty* Property, PropertyValueType Type = CHECKED);
128  static QList<QVariant> getSelectionProperty(
129  vtkSMProperty* Property, unsigned int Index, PropertyValueType Type = CHECKED);
133  static void setSelectionProperty(
134  vtkSMProperty* Property, QList<QList<QVariant> > Value, PropertyValueType Type = CHECKED);
135 
141  static void setSelectionProperty(
142  vtkSMProperty* Property, QList<QVariant> Value, PropertyValueType Type = CHECKED);
143 
147  static QList<QVariant> getSelectionPropertyDomain(vtkSMProperty* Property);
148 
152  static QVariant getEnumerationProperty(vtkSMProperty* Property, PropertyValueType Type = CHECKED);
156  static void setEnumerationProperty(
157  vtkSMProperty* Property, QVariant Value, PropertyValueType Type = CHECKED);
161  static QList<QVariant> getEnumerationPropertyDomain(vtkSMProperty* Property);
162 
166  static QVariant getElementProperty(vtkSMProperty* Property, PropertyValueType Type = CHECKED);
170  static void setElementProperty(
171  vtkSMProperty* Property, QVariant Value, PropertyValueType Type = CHECKED);
175  static QList<QVariant> getElementPropertyDomain(vtkSMProperty* Property);
176 
180  static QList<QVariant> getMultipleElementProperty(
181  vtkSMProperty* Property, PropertyValueType Type = CHECKED);
185  static void setMultipleElementProperty(
186  vtkSMProperty* Property, QList<QVariant> Value, PropertyValueType Type = CHECKED);
191  static QList<QList<QVariant> > getMultipleElementPropertyDomain(vtkSMProperty* Property);
192 
197  static QVariant getMultipleElementProperty(
198  vtkSMProperty* Property, unsigned int Index, PropertyValueType Type = CHECKED);
203  static void setMultipleElementProperty(
204  vtkSMProperty* Property, unsigned int Index, QVariant Value, PropertyValueType Type = CHECKED);
205 
210  static QList<QVariant> getMultipleElementPropertyDomain(
211  vtkSMProperty* Property, unsigned int Index);
212 
216  static QStringList getFileListProperty(vtkSMProperty* Property, PropertyValueType Type = CHECKED);
220  static void setFileListProperty(
221  vtkSMProperty* Property, QStringList Value, PropertyValueType Type = CHECKED);
222 
228  static QList<QString> getDomainTypes(vtkSMProperty* property);
229 
233  static void clearUncheckedProperties(vtkSMProperty* property);
234 
238  static QVariant convertToQVariant(const vtkVariant& variant);
239 };
240 
241 #endif // !_pqSMAdaptor_h
Translates server manager events into Qt-compatible slots and signals.
Definition: pqSMAdaptor.h:50
PropertyType
enumeration for types of properties this class handles
Definition: pqSMAdaptor.h:61
superclass for all SM properties
#define PQCORE_EXPORT
Definition: pqCoreModule.h:15
proxy for a VTK object(s) on a server
Definition: vtkSMProxy.h:152