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

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

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

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

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

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

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

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

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

Сокращение размера кода

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

Создание последовательных приложений

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

Создание всех разновидностей приложений

С PhAB вы можете ускорить разработку без ухудшения функциональности. Вы можете создавать все разновидности приложений. Например, мы использовали PhAB для разработки почти всех приложений, поставляемых с Photon'ом, включая просмотрщик файлов помощи (Helpviewer), терминал (Terminal application), менеджер рабочего стола (Desktop Manager), копировщик экрана (Snapshot), все игры и “демки” – даже, собственно, сам PhAB!

Лучшим введением в PhAB является использование его, так что начинайте работать, используя руководства. Через очень короткое время Вы будете способны собрать воедино очень специализированные прототипы. Когда Вы будете готовы начать программирование своего приложения, Вы сможете прочитать разделы, имеющие отношение к тем виджетам, которые Вы захотите использовать. Мы снабдили полными исходными кодами все “демки” и игры, созданные с помощью PhAB. Вы можете загрузить любой из них в PhAB и изучить для использования идей в Ваших собственных приложениях. Хорошим примером, использующим большую часть возможностей PhAB, является приложение ВидеоПокер.

Концепции виджетов

При создании нового пользовательского интерфейса (UI), проще собрать интерфейс из набора стандартных компонентов, таких как ползунки, списки, меню и кнопки, нежели реализовывать каждый из элементов UI с нуля. Каждый стандартный компонент, включённый в UI, является объектом, называемым виджетом.

Виджеты Photon'а обеспечивают набор компонентов UI, в большей или меньшей степени согласующихся с другими оконными системами, которые Вы могли видеть.

Набор виджетов создан на объектно-ориентированной основе, нестрого говоря, базирующейся на библиотеке встроенного инструментария X-windows (X Toolkit Intrinsic library, Xt). Если вы уже знакомы с Xt, Вы увидите, что здесь применены во многом те же концепции.

Виджет объединяет данные и действия, требуемые для обеспечения работоспособности данного элемента UI. Подобное группирование в объекте данных и действий называется инкапсуляцией.

Виджет инкапсулирует в себе знание о том, как:

  • нарисовать себя;

  • отзываться на генерируемые пользователем события (например, нажатие левой кнопки мыши);

  • восстановить себя, перерисовав, когда он окажется повреждённым (например, когда перекрывающее его окно будет закрыто).

Кроме того, имеется несколько виджетов, называемых контейнерами, содержащие другие виджеты и управляющие их компоновкой.

Виджет также скрывает подробности того, как он выполняет свои обязанности перед внешним миром. Этот принцип, известный как сокрытие информации (information hiding), отделяет внутреннюю реализацию виджета от его общедоступного интерфейса.

Общедоступный интерфейс состоит из всех атрибутов, видимых другими объектами, а также действий, которые другие объекты могут совершать над этим виджетом. Атрибуты в общедоступном интерфейсе виджета называются ресурсами.

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

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

Несколько классов виджетов могут иметь общие атрибуты и действия. В этих случаях эти классы виджетов могут быть выделены в категорию субкласса одного суперкласса, или родительского класса. Атрибуты и действия инкапсулированы в суперклассе; субклассы наследуют их от родительского класса. Считается, что сами субклассы наследуются из родительского класса. Библиотека Photon'а позволяет “виджетному” классу наследоваться только от одного “виджетного” класса. Такая взаимосвязь известна, как одиночное наследование. Взаимосвязи между классами виджетов могут быть изображены как дерево, известное как иерархия классов.

С помощью браузера (если это – документ HTML) Вы можете выбрать виджет на диаграмме (см. рис. 2).

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

Библиотека виджетов Photon'ов функционирует как фабрика виджетов. Она предоставляет набор функций, которые позволяют программисту создать новый виджет определённого “виджетного” класса и затем управлять этим виджетом. Однажды созданный, виджет имеет все характеристики “виджетного” класса. Будучи унаследованным, он также имеет все характеристики суперкласса своего “виджетного” класса.

Новый виджет является экземпляром “виджетного” класса. Создание нового виджета определённого класса называется также инициализацией (instantiating) виджета. Этот термин не вполне точен, потому что Вы на самом деле инициализируете “виджетный” класс. Это отражает базовую тенденцию данного руководства – ссылаться и на виджеты и на “виджетные” классы, просто как на виджеты.


PtCalendar

PtBkgd


PtClock

PtClient

PtWebClient

PtColorPanel


PtColorSel

PtColorPath


PtColorSelGroup


PtColorWell


PtContainer

PtComboBox


PtCompound

PtFileSel


PtDivider

PtGenTree

PtRawTree


PtGenList

PtList

PtTree


PtMenuButton

PtRawList


PtMultiText


PtBasic


PtNumeric

PtNumericFloat


PtNumericInteger


PtMenu


PtDisjoint

PtRegion

PtServer


PtFlash

PtWindow

PtWidget

PtFontSel


PtGroup


PtOSContainer


PtPane


PtPanelGroup


PtPrintSel


PtScrollArea

PtScrollContainer


PtTerminal

PtTty


PtToolbar

PtMenuBar


PtToolbarGroup


PtTimer


PtMeter


PtGauge

PtProgress


PtScrollBar


PtSlider


PtArc


PtBezier


PtEllipse


PtGrid


PtLine


PtPixel


PtGraphic

PtPolygon


PtRect


PtOnOffButton


PtButton


PtLabel

PtMenuLabel

PtToggleButton


PtTab


PtRaw

PtText


PtSeparator


PtTrend

Рис. 2. Иерархия виджетов Photon'а

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