Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
76
Добавлен:
02.04.2015
Размер:
8.79 Mб
Скачать
    1. Связывание помощи с виджетами

Вы можете отобразить информацию помощи для виджета в просмотровщике помощи либо во всплывающем "баллоне", содержащем текст помощи. Вы можете использовать даже два метода сразу в одном приложении. Например, Вы можете использовать баллон для кратких пояснений и просмотровщик помощи для более детальной помощи.

Независимо от того, какой метод Вы выбрали, Вам необходимо выполнить в каждом окне Вашего приложения следующее:

  1. Установить флаг Ph_WM_HELP в ресурсе управления флагов (Pt_ARG_WINDOW_MANAGER_FLAGS).

  2. Установить флаг Ph_WM_RENDER_HELP в ресурсе отображения флагов (Pt_ARG_WINDOW_RENDER_FLAGS). Это добавит иконку "?" на рамку окна. Пользователь может щёлкнуть на иконке, затем щёлкнуть на виджете, и отобразится информация с помощью.

Если для Вашего приложения не применимо по каким-либо причинам использование иконки "?", см. раздел "Помощь без иконки "?" ниже в этой главе.

Для более полной информации см. главу "Управление окном".

          1. Отображение помощи в просмотрщике помощи

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

  1. Необязательно, задайте ресурс корня помощи (Pt_ARG_WINDOW_HELP_ROOT) для каждого окна Вашего приложения. Это позволит Вам задать относительные маршруты тем для виджетов внутри окна.

  • Используйте не URL, а маршруты темы.

Корневая тема должна начинаться с наклонной черты (/) и должна быть вершиной всех тем окна, обычно берётся из TOC-файла в директории /usr/help/product. Например:

/Photon micro GUI/User's Guide

  1. Для каждого виджета в окне заполните ресурс темы помощи (Pt_ARG_HELP_TOPIC). Если Вы задали для окна корневую тему, этот маршрут тем может быть относительно корня темы окна. Например:

Introduction

Когда пользователь щёлкнет на иконке "?" и выберет виджет, в просмотрщике помощи отобразится информация помощи.

 Если при просьбе о помощи для виджета Вы получите сообщение об ошибке, сообщающее о неверной связи ("bad link"), убедитесь в корректном маршруте тем.

          1. Отображение помощи во всплывающем баллоне

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

  1. Поместите текст, который Вы хотите отобразить в баллоне, в ресурс виджета темы помощи (Pt_ARG_HELP_TOPIC).

  2. Установите флаг Pt_INTERNAL_HELP в ресурсе расширенных флагов виджета (Pt_ARG_EFLAGS).

Когда пользователь щёлкнет на иконке "?" и затем выберет виджет, в баллоне появится помогающая информация.

          1. Помощь без иконки "?"

Во многих приложениях иконка "?" на рамке окна не применяется. Однако Вы всё равно можете захотеть использовать для отображения помощи Photon'овский просмотровщик помощи.

Например:

  • Для экранов, чувствительных к прикосновению, иконка "?" окна может оказаться слишком маленькой.

  • Вы можете захотеть изменить указатель мыши на указатель помощи при нажатии клавиши.

Чтобы изменить указатель мыши на указатель помощи, перешлите менеджеру окон событие Ph_WM_HELP. Вот такой код должен находиться в ответной реакции, прикреплённый к виджету типа PtButton с надписью "Help":

int help_cb( PtWidget_t *widget, ApInfo_t *apinfo, PtCallbackInfo_t *cbinfo ) {

PhWindowEvent_t winev;

memset( &winev, 0, sizeof(winev) );

winev.event_f = Ph_WM_HELP;

winev.rid = PtWidgetRid( window );

PtForwardWindowEvent( &winev );

return( Pt_CONTINUE );

}

 Для окна должен быть установлен флаг Ph_WM_HELP в ресурсе управляемых флагов (Pt_ARG_WINDOW_MANAGER_FLAGS). Вы также должны заполнить ресурс тем помощи (Pt_ARG_HELP_TOPIC) для виджетов, имеющих помощь, как обрисовано выше.

Соседние файлы в папке Литература_1