#pragma once #include #include #include "IxInterface.h" class IxPtyPano; // 属性条目 class IxPtyItem : virtual public IxInterface { public: enum ItemType { typeDefault, typeEnum, typeSymbol }; // 属性编辑器 virtual IxPtyPano* getPtyPano() const = 0; // 父条目 virtual IxPtyItem* getParent() const = 0; // 是否分组 virtual bool isGroup() const = 0; // 获取条目类型 virtual ItemType getItemType() const = 0; // 设置条目类型 virtual void setItemType(ItemType _type) = 0; // 设置取值范围 virtual void setLimit(int nMin, int nMax) = 0; virtual void setLimit(double fMin, double fMax) = 0; // 设置可选条目 virtual void setOptions(const QStringList& listName, const QList& listValue) = 0; virtual void setOptions(const QStringList& listName, const QStringList& listValue) = 0; virtual void setOptions(const QStringList& listName, const QList& listValue) = 0; // 当前值 virtual QVariant getValue() const = 0; virtual void setValue(const QVariant& v, IxInterface* pSetBy = 0) = 0; // 可见 virtual bool isVisible() const = 0; virtual void setVisible(bool bVisible) = 0; // 只读 virtual bool isReadOnly() const = 0; virtual void setReadOnly(bool bReadOnly) = 0; // 展开 virtual void setExpand(bool bExpand) = 0; // 激活条目 virtual void activate() = 0; // 高度 virtual void setHeight(int height) = 0; virtual int getHeight() const = 0; inline IxPtyItem* findPropertyItem(const QString& key); };