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

В этой главе обсуждается:

  • Создание внутренних связей

  • Использование внутренних связей в Вашем коде

  • Базы данных виджетов

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

Внутренняя связь подобна связи ответной рекции – она позволяет Вам задать тип модуля, функцию предустановки и там, где это присуще, расположение. Но в отличие от связи ответной реакции, которая всегда привязана непосредственно к ответной реакции виджета, внутренняя связь не привязана ни к какому виджету. Вместо этого PhAB сгенерирует описание, которое Вы используете в своём программном коде, чтобы задать, какую внутреннююю связь Вы хотите использовать. PhAB предоставляет несколько функций, помогающих Вам использовать внутренние связи (обсуждаются ниже).

Вы можете использовать внутренние связи, чтобы:

  • Создать модуль PhAB внутри кода приложения. Используя связь ответной реакции, Вы можете напрямую связать виджет с модулем приложения PhAB. Но иногда Вам необходимо вместо этого создавать модуль из Вашего программного кода. Чтобы это сделать, используйте внутреннюю связь. Вот несколько общих ситуаций, когда Вы будете использовать внутреннюю связь для создания модуля:

  • Когда Ваше приложение может отображать один из двух различных модулей, основанных на одном и том же состоянии внутри приложения.

  • Когда Вам надо управлять генеалогией модуля, вместо того чтобы использовать принимаемую в PhAB по умолчанию (по умолчанию новый модуль является потомком базового окна).

  • Когда Вы хотите отобразить меню при нажатии пользователем правой кнопки мыши.

  • Получить доступ и отобразить модули картинок. Вы используете модули картинок главным образом для того, чтобы заменить содержимое существующих контейнерных виджетов, таких как PtWindow или PtPanelGroup.

Заметьте, что когда Вы создаёте модуль картинки, используя ApCreateModule(), Вы должны задать родительский контейнерный виджет.

  • Открыть базы данных виджетов. Более подробно см. "Использование баз данных виджетов".

    1. Создание внутренних связей

Чтобы создать внутреннюю связь:

  1. Выберите пункт "Internal Links" в меню "Application" или нажмите <F4>. Вы увидите диалог "Internal Module Links":

              1. Рис. 13-1. Диалог "Internal Module Links"

  1. Щёлкните на опции <NEW>, если она ещё не выбрана

  2. Выберите требующийся Вам тип модуля

  3. Заполните области в разделе информации о связи модуля – см. ниже

  4. Щёлкните на "Apply", затем щёлкните на "Done"

 Вы можете создавать только по одной внутренней связи для каждого модуля.

Области диалога "Internal Module Links" включают:

  • Name – Содержит имя модуля. Чтобы выбрать имя из списка существующих модулей, щёлкните на кнопке рядом с этой областью.

  • Location – определяет, где появится этот модуль; см. "Позиционирование модуля" в главе "Работа с модулями".

  • Setup Functaion – задаёт функцию, которая будет вызываться, когда модуль реализуется (необязательная). Чтобы редактировать функцию, щёлкните на иконке рядом с этой областью. Более подробно см. в разделе "Установочные функции модуля" в главе "Работа с программным кодом".

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

  • Apply – Принимает все изменения

  • Reset – Восстанавливает всю информацию о внутренней связи в её перевоначальном состоянии.

  • Remove – Удаляет выбранную внутреннюю связь из списка связей модулей.

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