Приложения
Приложение А. Функции, константы и структуры 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 руководства программиста.
См. также