12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061 |
-
- #ifndef VARIANTMANAGER_H
- #define VARIANTMANAGER_H
- #include "Common.h"
- #include "qtvariantproperty.h"
- #include "qttreepropertybrowser.h"
- /// <summary>
- /// 扩展VariantManager类,增加自定义的属性处理
- /// </summary>
- class VariantManager : public QtVariantPropertyManager
- {
- Q_OBJECT
- public:
- explicit VariantManager(QObject *parent = Q_NULLPTR);
- ~VariantManager();
- virtual QVariant value(const QtProperty *property) const;
- virtual int valueType(int propertyType) const;
- virtual bool isPropertyTypeSupported(int propertyType) const;
- virtual QStringList attributes(int propertyType) const;
- virtual int attributeType(int propertyType, const QString &attribute) const;
- virtual QVariant attributeValue(const QtProperty *property, const QString &attribute) const;
- static int tagDataLinkTypeId();
- static int tagTableExInfoTypeId();
- void setPropertyEditor(QtTreePropertyBrowser *editor);
- QtTreePropertyBrowser *getPropertyEditor();
- public slots:
- virtual void setValue(QtProperty *property, const QVariant &val);
- virtual void setAttribute(QtProperty *property,
- const QString &attribute, const QVariant &value);
- protected:
- virtual QString valueText(const QtProperty *property) const;
- virtual void initializeProperty(QtProperty *property);
- virtual void uninitializeProperty(QtProperty *property);
- private:
- QtTreePropertyBrowser *propertyEditor_ = Q_NULLPTR;
- private:
- struct Data {
- QString value;
- QString attribute;
- };
- QMap<const QtProperty *, Data> theValues;
- };
- #endif
|