Ugrás a tartalomhoz

Magic User Interface

Ellenőrzött
A Wikipédiából, a szabad enciklopédiából
Magic User Interface

FejlesztőStefan Stuntz[1]
(1992-2006)
Thore Böckelmann,
Jens Maus (2006-)
Első kiadás1993[1]
Legfrissebb stabil kiadás5.0[2]
(2021. augusztus 31. (2021-08-31))
Operációs rendszerAmigaOS, AmigaOS 4,[3] MorphOS[4]
PlatformAmiga
Kategóriawidget toolkit
Licencshareware[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:

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 14900025559123175170255
Green 149000255103123175144169
Blue 149000255162123175124151

Jegyzetek

[szerkesztés]
  1. 1 2 3 4 Magic User Interface (angol nyelven). sasg.com. (Hozzáférés: 2024. augusztus 26.)
  2. MUI AmigaOS Development Site (angol nyelven). GitHub. (Hozzáférés: 2024. augusztus 28.)
  3. MUI 5.0-2017R1 for AmigaOS4/PPC and AmigaOS3/m68k released (angol nyelven). Amiga.org. (Hozzáférés: 2024. augusztus 28.)
  4. 1 2 Grzegorz Kraszewski: Magic User Interface Programming (angol nyelven). MorphZone. (Hozzáférés: 2024. augusztus 28.)
  5. Zune Application Development Manual -- Introduction (angol nyelven). aros.sourceforge.net. (Hozzáférés: 2024. augusztus 28.)
  6. GUI Programming (angol nyelven). wiki.amigaos.net. (Hozzáférés: 2024. szeptember 2.)
  7. Stuntzi, S: MUI User Documentation. 1997
  8. Sasg software to buy (angol nyelven). amibay.com. (Hozzáférés: 2024. szeptember 2.)
  9. Magic User Interface Concepts (angol nyelven). Sasg.com, 2001. november 11. (Hozzáférés: 2024. október 15.)
  10. FAQ (angol nyelven). Amigaworld.net. (Hozzáférés: 2024. október 15.)
  11. Stuntzi, S: MUI Programmer Documentation. 1997
  12. Muidev wiki (angol nyelven). GitHub. (Hozzáférés: 2024. október 15.)
  13. 1 2 ReAction (angol nyelven). SourceForge.net. (Hozzáférés: 2024. augusztus 26.)
  14. ReBuild (angol nyelven). SourceForge.net. (Hozzáférés: 2024. augusztus 26.)
  15. GTK-MUI (angol nyelven). SourceForge.net. (Hozzáférés: 2024. augusztus 26.)
  16. GTK-MUI Library (angol nyelven). os4depot.net. (Hozzáférés: 2024. augusztus 26.)
  17. feelin (angol nyelven). (Hozzáférés: 2024. augusztus 26.)

További információk

[szerkesztés]