4 #ifndef pqPropertyLinks_h
5 #define pqPropertyLinks_h
10 #include "pqCoreModule.h"
41 typedef QObject Superclass;
64 bool addPropertyLink(QObject* qobject,
const char* qproperty,
const char* qsignal,
70 bool addTraceablePropertyLink(QObject* qobject,
const char* qproperty,
const char* qsignal,
76 template <
class ConnectionType>
77 bool addPropertyLink(QObject* qobject,
const char* qproperty,
const char* qsignal,
79 ConnectionType* notused =
nullptr);
86 template <
class ConnectionType>
87 bool addTraceablePropertyLink(QObject* qobject,
const char* qproperty,
const char* qsignal,
89 ConnectionType* notused =
nullptr);
94 bool removePropertyLink(QObject* qobject,
const char* qproperty,
const char* qsignal,
125 void setUseUncheckedProperties(
bool val);
133 void qtWidgetChanged();
134 void smPropertyChanged();
141 void onQtPropertyModified();
142 void onSMPropertyModified();
147 template <
class ConnectionType>
148 ConnectionType* addPropertyLinkInternal(QObject* qobject,
const char* qproperty,
154 pqInternals* Internals;
155 bool UseUncheckedProperties;
156 bool AutoUpdateVTKObjects;
160 template <
class ConnectionType>
161 ConnectionType* pqPropertyLinks::addPropertyLinkInternal(QObject* qobject,
const char* qproperty,
164 if (!qobject || !qproperty || !qsignal || !smproxy || !smproperty)
166 qCritical() <<
"Invalid parameters to pqPropertyLinks::addPropertyLinkInternal";
167 qDebug() <<
"(" << qobject <<
", " << qproperty <<
", " << qsignal <<
") <==> ("
168 << (smproxy ? smproxy->
GetXMLName() :
"(none)") <<
","
169 << (smproperty ? smproperty->
GetXMLLabel() :
"(none)") << smindex <<
")";
173 ConnectionType* connection =
new ConnectionType(qobject, qproperty, qsignal, smproxy, smproperty,
175 this->addNewConnection(connection);
181 template <
class ConnectionType>
185 auto connection = this->addPropertyLinkInternal<ConnectionType>(
186 qobject, qproperty, qsignal, smproxy, smproperty, smindex);
187 return connection !=
nullptr;
191 template <
class ConnectionType>
195 auto connection = this->addPropertyLinkInternal<ConnectionType>(
196 qobject, qproperty, qsignal, smproxy, smproperty, smindex);
199 connection->setTraceChanges(
true);