Это старая версия документа.
Создать новый тип свойств компонента.
Создадим свойство которое будет содержать список параметров. Параметр - объект содержащий: своё название, название тега с которым он связан, правила преобразования значения тега в значение параметра и, если параметр является перечислением, список возможных значений.
Создаём новые классы описывающий параметр и список параметров.
class VsqParameter { public:
VsqParameter();
public:
QString ParameterName; QString TagName; QStringList TransformRules; QStringList ValsList;
};
typedef QList<VsqParameter> VsqParameterList;
Регистрируем информацию о типах (это лучше сделать, там же где объявлены классы):
Q_DECLARE_METATYPE (VsqParameter) Q_DECLARE_METATYPE (VsqParameterList)
В начале программы регистрируем для использования в рантайме.
storeUserTypeInfo("VsqParameterList", qRegisterMetaType<VsqParameterList>());
qRegisterMetaType - регистрирует тип в метообъектной системе. storeUserTypeInfo - позволяет сохранить номер зарегистрированного типа в нашей программе, для получения номера используйте int getUserTypeNum(QString className).
Кроме того необходимо создать редактор и «обучить» класс загрузки и сохранения проекта (TFilter) работать со свойствами данного типа.