Навигация:
<< >> Оглавление Указатель

Приложения

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

А.5. Сервисные функции и макросы RDS

А.5.2. Управление работой RDS и функции общего назначения

А.5.2.15. rdsCancelPaste – отмена вставки блоков из буфера обмена

Функция rdsCancelPaste отменяет вставку одного или нескольких блоков из буфера обмена, если она вызвана из реакции на событие, возникшее в процессе этой вставки.

  void  rdsCancelPaste(void);

Тип указателя на эту функцию

RDS_VV

Примечания

При вставке блоков в схему из буфера обмена последовательно вызывается множество реакций моделей этих блоков. К блокам подключаются модели (событие RDS_BFM_INIT), проверяются статические переменные блоков (событие RDS_BFM_VARCHECK), загружаются сохраненные параметры блоков (события RDS_BFM_LOADBIN и RDS_BFM_LOADTXT). Если вставляемые блоки имеют автоматически компилируемые модели, также вызываются реакции связанных с ними модулей автокомпиляции: инициализация модуля, если он еще не подключен (RDS_COMPM_INIT), проверка возможности подключения блока к модели (RDS_COMPM_CANATTACHBLK), инициализация модели, если это ее первое использование в схеме (RDS_COMPM_MODELINIT), подключение модели к блоку (RDS_COMPM_ATTACHBLOCK) и т.д. Если хотя бы в одной из этих реакций будет вызвана функция rdsCancelPaste, вставка будет отменена, а все блоки и связи, которые успели вставиться до вызова функции, будут стерты с вызовом соответствующих реакций их моделей.

Чаще всего эта функция применяется для того, чтобы при вставке блоков, которые связаны с какими-либо глобальными объектами, предупредить об этом пользователя и дать ему возможность, при необходимости, отменить эту вставку. Например, стандартный модуль автоматической компиляции, входящий в состав RDS, при вставке из буфера обмена блоков с автокомпилируемыми моделями спрашивает пользователя, что сделать с моделями: создать их копии для вставляемых блоков, чтобы их можно было независимо изменять, или связать вставляемые блоки с теми же файлами моделей, которые использовались оригинальными, скопированными в буфер, блоками. Если пользователь нажмет в диалоге кнопку «Отмена», вся вставка блоков будет отменена.

Если функция rdsCancelPaste вызывается не в момент вставки блоков из буфера обмена, вызов будет проигнорирован.


<< >> Оглавление Указатель