logo
Литература_1 / photon_old

Установочные функции модуля

Установочная функция модуля генерируется, если Вы задали имя функции в привязанной ответной реакции модульного типа, как описано в разделе "Ответные реакции модульного типа" в главе "Редактирование ресурсов и ответных реакций в PhAB".

Все установочные функции PhAB имеют три главных аргумента:

int base_setup( PtWidget_t *link_instance,

ApInfo_t *apinfo,

PtCallbackInfo_t *cbinfo )

{

/* предотвращает предупреждения (варнинги) об отсутствии ссылок */

link_instance = link_instance,

apinfo = apinfo,

cbinfo = cbinfo;

/* Вот здесь Ваш код */

return( Pt_CONTINUE );

}

где:

link_instance

Указатель на экземпляр созданного модуля PhAB. Вам понадобится сохранить этот указатель, если он указывает на модуль окна, поддерживающего множественность экземпляров.

apinfo

Указатель на структуру ApInfo_t, которая обеспечивает:

  • указатель на виджет, послуживший причиной вызова установочной функции (т.е. виджет, послуживший причиной того, что отобразился модуль). Для внутренней связи этот указатель является копией указателя на виджет, переданный функции ApCreateModule(); этот указатель полезен при позиционировании модуля. Вы можете также определить виджет, послуживший причиной вызова установочной функции, вызвав функцию ApWidget().

Обсуждавшиеся коды, связанные с типом вызванной установочной функции:

ABR_PRE_REALIZE –

эта установочная функция была вызвана перед реализацией модуля

ABR_POST_REALIZE –

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

cbinfo

Указатель на общую структуру ответной реакции Photon. Эта структура обеспечивает информацией, связанной с виджетом, вызвавшим ответную реакцию, с событием Photon'а и некоторыми данными по ответной реакции, специфическими для виджета. Формат данных варьируется в соответствии с классом виджета и типом ответной реакции. Для получения более полной информации см. описание PtCallbackInfo_t в "Справочнике виджетов".

Обычно установочная функция возвращает значение Pt_CONTINUE. Это указывает PhAB API продолжать исполнение и отобразить связанный с этой функцией модуль. Для модулей окна и диалога Вы можете возвращать Pt_END, чтобы завершить привязанную ответную реакцию и разрушить модуль, не отображая его. Для модулей окна Вы можете возвращать Pt_HALT, чтобы не реализовать, но и не разрушать окно. Это является полезным, если Вы хотите реализовать окно позже.

    1. Yandex.RTB R-A-252273-3
      Yandex.RTB R-A-252273-4