ReAction GUI - это движок инструментария виджетов, который используется в AmigaOS 3.5-4.1.
Это эволюция ClassACT, объектно-ориентированной системы классов, которая расширила возможности графического интерфейса Workbench 2.0 в AmigaOS.
История [ править ]
Родная оконная система Amiga называется Intuition , она управляет отображением экранов, окон и основных виджетов. Однако до AmigaOS 2.0 не было стандартизированного внешнего вида и часто разработчикам приложений приходилось писать свои собственные нестандартные виджеты (как кнопки, так и меню), при этом Intuition мало поддерживала их.
Позже интуиция была улучшена с помощью gadtools.library (AmigaOS 2.0 и более поздних версий ), которая предоставляет набор стандартных виджетов. AmigaOS 2.0 также представила стандартную диалоговую систему под названием ASL (Стандартная библиотека запросов Amiga) и Руководство по стилю пользовательского интерфейса Amiga , в котором определялось, как приложения должны быть выложены для согласованности. Интуиция была улучшена с помощью BOOPSI (Базовая объектно-ориентированная система программирования для интуиции), которая предоставляет объектно-ориентированный интерфейс для создания расширяемого набора виджетов. Внедрение BOOPSI позволило сторонним разработчикам создать комплексные наборы инструментов для виджетов, такие как MUI и ClassAct, которые позже превратились в ReAction.
Особенности [ править ]
ClassACT [ править ]
ClassAct - это объектно-ориентированная система классов и гаджетов, разработанная на основе системы BOOPSI, представленной в AmigaOS 3.0. Его основные особенности - расширяемость и модульность. В систему можно добавлять новые классы и гаджеты и улучшать ее с помощью новых возможностей. ClassAct был смоделирован по образцу будущего направления, которое Commodore предвидел для будущего ОС, представленного на конференции разработчиков в Орландо до банкротства Commodore. Программисты Кристофер «Калди» Алди, Тимоти Астон, Осма «Тау» Ахвенлампи объединились, и ClassAct стал воплощением этого будущего.
Классы ClassACT [ править ]
Основные классы:
- window.class
- Requester.class
- arexx.class
Основные гаджеты:
- button.gadget
- checkbox.gadget
- speedbar.gadget
- space.gadget
- slider.gadget
- scroller.gadget
- radiobutton.gadget
- palette.gadget
- listbrowser.gadget
- layout.gadget
- integer.gadget
- getscreenmode.gadget
- getfont.gadget
- getfile.gadget
- fuelgauge.gadget
- clicktab.gadget
- chooser.gadget
- string.gadget
- textfield.gadget
К гаджетам ClassAct можно применять различные стили, например трехмерное изображение. Гаджеты могут иметь скошенные границы, шрифт может иметь запасной вариант на случай, если шрифт по умолчанию слишком велик, чтобы поместиться в окно на экране, номер пера для использования для меток и шрифтов меток может быть установлен пользователем, и многие, многие параметры, подобные этим .
ReAction [ править ]
ReAction является официальным разработчиком графического интерфейса AmigaOS начиная с версии ОС 3.5. [1] [2] В настоящее время он строится на основе Intuition, обновляется и имеет лучший и более последовательный обзор приложений, которые его используют.
Система классов и гаджетов ReAction практически такая же, как и в ClassACT. Он расширяемый и модульный, как и ClassAct. В систему можно с легкостью добавить новые классы и гаджеты, чтобы расширить ее возможности.
Простым примером этой модульности является недавно появившийся класс гаджетов ReAction, известный как piechart.gadget . Основное назначение этого гаджета - отображение распределения данных между различными источниками, такими как общие ресурсы, емкость диска, свободное пространство и т. Д., В виде круговой диаграммы . Также возможно дополнительное взаимодействие со стороны пользователя.
Примеры минимального кода [ править ]
Гаджеты кнопок и строк
// Гаджет кнопки #include <gadgets / layout.h>#include <proto / layout.h>#include <proto / button.h>// Пример макета: LAYOUT_AddChild , OBJ ( OBJ_QUIT ) = ButtonObject , GA_ID , OBJ_QUIT , GA_Text , "Quit" , GA_RelVerify , TRUE , End , // Гаджет кнопки выхода
// Строковый гаджет #include <gadgets / layout.h>#include <gadgets / string.h>#include <proto / layout.h>#include <proto / string.h>#include <интуиция / gadgetclass.h>// Пример макета: LAYOUT_AddChild , OBJ ( OBJ_STRING ) = StringObject , GA_ID , OBJ_STRING , GA_RelVerify , TRUE , STRINGA_MaxChars , 32 , STRINGA_WorkBuffer , buffername , End , // гаджет строки
Другие инструменты на Amiga [ править ]
В мире Amiga конкурируют два основных набора инструментов для виджетов. ReAction, который является набором инструментов графического интерфейса по умолчанию, выбранным для AmigaOS 3.5-4.1 и для разработки программного обеспечения AmigaOS, и MUI, который является набором инструментов графического интерфейса по умолчанию, выбранным для MorphOS . AROS использует набор инструментов Zune, который является клоном MUI с открытым исходным кодом.
Cygnix - это облегченная среда моделирования UNIX для AmigaOS, которая поставляется с X11- сервером Cygwin и используется для переноса таких программ, как AbiWord или GIMP, на Amiga. Слегка связанный проект - это оболочка GTK MUI, которая в конечном итоге упростит перенос программного обеспечения на основе GTK .
Различные многоплатформенные графические библиотеки и наборы инструментов, такие как Cairo и SDL , также доступны на Amiga и являются основой для создания новых и улучшенных наборов инструментов, новых графических интерфейсов пользователя, новых систем виджетов и т. Д.
Существует также набор инструментов на основе XML, Feelin .
См. Также [ править ]
- Пользовательский интерфейс Magic (MUI)
Ссылки [ править ]
- ^ Ботвик, Нил (ноябрь 1999 г.). «ОС 3.5». Amiga Active . №2. Пинпринт. С. 26–29. ISSN 1467-3533 .
- ^ Вост, Бен (Рождество 1999). «Амига ОС 3.5». Формат Amiga . № 131. Будущее издательство. С. 14–17. ISSN 0957-4867 .
Дальнейшее чтение [ править ]
- Драммонд, Ричард (январь 2000 г.). «Совершенство программы, глава 8: Создание графического интерфейса, часть 2». Формат Amiga . № 132. Будущее издательство. С. 64–65. ISSN 0957-4867 .
- Едличка, Дан (январь 2000 г.). "Amiga Developer CD v2.1". Обзор Amiga (на чешском языке). № 52. Издательство Атлантида. п. 16. ISSN 1211-1465 .
- Кристоф, Майкл (ноябрь 2005 г.). «Программа для OS4 в практической части 3». Amiga Future (на немецком языке). № 57. APC и TCP. С. 42–46.
Внешние ссылки [ править ]
- Руководство для начинающих по программированию ReAction