Текущий раздел:

Описания RDS

Приложения

Приложение А. Функции, константы и структуры RDS

А.3. События модуля автокомпиляции и связанные с ними структуры

А.3.4. События модуля автокомпиляции

А.3.4.15. RDS_COMPM_OPENEDITOR – вызов редактора модели

# Приложения

## Приложение А. Функции, константы и структуры RDS

### А.3. События модуля автокомпиляции и связанные с ними структуры

#### А.3.4. События модуля автокомпиляции

##### А.3.4.15. RDS_COMPM_OPENEDITOR – вызов редактора модели

Первый параметр функции модуля (int CallMode)

Константа RDS_COMPM_OPENEDITOR.

Третий параметр функции модуля (void *ExtParam)

Указатель на структуру RDS_OPENEDITORDATA, содержащую указатель на данные модели и идентификатор блока, через параметры которого дана команда открыть редактор.

Возвращаемое функцией модуля значение

Не используется, можно возвращать любое значение.

Примечания

Событие RDS_COMPM_OPENEDITOR возникает тогда, когда пользователь командует открыть редактор какой-либо модели. Обычно для этого используется контекстное меню блока с автокомпилируемой моделью или кнопка на вкладке «Компиляция» окна параметров такого блока. Реагируя на это событие, функция модуля должна каким-либо образом предоставить пользователю возможность редактировать модель, связанную с выбранным блоком – не важно, будет это модальное или немодальное окно или вызов внешнего приложения.

В параметре ExtParam при реакции на событие RDS_COMPM_OPENEDITOR передается указатель на структуру RDS_OPENEDITORDATA:

      typedef struct {
        RDS_PCOMPMODELDATA Model; // Данные модели
        RDS_BHANDLE Block;        // Блок, для которого вызван редактор
      } RDS_OPENEDITORDATA;
      typedef RDS_OPENEDITORDATA *RDS_POPENEDITORDATA;

Поля структуры

Model(RDS_PCOMPMODELDATA)
  Указатель на структуру данных модели RDS_COMPMODELDATA, для которой нужно вызвать редактор.
Block(RDS_BHANDLE)
  Идентификатор блока, из контекстного меню или окна параметров которого вызван редактор модели. В большинстве случаев модулю автокомпиляции не требуется знать этот идентификатор, поскольку одна модель может быть подключена к нескольким блокам, и не так важно, через параметры какого именно блока вызывается редактор модели. Тем не менее, идентификатор блока может использоваться, например, если в самом редакторе предусмотрена функция подключения другой модели к данному блоку.

Пример

Пример редактора модели, оформленного в виде модального окна, приведен в §3.3 руководства программиста.

См. также

rdscompOpenBlockModelEditor.