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