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

Описание пользователя

Глава 3. Использование стандартных модулей автокомпиляции

§3.7. Краткий перечень вводимых в модель описаний и реакций на события

§3.7.2. Создание и уничтожение блока

§3.7.2.4. Удаление блока пользователем

Это событие возникает непосредственно перед удалением блока из схемы в результате действий пользователя: если пользователь в режиме редактирования удаляет данный блок, группу выделенных блоков, в которую входит данный, или подсистему, внутри которой данный блок находится. При удалении блока не из-за действий пользователя (например, если память очищается перед загрузкой новой схемы) событие не возникает. Реакция на это событие может использоваться, например, для информирования пользователя о возможных последствиях удаления важных для работы блоков. Отменить удаление блока при помощи этой реакции нельзя.

Реакция на событие удаления блока вводится на вкладке «события» левой панели редактора модели: раздел «создание и уничтожение», подраздел «удаление блока пользователем». В классе блока для нее создается функция с именем rdsbcppManualDelete с введенным пользователем текстом программы внутри:

  // Actions before the block is deleted by the user
  void rdsbcppBlockClass::rdsbcppManualDelete( DeleteData)
  {
     … пользовательский текст реакции … 
  }

В функцию передается параметр DeleteData, представляющий собой указатель на структуру описания события RDS_MANUALDELETEDATA:

  typedef struct {
     Single;   // Удаляется один блок
     WithSys;  // Удаляется блок внутри удаляемой подсистемы
  } ;
  typedef  *;

Поля структуры имеют следующий смысл:

Single (BOOL)
TRUE, если данный блок – единственный удаляемый, и FALSE, если удаляется группа выделенных блоков, в которую входит данный.
WithSys (BOOL)
TRUE, если пользователь удаляет подсистему, внутри которой (на любом уровне вложенности) находится этот блок, и FALSE, если этот блок непосредственно входит в удаляемую группу выделенных блоков.

При написании моделей блоков без использования модуля автокомпиляции событию удаления блока пользователем соответствует константа RDS RDS_BFM_MANUALDELETE.


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