You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
nmWATI/Include/iBase/Interface/IxPtyItem.h

75 lines
1.6 KiB
C++

#pragma once
#include <QVariant>
#include <QStringList>
#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<QVariant>& listValue) = 0;
virtual void setOptions(const QStringList& listName, const QStringList& listValue) = 0;
virtual void setOptions(const QStringList& listName, const QList<int>& 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);
};