Введение

Виджет-инструментарий для AmigaOS

Magic User Interface (сокращенно MUI) — объектно-ориентированная система, разработанная Стефаном Станцем для создания и поддержки графических пользовательских интерфейсов. С помощью программы настроек пользователь приложения может настраивать систему в соответствии со своими предпочтениями. Magic User Interface был разработан для AmigaOS и завоевал популярность как среди программистов, так и среди пользователей. Он был портирован на процессоры PowerPC и принят в качестве стандартного инструментария графического интерфейса операционной системы MorphOS. Интерфейс прикладного программирования MUI был скопирован инструментарием Zune, используемым в исследовательской операционной системе AROS.

Теория применения

Разработка пользовательского интерфейса выполняется на уровне исходного кода, без использования визуальных конструкторов. В MUI-приложении программист определяет только логическую структуру интерфейса, а макет формируется во время выполнения в зависимости от конфигурации пользователя. В отличие от других GUI-инструментариев, разработчик не задает точные координаты для элементов интерфейса, а лишь их относительное расположение друг к другу, используя группы объектов. В традиционном программировании интерфейса на основе Intuition программисту приходилось вычислять положение виджетов с учетом размеров шрифта и границ. По умолчанию все элементы интерфейса изменяемы и подстраиваются под размер окна. Система также может автоматически переключаться на меньший шрифт или скрывать элементы интерфейса, если на экране недостаточно места для отображения окна с полным содержимым. Это значительно упрощает создание интерфейсов, хорошо адаптирующихся как к маленьким, так и к большим дисплеям. На сегодняшний день существует более 50 встроенных классов MUI и множество классов MUI, разработанных сторонними разработчиками.

Другие инструментальные наборы графического интерфейса

В настоящее время в мире Amiga существует два основных набора инструментов для создания виджетов, конкурирующих между собой. Наиболее распространенным является MUI (используется в AROS, MorphOS и большинстве программ для Amiga), а другим – ReAction, который был внедрен в AmigaOS 3.5. Ведется разработка обертки GTK для MUI, что позволит портировать различные приложения, основанные на GTK. Также существуют современные интерфейсы, использующие XML, такие как Feelin.