Руководство программиста в Photon, страница 13
Описание файла
Документ из архива "Руководство программиста в Photon", который расположен в категории "". Всё это находится в предмете "программное обеспечение управляющих комплексов (поук)" из 9 семестр (1 семестр магистратуры), которые можно найти в файловом архиве МГТУ им. Н.Э.Баумана. Не смотря на прямую связь этого архива с МГТУ им. Н.Э.Баумана, его также можно найти и в других разделах. Архив можно найти в разделе "книги и методические указания", в предмете "поук" в общих файлах.
Онлайн просмотр документа "Руководство программиста в Photon"
Текст 13 страницы из документа "Руководство программиста в Photon"
После того, как Вы сделаете Ваши изменения, щёлкните на "Done".
Задание глобального заголовочного файла
Большинство приложений имеет глобальный хеадер, включающий все файлы исходников. Если Вы планируете использовать в Вашем приложении глобальный хеадер, Вы можете его задать перед тем, как PhAB сгенерирует какой-либо код. Это позволит PhAB автоматически включить хеадер в каждый генерируемый им файл.
Чтобы задать глобальный хеадер:
-
Нажмите <F2> или выберите пункт "Startup Info/Modules" из меню "Application". Вы увидите диалог "Application Startup Information".
-
В области "Global Header" наберите имя файла, который Вы собираетесь использовать. Вам не надо включать расширение ".h".
Например, чтобы задать хеадер-файл globals.h, Вы можете просто ввести globals.
-
Чтобы немедленно редактировать хеадер, щёлкните на иконке рядом с областью "Global Header". Вы можете редактировать хеадер только если Вы присвоили имя приложению, сохраняя его. Формат хеадер-файла обсуждается в главе "Работа с кодом".
Если Вы задали хеадер после того, как какой-то код уже был сгенерирован, Вы должны вернуться назад и вручную добавить хеадер к файлам, которые уже сгенерированы.
Функция инициализации
Ваше приложение может включать функцию инициализации, вызываемую перед тем, как будут созданы какие-либо модули или виджеты. В ней Вы можете инициализировать данные, открыть базу данных виджетов, установить обработчики прерываний и прочая. Чтобы задать функцию инициализации:
-
Нажмите <F2> или выберите пункт "Startup Info/Modules" из меню "Application". Вы увидите диалог "Application Startup Information".
-
В области "Initialization Function" наберите имя функции инициализации.
Когда Вы задаёте функцию инициализации, PhAB генерирует заготовку функции, чтобы получить информацию о том, как задавать язык (С или С++) и имя файла, см. раздел "Имена функций и файлов" в главе "Работа с кодом".
-
Чтобы немедленно отредактировать функцию, щёлкните на иконке рядом с областью "Initialization Function". Вы можете редактировать функцию, только если Вы присвоили имя приложению, сохраняя его. Прототип этой функции обсуждается в главе "Работа с кодом".
Опции командной строки
По умолчанию все сгенерированные в PhAB приложения имеют следующие опции командной строки:
-h height[%] | " height " – это высота окна в пикселях или как процент от высоты экрана, если задано "%". |
-s server_name | " server_name " – имя сервера Photon: |
Если server_name: | используется этот сервер: |
node_path | node_path/dev/photon |
fullpath | fullpath |
relative_path | /dev/relative_path |
-w width[%] | "width" – это ширина окна в пикселях или как процент от ширины экрана, если задано "%". |
-x position [%] [r] | координата по оси х верхнего левого угла окна в пикселях или в % от ширины экрана, если задано "%". Если задано "r", координата является относительной – от текущей консоли. |
-y position [%] [r] | координата по оси y верхнего левого угла окна в пикселях или в % от высоты экрана, если задано "%". Если задано "r", координата является относительной – от текущей консоли. |
-Si|m|n | состояние инициализации основного окна (свёрнутое в иконку, максимизированное или нормальное). |
По умолчанию все эти опции включены, так что пользователь может динамически перемещать или изменять размер приложения или задавать его состояние инициализации. Например, чтобы запустить приложение на 4-й консоли (центр рабочего пространства), задайте опцию командной строки:
-x 100% -y 100%
API PhAB'а обработает эти опции перед вызовом функции инициализации; если Вы планируете добавить к приложению Ваши собственные опции командной строки, убедитесь, что Вы выбрали опции, которые не конфликтуют с этими. Вам следует также написать код обработки опций для обработки и игнорирования этих опций. Если Вы не сделаете этого, то увидите сообщение об ошибке на консоли, когда запустите приложение на исполнение. См. обсуждение функции инициализации в главе "Работа с кодом".
Если Вы не хотите позволить пользователю перемещать или изменять размер приложения:
-
Нажмите <F2> или в меню "Application" выберите пункт "Startup Info/Modules", чтобы открыть диалог "Application Startup Information".
-
Установите кнопки переключения для опций, как Вы желаете.
Включение имён экземпляров
PhAB преобразует имена экземпляров Ваших виджетов в декларации ABN_..., так что Вы можете использовать их в тексте своей программы для ссылки на Ваш виджет по имени. Вы можете при желании включить текстовую строку с именем экземпляра в память виджета. Чтобы сделать это:
-
Нажмите <F2> или в меню "Application" выберите пункт "Startup Info/Modules", чтобы открыть диалог "Application Startup Information".
-
Щёлкните на кнопке "Store Names for ApInstanceName()".
-
Включение имён экземпляров увеличивает объём памяти, требуемой для запуска Вашего приложения. Чтобы найти эту строку для виджета, используйте функцию ApInstanceName() – см. "Справочник библиотеки Photon" для получения большей информации.
Окна запуска
Когда Вы впервые создаёте приложение, в качестве начального окна и только как окна запуска устанавливается обязательное базовое окно. Используя диалог "Application Startup Information", Вы можете указать Вашему приложению:
-
использовать другое окно как начальное окно запуска
-
отображать как окна запуска несколько окон
-
не использовать окно запуска.
Окно, появляющееся первым в списке открытых/стартующих окон, является начальным окном запуска:
-
это первое окно, которое будет отображено
-
это действует как принимаемое по умолчанию родительское окно для всех других окон и диалогов
-
его закрытие означает завершение приложения.
Обычно главное окно приложения является первым создаваемым окном.
Для каждого окна в списке запуска Вы можете задать информацию, которая идентична используемой при создании ответной реакции модульного типа, как описано в главе "Редактирование ресурсов и ответных реакций в PhAB". Информация по каждому окну включает:
Window Name | Имя модуля окна. Для выбора из списка существующих окон щёлкните на иконке рядом с этой областью. Если Вы задали имя несуществующего модуля, PhAB спросит, желаете ли Вы создать этот модуль. |
Window Location | Место, где появится окно; см. раздел "Позиционирование модуля" в главе "Работа с модулями". |
Setup Function | Функция, вызываемая при реализации окна (необязательная). Для редактирования этой функции щёлкните на иконке рядом с этой областью. Кнопки под именем функции определяют, будет ли функция вызываться до реализации окна, после того как окно реализовано, или в обоих случаях. |
Apply | Выполнить внесённые изменения. |
Revert | Восстанавливает информацию об окне в первоначальном состоянии. |
Remove | Удаляет выбранные окна из списка запуска. |
Добавление окна запуска
Чтобы добавить новое окно в список окон запуска, щёлкните на <NEW>, заполните информацию по окну и щёлкните на "Apply".
Модификация окна запуска
Для модификации существующего окна запуска выберите окно из списка "Windows Opened/Startup", введите все требуемые Вами изменения в области информации окна и затем щёлкните на "Apply".
Удаление окна запуска
Чтобы удалить окно запуска, выберите окно из списка "Windows Opened/Startup" и щёлкните на "Remove".
Импортирование файлов
PhAB позволяет Вам импортировать несколько типов файлов, используя пункт "Import Files" в меню "File":
-
модули PhAB
-
файлы графических образов.
Шаги одинаковы для всех типов:
-
Выберите пункт "Import Files" из меню "File", затем выберите соответствующий тип из подменю "Import Files". Вы увидите диалог, позволяющий выбрать файлы – файловый селектор.
-
Файловый селектор отображает доступные файлы заданного типа в текущей директории.
-
Для выбора файла выполните одно из следующих действий:
-
дважды щёлкните по файлу
-
щёлкните по файлу, затем нажмите <Enter> или щёлкните на "Open":
-
наберите имя файла, затем нажмите <Enter> или щёлкните на "Open".
Импортирование модулей PhAB из других приложений
При импортировании модулей PhAB из других приложений файловый селектор может отображать несколько модулей. Каждый тип модуля имеет своё расширение; см. раздел "Типы модулей" в главе "Работа с модулями".
Ответные реакции не могут быть импортированы, импортируются только сами модули и виджеты. После импортирования модуля Вы можете прикрепить новые специфические для приложения ответные реакции.
Обычно PhAB помнит имя экземпляра каждого импортированного виджета. Однако, если он обнаруживает дублирование имени, то изменяет это имя на имя класса виджета, чтобы избежать ошибки генерации кода.
Импортирование графических образов
При импортировании графических модулей файловый селектор отображает все файлы со следующими расширениями:
-
.bmp
-
.gif
-
.jpg
-
.pcx
-
.xbm
PhAB импортирует графику как PtLabel в текущий выбранный модуль и устанавливает ресурс виджета Pt_ARG_LABEL_TYPE в значение Pt_IMAGE. Если Вы хотите редактировать импортированный образ, используйте попиксельный редактор, как описано в главе "Редактирование ресурсов и ответных реакций в PhAB".
Глава 4. Работа с модулями
Модули – это основные составляющие пользовательского интерфейса приложения PhAB. Эта глава описывает, как работать с ними, и включает:
-
Типы модулей
-
Анатомия модулей
-
Выбор модуля
-
Как хранятся модули
-
Изменение ресурсов модулей
-
Использование селектора модуля
-
Создание нового модуля
-
Просмотр модуля
-
Открытие модуля
-
Удаление модуля
-
Сворачивание модуля в иконку
-
Закрытие модуля
-
Отображение модулей в реальном времени
-
Поиск потерявшихся модулей и иконок
-
Модули окна
-
Модули диалога
-
Модули меню
-
Модули картинки
-
Модули иконки
Модули служат контейнерами, содержащими виджеты Вашего приложения. Некоторые модули, такие как окна или диалоги, являются в действительности виджетами контейнерного класса и дают Вам возможность размещать виджеты непосредственно в них. Другие, такие как иконки и меню, имеют либо предопределённые виджеты, либо специализированный редактор для создания виджетов, которые они содержат.
Типы модулей
PhAB предлагает ряд типов модулей, каждый для специфического использования. Тип модуля идентифицируется по:
-
панелям управления, если модуль выбран
-
иконке, если модуль минимизирован
-
расширению файла, создаваемого PhAB для модуля при генерации кода приложения.
Файлы модулей являются бинарными, не редактируйте их текстовым редактором или Вы можете их повредить.
Модуль | Использование | Расширение |
Window | Главные функции приложения | .wgtw |
Dialog | Получение дополнительной информации от пользователя | .wgtd |
Menu | Многоуровневые текстовые меню | .wgtm |
Picture | Изменение содержания существующего модуля или создание базы данных виджета | .wgtp |
Icon | Иконки Вашего приложения для использования в системных панелях (shelf) и кнопках запуска (launcher plugins) | .wgti |
Анатомия модуля
PhAB отображает каждый модуль как окно в своей рабочей области. Как и окна, модули имеют набор кнопок управления на своих рамках.
Анатомия типичного модуля PhAB