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]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]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]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]// 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]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]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]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]- ↑ a b c d Magic User Interface (angol nyelven). sasg.com . (Hozzáférés: 2024. augusztus 26.)
- ↑ MUI AmigaOS Development Site (angol nyelven). GitHub . (Hozzáférés: 2024. augusztus 28.)
- ↑ MUI 5.0-2017R1 for AmigaOS4/PPC and AmigaOS3/m68k released (angol nyelven). Amiga.org . (Hozzáférés: 2024. augusztus 28.)
- ↑ a b Grzegorz Kraszewski: Magic User Interface Programming (angol nyelven). MorphZone . (Hozzáférés: 2024. augusztus 28.)
- ↑ Zune Application Development Manual -- Introduction (angol nyelven). aros.sourceforge.net . (Hozzáférés: 2024. augusztus 28.)
- ↑ GUI Programming (angol nyelven). wiki.amigaos.net . (Hozzáférés: 2024. szeptember 2.)
- ↑ Stuntzi, S: MUI User Documentation. 1997
- ↑ Sasg software to buy (angol nyelven). amibay.com . (Hozzáférés: 2024. szeptember 2.)
- ↑ Magic User Interface Concepts (angol nyelven). Sasg.com , 2001. november 11. (Hozzáférés: 2024. október 15.)
- ↑ FAQ (angol nyelven). Amigaworld.net . (Hozzáférés: 2024. október 15.)
- ↑ Stuntzi, S: MUI Programmer Documentation. 1997
- ↑ Muidev wiki (angol nyelven). GitHub . (Hozzáférés: 2024. október 15.)
- ↑ a b ReAction (angol nyelven). SourceForge.net . (Hozzáférés: 2024. augusztus 26.)
- ↑ ReBuild (angol nyelven). SourceForge.net . (Hozzáférés: 2024. augusztus 26.)
- ↑ GTK-MUI (angol nyelven). SourceForge.net . (Hozzáférés: 2024. augusztus 26.)
- ↑ GTK-MUI Library (angol nyelven). os4depot.net . (Hozzáférés: 2024. augusztus 26.)
- ↑ feelin (angol nyelven). (Hozzáférés: 2024. augusztus 26.)
További információk
[szerkesztés]