⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 qvsfenum.h

📁 Windows上的MUD客户端程序
💻 H
字号:
#ifndef  _QV_SF_ENUM_
#define  _QV_SF_ENUM_

#include <QvString.h>
#include <QvSubField.h>

class QvSFEnum : public QvSField {
  public:
    int value;
    QV_SFIELD_HEADER(QvSFEnum);

    // Sets up value/name correspondances
    void setEnums(int num, const int vals[], const QvName names[])
	{ numEnums = num; enumValues = vals; enumNames = names; }

    int			numEnums;	// Number of enumeration values
    const int		*enumValues;	// Enumeration values
    const QvName	*enumNames;	// Mnemonic names of values

	QvString	strValue;			// For unknown nodes

    // Looks up enum name, returns value. Returns FALSE if not found.
    QvBool		findEnumValue(const QvName &name, int &val) const;
};

#define	QV_NODE_SET_SF_ENUM_TYPE(fieldName, enumType)			      \
    do {								      \
	int _so_sf_enum_num;						      \
	const int *_so_sf_enum_vals;					      \
	const QvName *_so_sf_enum_names;				      \
	fieldData->getEnumData(QV__QUOTE(enumType),			      \
			       _so_sf_enum_num,				      \
			       _so_sf_enum_vals,			      \
			       _so_sf_enum_names);			      \
	fieldName.setEnums(_so_sf_enum_num,				      \
			   _so_sf_enum_vals,				      \
			   _so_sf_enum_names);				      \
    } while (0)

#endif /* _QV_SF_ENUM_ */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -