Это старая версия документа.


Создать новый тип свойств компонента.

Создадим свойство которое будет содержать список параметров. Параметр - объект содержащий: своё название, название тега с которым он связан, правила преобразования значения тега в значение параметра и, если параметр является перечислением, список возможных значений.

Создаём новые классы описывающий параметр и список параметров.

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) работать со свойствами данного типа.

doc/vsq/faq/newpropertytype.1359967268.txt.gz · Последние изменения: 2013/02/04 12:41 — alexi
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0