Magic User Interface
AmigaOS widget-kezelő eszköztár From Wikipedia, the free encyclopedia
Remove ads
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]
Remove ads
Történet
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]
Remove ads
Licenc
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
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
// 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
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
Remove ads
Egyéb GUI eszközkészletek
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]
Remove ads
Színpaletta kiterjeszté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.
Remove ads
Jegyzetek
További információk
Wikiwand - on
Seamless Wikipedia browsing. On steroids.
Remove ads