pqPropertyManager.h
Go to the documentation of this file.
1 // SPDX-FileCopyrightText: Copyright (c) Kitware Inc.
2 // SPDX-FileCopyrightText: Copyright (c) Sandia Corporation
3 // SPDX-License-Identifier: BSD-3-Clause
4 
5 #ifndef pqPropertyManager_h
6 #define pqPropertyManager_h
7 
8 #include "pqCoreModule.h"
9 #include <QObject>
10 #include <QPointer>
11 #include <QVariant>
12 
13 class vtkSMProxy;
14 class vtkSMProperty;
15 class pqPropertyLinks;
16 
24 class PQCORE_EXPORT pqPropertyManager : public QObject
25 {
26  Q_OBJECT
27 
28 public:
32  pqPropertyManager(QObject* p = nullptr);
36  ~pqPropertyManager() override;
37 
41  void registerLink(QObject* qObject, const char* qProperty, const char* signal, vtkSMProxy* Proxy,
42  vtkSMProperty* Property, int Index = -1);
43 
47  void unregisterLink(QObject* qObject, const char* qProperty, const char* signal,
48  vtkSMProxy* Proxy, vtkSMProperty* Property, int Index = -1);
49 
54  bool isModified() const;
55 
56  // Call this method to un-links all property links
57  // maintained by this object.
58  void removeAllLinks();
59 
60 Q_SIGNALS:
65  void modified();
66 
70  void aboutToAccept();
71  void accepted();
75  void rejected();
76 
77 public Q_SLOTS:
81  void accept();
85  void reject();
89  void propertyChanged();
90 
91 protected:
93  bool Modified;
94 };
95 #endif // !pqPropertyManager_h
Manages links between Qt properties and unchecked proxy properties This is useful if more than one QW...
superclass for all SM properties
pqPropertyLinks * Links
#define PQCORE_EXPORT
Definition: pqCoreModule.h:15
proxy for a VTK object(s) on a server
Definition: vtkSMProxy.h:140