Главная » Все файлы » Просмотр файлов из архивов » Документы » Руководство программиста в Photon

Руководство программиста в Photon (Раздаточные материалы), страница 8

2017-12-25СтудИзба

Описание файла

Файл "Руководство программиста в Photon" внутри архива находится в папке "Раздаточные материалы". Документ из архива "Раздаточные материалы", который расположен в категории "". Всё это находится в предмете "программное обеспечение управляющих комплексов (поук)" из 9 семестр (1 семестр магистратуры), которые можно найти в файловом архиве МГТУ им. Н.Э.Баумана. Не смотря на прямую связь этого архива с МГТУ им. Н.Э.Баумана, его также можно найти и в других разделах. Архив можно найти в разделе "остальное", в предмете "поук" в общих файлах.

Онлайн просмотр документа "Руководство программиста в Photon"

Текст 8 страницы из документа "Руководство программиста в Photon"

Чтобы модуль меню "File" всплывал при нажатии кнопки "File", Вам надо присоединить ответную реакцию "Arm" к кнопке. Для прикрепления ответной реакции "Arm" Вы можете открыть меню, используя механизмы "щёлкнуть-переместить-щёлкнуть" либо "нажать-перетащить-опустить".

Щёлкните на "Arm", чтобы вызвать редактор ответной реакции.

Область "Module Types" редактора позволяет Вам выбрать тип модуля, к которому Вы хотите присоединится. Поскольку Вы хотите присоединить кнопку "File" к модулю меню, щёлкните на "Menu".

Щёлкните на области "Name" и наберите filemenu, что является именем, которое Вы дали Вашему модулю меню "File". Это подсоединит кнопку меню к этому модулю. Вы можете также выбрать filemenu из всплывающего списка доступных модулей. Чтобы вызвать список, щёлкните на иконке справа от области "Name".

Щёлкните на "Apply", чтобы добавить связь с ответной реакцией, затем щёлкните на "Done", чтобы закрыть редактор ответных связей.

Повторите вышеприведенные шаги для присоединения кнопки меню "Help" к модулю меню "Help".

Присоединение ответной реакции кодового типа

Давайте теперь присоединим ответную реакцию кодового типа к пункту "Quit" меню "File", так чтобы она могла завершать работу приложения.

  1. Выполните двойной щелчок на свёрнутом в иконку модуле filemenu. Он откроется и выберет модуль.

  2. Переключитесь на панель управления ресурсами и щёлкните на ресурсе "Menu Items".

  3. Выберите пункт "Quit" в списке "Menu Items".

  4. Щёлкните на иконке следом за областью "Callback", чтобы открыть редактор ответной реакции:

  1. Когда редактор откроется, принятым по умолчанию типом ответной реакции будет "Code". Поскольку это нужный Вам тип, всё, что Вам надо сделать – это задать имя функции, которую Вы хотите вызвать. Функция должна иметь имя, имеющее смысл (святые слова! Сколько уже вызывал я функций с именами типа f1 или pro... Прим. пер.) Так что наберите quit в области "Function".

  2. Щёлкните на "Apply", чтобы обновить список ответных реакций, затем щёлкните на "Done", закрывая редактор.

  3. Щёлкните на "Done" вновь, чтобы закрыть редактор меню.

Подготовка кода

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

  • Из меню "Application" выберите "Build+Run" и сгенерируйте код приложения.

  • После того, как процесс генерации завершился, диалог "Build+Run" отобразит список сгенерированных файлов.

Прокрутите список в поисках файла quit.c. Это сгенерированный шаблон кода, который PhAB сгенерировал для Вашей функции quit ().

  • Вам необходимо сделать функцию выхода из программы. Чтобы сделать это, выберите quit.c из списка файлов, щёлкните на кнопке "Edit" и измените функцию quit (), как показано ниже:

int

quit( PtWidget_t *widget, ApInfo_t *apinfo,

PtCallbackInfo_t *cbinfo )

{

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

widget = widget,

apinfo = apinfo,

cbinfo = cbinfo;

PtExit( EXIT_SUCCESS );

/* Этот оператор не может быть достигнут, */

/* но это оставит компилятор счастливым */

return( Pt_CONTINUE );

}

PtExit () – это функция, которая очищает окружение Photon'а и затем закрывает приложение. Она описана в "Справочнике библиотеки Photon'а".

  • После того, как Вы отредактировали код, сохраните Ваши изменения, закройте редактор и щёлкните на "Make" для компиляции кода.

  • Щёлкните на Run Application" для запуска приложения.

  • После запуска приложения щёлкните на кнопку "File" для вызова меню "File". Затем выберите "Quit". Ваше приложение немедленно завершит работу и закроется.

Хотите узнать больше?

Чтобы узнать больше:

См. раздел:

В главе:

Ответные реакции виджета

Имена экземпляров

Модули меню

Ответные реакции

Имена экземпляров

Модули меню

Редактирование ресурсов и ответных реакций в PhAB

Создание виджетов в PhAB

Работа с модулями

Урок 4. Создание диалогов

Этот урок описывает, как создать диалог. Он также предоставит хороший пример того, как Вы можете использовать установочный код для модификации ресурсов виджета перед тем, как виджет появится на экране.

 Этот урок использует приложение, созданное Вами на уроке 3.

На это уроке Вы:

  1. присоедините пункт "About Demo" в меню "Help" к диалогу

  2. добавите надписи и кнопку "Done" к новому диалогу

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

О диалогах

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

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

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

Ещё об именах экземпляров

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

Глобально переменная, начинающаяся с префикса ABN_, представляет собой имя виджета. Декларация, начинающаяся с префикса ABW_, представляет указатель на экземпляр виджета.

Например, пусть Вы имеете виджет, имя которого about_version. PhAB использует это имя для генерации глобальной переменной с именем ABN_about_version и декларации с именем ABW_about_version.

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

 Значение переменной виджета ABN_..., является уникальным для всего приложения.

Прикрепление модуля диалога

  1. Откройте приложение tut3, созданное Вами, и используйте пункт "Save As" в меню "File", чтобы сохранить его как tut4.

  2. Откройте созданный Вами модуль меню "Help" (он может быть ещё свёрнутым в иконку).

  3. Щёлкните на ресурсе "Menu Items" в панели управления ресурсами, чтобы открыть редактор меню.

  4. Выберите пункт "About Demo", затем щёлкните на иконке, следующей за областью "Callback", чтобы открыть редактор ответных реакций:

  1. Когда редактор откроется, принимаемым по умолчанию типом ответной реакции будет "Code". Перейдите к группе "Module Types" и измените тип ответной реакции на "Dialog".

  2. В области "Name" наберите как имя модуля диалога, с которым Вы хотите установить связь, aboutdlg. (Этот диалог ещё не существует, но позже PhAB спросит Вас, создавать ли его).

  3. В области "Setup Function" наберите about_setup. Это имя, которое мы присваиваем функции установки, которая будет вызвана перед запуском диалога.

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

  1. Поскольку Вы хотите, чтобы функция aboutdlg_setup вызывалась перед открытием диалога, убедитесь, что включена кнопка "Pre-Realize".

  2. Щёлкните на иконке "Location", чтобы задать, где должен появляться диалог при его запуске. (Хорошим выбором будет расположение "Center Screen"). Щёлкните на "Done". Информация об ответной реакции будет теперь выглядеть так:

  1. Щёлкните на "Apply", чтобы добавить связь ответной реакции. Поскольку модуль диалога, к которому Вы хотите прикрепить связь, ещё не существует, Phab предложит Вам выбрать стиль; выберите "Plain" и щёлкните "Continue". Вы увидите в рабочей области новый диалог. Вы также увидите новую ответную реакцию в списке ответных реакций в редакторе ответных реакций.

  2. Щёлкните на "Done", чтобы закрыть редактор ответных реакций, затем щёлкните на "Done" ещё раз, чтобы закрыть редактор меню.

Добавление виджетов в диалог

  1. Откройте модуль диалога aboutdlg

  2. Поместите два виджета PtLabel в верхней половине диалога, и виджет PtButton в нижней части:

  1. Выберите верхний виджет PtLabel и измените ресурс его текста на "About this Demo". Затем измените его горизонтальное выравнивание на Pt_CENTER.

  2. Выберите второй виджет PtLabel и измените его текст на пустую строку. Затем измените его горизонтальное выравнивание на Pt_CENTER.

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

  1. Вы должны присвоить этому пустому виджету PtLabel имя экземпляра, поскольку будете ссылаться на него в коде программы. Поэтому измените его имя экземпляра на about_version.

  2. Выберите виджет PtButton и измените ресурс текста кнопки на "Done". Затем измените его имя экземпляра на about_done.

  3. Давайте отцентрируем виджеты горизонтально в диалоге. Выберите оба виджета PtLabel и виджет PtButton и выберите из меню "Edit" пункт "Aligment". Вы увидите диалог "Align Widgets".

  1. В столбце "Horizontal" щёлкните на "Align Centers" и на "Align to Container". Затем щёлкните на кнопке "Align". Две надписи и кнопка теперь будут горизонтально отцентрированы внутри Вашего диалога. Ваш модуль about должен теперь выглядеть так:

Добавление ответной реакции к кнопке Done

Теперь добавим ответную реакцию к кнопке Done, так чтобы диалог закрывался, когда пользователь щёлкал на этой кнопке.

  1. Выберите кнопку "Done", затем переключитесь на панель управления ответными реакциями (панель "Callbacks").

  2. Щёлкните на "Activate", чтобы добавить ответную реакцию на активизацию. Вы увидите редактор ответной реакции.

  3. Выберите тип "Done code", затем щёлкните на "Apply". Ничего не вводите в области "Function".

Выбор типа "Done code" говорит виджету исполнять операцию "Done" при активизации виджета. То есть виджет вызывает функцию, заданную в области "Function" (если она задана) и затем закрывает модуль диалога.

  1. Закройте редактор. Список ответных реакций теперь указывает, что Вы добавили ответную реакцию активизации ("Activate"), называемую Done:

Модификация сгенерированного кода функции

Теперь Вы измените сгенерированный код функции about_setup(), так чтобы она изменяла текст надписи about_version, показывая номер версии.

  1. Сохраните Ваше приложение.

  2. Откройте диалог "Build+Run" и сгенерируйте код.

  3. Когда генерация кода завершится, закройте диалог "Generate Code", выберите файл aboutdlg_setup.c из списка файлов и щёлкните на кнопке "Edit"2 (или дважды щёлкните на имени файла).

Измените код с

int aboutdlg_setup( PtWidget_t *link_instance,

ApInfo_t *apinfo,

Свежие статьи
Популярно сейчас
А знаете ли Вы, что из года в год задания практически не меняются? Математика, преподаваемая в учебных заведениях, никак не менялась минимум 30 лет. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
5160
Авторов
на СтудИзбе
439
Средний доход
с одного платного файла
Обучение Подробнее