24 #ifndef GAMMARAY_PROPERTYCONTROLLER_H
25 #define GAMMARAY_PROPERTYCONTROLLER_H
27 #include "gammaray_core_export.h"
28 #include "propertycontrollerextension.h"
30 #include <common/propertycontrollerinterface.h>
35 class QAbstractItemModel;
39 class ConnectionFilterProxyModel;
50 const QString &objectBaseName();
52 void setObject(QObject *
object);
53 void setObject(
void *
object,
const QString &className);
54 void setMetaObject(
const QMetaObject *metaObject);
56 void registerModel(QAbstractItemModel *model,
const QString &nameSuffix);
59 static void registerExtension()
61 PropertyControllerExtensionFactoryBase *factory =
new PropertyControllerExtensionFactory<T>();
62 s_extensionFactories << factory;
64 instance->loadExtension(factory);
68 void objectDestroyed();
71 void loadExtension(PropertyControllerExtensionFactoryBase *factory);
74 QString m_objectBaseName;
76 QPointer<QObject> m_object;
77 QVector<PropertyControllerExtension*> m_extensions;
79 static QVector<PropertyControllerExtensionFactoryBase*> s_extensionFactories;
80 static QVector<PropertyController*> s_instances;
85 #endif // GAMMARAY_PROPERTYCONTROLLER_H