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.)
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 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]
  1. a b c d 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. a b 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. a b 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]