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

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

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

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

§3.7.11. Прочие реакции

§3.7.11.6. Вызов контекстного меню

Это событие возникает непосредственно перед появлением на экране контекстного меню блока. Как правило, реакция на него используется для добавления в это меню дополнительных пунктов, при выборе которых модель блока будет вызываться для выполнения каких-либо действий. Примеры моделей, добавляющих свои пункты в контекстное меню, приведены в §3.6.12.

Текст реакции на это событие вводится на вкладке «события» левой панели редактора модели: раздел «разное», подраздел «вызов контекстного меню». В классе блока для нее создается функция с именем rdsbcppContextPopup следующего вида:

  // Actions before popup menu show
  void rdsbcppBlockClass::rdsbcppContextPopup( MenuData)
  {
     … пользовательский текст реакции … 
  }

Параметр функции MenuData – это указатель на структуру с именем RDS_CONTEXTPOPUPDATA:

  typedef struct {
     EditMode;   // Включен режим редактирования
     FreeSpace;  // Щелчок на свободном месте окна
  } ;
  typedef  *;

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

EditMode (BOOL)
TRUE, если RDS в момент вызова меню находится в режиме редактирования, и FALSE, если RDS находится в режимах моделирования или расчета (пункты меню в режиме редактирования, как правило, отличаются).
FreeSpace (BOOL)
FALSE, если вызвано контекстное меню самого блока, и TRUE, если контекстное меню вызвано щелчком не на изображении блока, а на свободном месте окна подсистемы. Это поле может принимать значение TRUE только в том случае, если данный блок – подсистема, и ее окно в данный момент открыто. Поскольку автокомпилируемые модели подсистем практически не используются, необходимости в анализе значения этого поля обычно не возникает.

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


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