Magic User Interface
| Magic User Interface | |
| Fejlesztő | Stefan Stuntz[1] (1992-2006) Thore Böckelmann, Jens Maus (2006-) |
| Első kiadás | 1993[1] |
| Legfrissebb stabil kiadás | 5.0[2] (2021. augusztus 31.) |
| Operációs rendszer | AmigaOS, AmigaOS 4,[3] MorphOS[4] |
| Platform | Amiga |
| Kategória | widget toolkit |
| Licenc | shareware[1] |
| A Magic User Interface weboldala | |
A Magic User Interface (röviden: MUI) egy Stefan Stuntz által 1993-ban létrehozott objektumorientált keretrendszer grafikus felhasználói felületek (GUI) létrehozására és működtetésére. A felhasználó az alkalmazás szinte minden kinézeti elemét testreszabhatja. A szoftver eredetileg AmigaOS-re készült és kvázi szabvánnyá vált az Amigán.[1] PowerPC processzorokon futó portja készült MorphOS alá,[4] továbbá klónja Zune néven AROS operációs rendszerre.[5]
Történet
[szerkesztés | forrásszöveg szerkesztése]Az Amiga rendelkezik a GUI megjelenítést támogató alrendszerrel, az Intuitionnel, azonban ez önmagában nehezen volt kezelhető az első időkben, mígnem a Kickstart 2.0-tól kezdődően megjelentek az olyan segédeszköz-készletek (toolkit), mint az ASL vagy a GadTools. Ezeknek ugyanúgy adatstruktúra-alapú belső szerveződésük volt, mint az Intuitionnek és vagy nem vagy csak nagyon nehézkesen voltak bővíthetők. A GadTools kimenete kifejezetten merev és kötött volt, fixált méretekkel és ablakpozíciókkal, minimális skálázhatóság nélkül.[6]
Az első igazán komoly előrelépés a Stefan Stuntz által 1992-ben fejleszteni kezdett, BOOPSI alapokon nyugvó MUI volt. A kitűzött főbb elérendő fejlesztési célok a következők voltak:
- Betűtípus-érzékenység: Minden alkalmazás saját betűtípust állíthasson be.
- Átméretezhető ablakok: Minden ablak rendelkezzen átméretezés-gombbal, mellyel testreszabható a mérete.
- Rugalmasság: Minden elem megváltoztatható legyen egyéni ízlésnek megfelelően.
- Billentyűzet-vezérlés: Minden funkcionalitással rendelkező elem (widget) kezelhető legyen egér mellett billentyűzetről is.
- Rendszerintegráció: Minden programnak legyen ARexx portja és legyen gombnyomásra ikonná kicsinyíthető.
- Alkalmazkodóképesség: Minden alkalmazás megjelenése alkalmazkodjon a képernyő-környezethez (screen).[7]
Licenc
[szerkesztés | forrásszöveg szerkesztése]A MUI eredendően shareware szoftverként került forgalomba, azonban a korábban kiadott regisztrációs kulcsok az újabb fejlesztésű szoftververziókkal is használhatók. A teljes funkcionalitás igénybevételéhez mindenképp szükséges regisztrációs kulcs az eredeti szerzőtől.[8]
Alkalmazás
[szerkesztés | forrásszöveg szerkesztése]A felhasználói interfész fejlesztési forráskód-szinten történik, GUI szerkesztő (builder) alkalmazás igénybevétele nélkül. A szoftverfejlesztő csak a GUI logikai struktúráját határozza meg, a tényleges képernyő-elrendezés futás közben alakul ki a felhasználó beállításaitól függően. Más GUI fejlesztőkészletektől eltérően a MUI fejlesztő nem határoz meg pontos koordinátákat a képernyőn a felhasználói felület objektumai számára, hanem csak az egymáshoz viszonyított relatív elhelyezkedésüket, objektum-csoportonként. A hagyományos, Intuition-alapú programozás során a fejlesztőnek a betűtípustól, az ablak-, illetve képernyőkeret szélétől függően kellett kiszámolnia egy elem pontos helyét. A MUI esetén azonban minden GUI elem mérete alkalmazkodik az őt magában foglaló ablak méreteihez. Képes a megjelenítés során automatikusan kisebb betükészletre váltani vagy akár GUI elemeket elrejteni, ha azok számára nincs elegendő hely a képernyőn. Ilyen módon könnyen készíthető olyan felhasználói felület, mely alkalmazkodik akár kicsi, akár nagy képernyőfelbontásokon való megjelenítéshez is.[9][10][11]
Jelenleg mintegy 70 beépített MUI osztály (classes), továbbá számos harmadik feles osztály áll rendelkezésre.[12]
Példa
[szerkesztés | forrásszöveg szerkesztése]// Példa alkalmazás:
#include <libraries/mui.h>
#include <proto/muimaster.h>
ApplicationObject,
SubWindow, WindowObject,
WindowContents, VGroup,
Child, TextObject, MUIA_Text_Contents, "Hello World!", End,
End,
End,
End;
A példa egy kis MUI alkalmazást hoz létre, mely kiírja a képernyőre a "Hello World!" szöveget. Lehetőség van más BOOPSI-alapú GUI eszköztár objektumok beágyazására is a MUI alkalmazásba.
Fontosabb megvalósítások
[szerkesztés | forrásszöveg szerkesztése]A MUI ablak-eszköztár (widget) legfontosabb alkalmazási példái:
- Aladdin4D - 3D renderelő/animációs alkalmazás
- Ambient - grafikus asztali környezet MorphOS-re
- AmIRC - IRC kliens
- Digital Universe - Planetárium emulációs szoftver
- IBrowse - webböngésző
- Odyssey Web Browser - webböngésző
- PageStream - kiadványszerkesztő program
- SimpleMail - email kliens
- Voyager - webböngésző
- YAM - email kliens
Egyéb GUI eszközkészletek
[szerkesztés | forrásszöveg szerkesztése]Alapvetően két, egymással versengő ablak-eszköztár készlet létezik amigákra. A legszélesebb körben a MUI használatos, míg a másik, a ReAction az AmigaOS 3.5[13]-3.9, az AmigaOS 3.2.x,[14] továbbá az AmigaOS 4 része.[13]
Létezik egy projekt, mely a GTK-hoz fejleszt egy MUI csomagoló könyvtárat (wrapper), és amely lehetővé teszi számos GTK-alapú szoftver gyors portolhatóságát Amigára.[15] A legfrissebb változat AmigaOS 4-re érhető el.[16]
Egy másik megközelítés CSS-, illetve XML-alapokon indult el és Feelin a neve. Nyílt forráskódú objektum-orientált keretrendszer és API létrehozása a cél.[17]
Színpaletta kiterjesztés
[szerkesztés | forrásszöveg szerkesztése]A MUI négy további színnel bővítette a Workbench alapből négyszínű palettáját, mely egyenletesebb színátmeneteket, illetve árnyalást tett lehetővé. A MUI-t használó MagicWB GUI bővítmény a több színt látványosabb ikonok létrehozásához alkalmazta. A MUI 4 implementálta az áttetszőséget (alpha blending), illetve a felhasználó általi eszköztár-elem (widget) alakzat definiálhatóságának a támogatását.
| A MUI 8-színű palettája | ||||||||
|---|---|---|---|---|---|---|---|---|
| szín | ||||||||
| Red | 149 | 000 | 255 | 59 | 123 | 175 | 170 | 255 |
| Green | 149 | 000 | 255 | 103 | 123 | 175 | 144 | 169 |
| Blue | 149 | 000 | 255 | 162 | 123 | 175 | 124 | 151 |
Jegyzetek
[szerkesztés | forrásszöveg szerkesztése]- 1 2 3 4 "Magic User Interface". sasg.com (angol nyelven). Hozzáférés: 2024. augusztus 26..
- ↑ "MUI AmigaOS Development Site". GitHub (angol nyelven). Hozzáférés: 2024. augusztus 28..
- ↑ "MUI 5.0-2017R1 for AmigaOS4/PPC and AmigaOS3/m68k released". Amiga.org (angol nyelven). Hozzáférés: 2024. augusztus 28..
- 1 2 Grzegorz Kraszewski. "Magic User Interface Programming". MorphZone (angol nyelven). Hozzáférés: 2024. augusztus 28..
- ↑ "Zune Application Development Manual -- Introduction". aros.sourceforge.net (angol nyelven). Hozzáférés: 2024. augusztus 28..
- ↑ "GUI Programming". wiki.amigaos.net (angol nyelven). Hozzáférés: 2024. szeptember 2..
- ↑ Stuntzi, S: MUI User Documentation. 1997
- ↑ "Sasg software to buy". amibay.com (angol nyelven). Hozzáférés: 2024. szeptember 2..
- ↑ "Magic User Interface Concepts". Sasg.com (angol nyelven). 2001. november 11. Hozzáférés: 2024. október 15..
- ↑ "FAQ". Amigaworld.net (angol nyelven). Hozzáférés: 2024. október 15..
- ↑ Stuntzi, S: MUI Programmer Documentation. 1997
- ↑ "Muidev wiki". GitHub (angol nyelven). Hozzáférés: 2024. október 15..
- 1 2 "ReAction". SourceForge.net (angol nyelven). Hozzáférés: 2024. augusztus 26..
- ↑ "ReBuild". SourceForge.net (angol nyelven). Hozzáférés: 2024. augusztus 26..
- ↑ "GTK-MUI". SourceForge.net (angol nyelven). Hozzáférés: 2024. augusztus 26..
- ↑ "GTK-MUI Library". os4depot.net (angol nyelven). Hozzáférés: 2024. augusztus 26..
- ↑ "feelin" (angol nyelven). Hozzáférés: 2024. augusztus 26..