AMIGA REVIEW obsah časopisu online!
  Domov     Software     Hry     Obaly     Download  

ARGUE v1.3a

Radim Demel

Nahraďte si Shell vlastním GUI

Běžná situace: Chcete něco dělat na své Amize (modemovat, přehrávat animace, apod.) Sháníte vhodné programy a po čase vám zůstanou 2 nejlepší - program A a B. Program B je rychlejší, zabere méně místa na disku i v paměti a má i další výhody. Přesto si nakonec zvolíte program A. Proč? Protože program B má jednu velkou nevýhodu: nemá řádné GUI neboli grafické uživatelské rozhraní!
Jistě, pro některé uživatele to nepředstavuje žádný problém, ale drtivá většina amigistů sáhne po programu s GUI a já se tomu vůbec nedivím. Vždyť kdo by si dnes chtěl pamatovat syntaxi a argumenty příkazů - práce v Shellu je pro nás, běžné uživatele, nepříjemným přežitkem z dob, kdy Workbench byl ještě v plenkách. Přesto je škoda nechat zahálet opravdu dobrý program jenom proto, že jeho tvůrce „zapomněl“ na pohodlí uživatelů. Díky MUI a invenci programátorů si dnes může v takovém případě každý amigista snadno pomoci: vyrobí si vlastní MUI GUI. Tuto skvělou příležitost nám přináší program ARGUE.

Nejdříve stručně...
Možná si říkáte, že je to sice všechno moc pěkný, ale vy stejně nejste programátor, takže vám to nepomůže. OMYL! Argue vytvořil Thorsten Stocksmeier pro co nejširší okruh uživatelů a pro práci s ním nepotřebujete naprosto žádné programátorské znalosti.
Na to, co program umožňuje, má skutečně obdivuhodně malé rozměry. Tento „cvalík“ vám na disku zabere pouhých 70 Kb. Instalaci bezproblémově zajišťuje obligátní Installer. Součástí balíku je vlastní program s instalačním skriptem a dokumentací ve formátu AmigaGuide a dále se v něm nachází již hotové skripty, jež vám umožní s minimálními úpravami v tooltypech ikon skriptů, používat grafická rozhraní pro 32 programů (např. Term, Mpega, CatComp, XAnim...) Pro práci s Argue samozřejmě potřebujete i MUI, postačí i neregistrovaná historická verze 3.0.
Pro práci s Argue jsou nutné 3 věci: Za prvé, program Argue. Ten dáme do adresáře C: a dále si ho již nemusíme všímat. Za druhé: je nutné zvládnout tvorbu skriptu, který obsahuje argumenty shellového programu a speciální příkazy Argue, jimiž určujeme vzhled GUI. A nakonec musíme znát tooltypy ikon vytvořených skriptů, kterými se dále upravuje vzhled a vlastnosti nově vytvořeného GUI.
...a teď trochu do hloubky.

Tvorba skriptu
Pro každý program, ke kterému chceme vytvořit GUI, je nutné napsat skript, což je ve skutečnosti obyčejný ASCII soubor, který obsahuje všechny argumenty shellového programu a dále obsahuje příkazy programu Argue, které slouží k definování vzhledu a obsahu GUI. Aby tento článek nebyl pouze suchou teorií, vytvořil jsem na ukázku jednoduché GUI pro standardní systémový příkaz COPY. Jeho skript si můžete prohlédnout na konci tohoto článku, někde kolem by se měl povalovat i obrázek, kde si můžete prohlédnout výsledné GUI. Struktura skriptů je následující: Na začátku si můžete napsat krátký komentář ke skriptu, např. název programu, k němuž tvoříte GUI, vaše jméno atd. Tento komentář se nemusí oddělovat od kraje středníky či mezerami.
Vlastní skript začíná příkazem @NEWFASHION, který se píše velkými písmeny. Bez tohoto příkazu Argue nepozná, že jde o skript a dostanete chybovou hlášku. Za tímto příkazem MUSÍ následovat prázdný řádek.
Po prázdném řádku následují seřazeny pod sebou jednotlivé argumenty shellového programu i s řídícími znaky určujícími, zda jde o přepínače či adresy apod. Pokud si nepamatujete, jaké argumenty program (či příkaz) používá, zadejte v menu Workbenche položku „Execute command...“ a napište název příkazu či programu s otazníkem. Také není k zahození přesměrovat výstup tohoto příkazu do souboru - je snazší nahrát si do textového editoru tento soubor, než jednotlivé argumenty zapisovat ručně... (u ukázkového skriptu by to pak vypadalo takto: Copy ? >RAM:xxx ).
Nyní tedy máme seřazeny na levé straně všechny argumenty programu. Ted přicházejí na řadu příkazy Argue, jimiž se tvoří vlastní vzhled GUI, zadává se použití různých druhů tlačítek a sliderů, tvoří se bublinková nápověda apod... Tyto příkazy se píší do hranatých závorek, pro každý argument programu musíte vytvořit novou řádku. Pokud za argument programu nedáte žádný příkaz Argue, bude ve výsledném GUI za argumentem prostě jen textový řádek, kam musíme potřebné hodnoty či cesty psát ručně. Pokud je argumentem programu přepínač, vytvoří Argue zatrhávací tlačítko.
Psát vše ručně není nijak pohodlné a moc by nám to práci s programem neusnadnilo. Nato ovšem autor Argue myslel a připravil nám možnost použít hned několik druhů tzv. popup requesterů. Můžete zadat (bez uvozovek):
„NOPOPUP“ - standardní nastavení. Za textovým řádkem není žádné popup tlačítko.
„FILEPOPUP“ - vytvoří tlačítko, které po nekliknutí otevře ASL requester, jímž. se lze proklikat až k žádanému souboru.
„SCREENMODEPOPUP“ - vytvoří tlačítko, které otevře screenmode requester.
„DEVICEPOPUP“ - tento příkaz je vhodný například pro terminálové programy. Otevře seznam *.device souborů, jež jsou v adresáři DEVS: na vašem počítači.
„PUBSCREENPOPUP“ - po kliknutí na vytvořené tlačítko, si můžete vybrat veřejnou obrazovku, na níž chcete program spustit.
„SECRETPOPUP“ - chcete v programu používat hesla? Zadejte tedy tento příkaz. Všechny znaky, které zadáte do řádku, se na obrazovce objeví ve formě teček. Opět velmi vhodné pro terminálové programy.
„DRIVEPOPUP“ - podobné jako FILEPOPUP, můžete si zvolit zařízení.
„CAN“ - velmi zajímavý příkaz. Vytvoří tzv.CANDIDATE, čili seznam, kde si již dopředu nadefinujete, jaké hodnoty se v něm mají objevit. (Nejlépe to osvětlí příklad: např. v GUI, které jsem si vytvořil pro Mpeg_play, jsem si pro argument MODEID/K, který slouží k zadáváni screenmódu v hexadecimálním tvaru, vytvořil tento candidate seznam: MODEID/K [can cc-29000H 39024H ]. Můžu si tedy po kliknutí na dané tlačítko, zvolit z rozlišení Pal:Hires či Multiscan:Productivity. Pozor, po „can“ MUSÍ následovat i „cc“!)
Pokud chcete, aby se ihned po startu GUI objevil v textovém řádku nějaký text, použijte příkaz „PRESET=xxx“, kde xxx je žádaný text.
Argue umožňuje využívat v GUI programu dokonce i bublinkovou nápovědu. Stačí použít příkaz „HELP=xxx“, kde xxx je text nápovědy. Pokud je text nápovědy příliš dlouhý a nevejde se na jeden řádek, můžete ho rozdělit na více řádků znakem ^ . Pozor: autor v guide píše, že text v help stringu nesmí být v uvozovkách. Podle mých zkušeností jsou však v tomto případě uvozovky nutné, jinak se text nápovědy nezobrazí v bublince!
Další skvělou možností, kterou Argue poskytuje, je použití cyklovacích tlačítek. Je to výhodné hlavně tam, kde shellový program používá několik přepínačů, z nichž se dá použít jen jeden (např. u prohlížecích programů se dá nastavit pouze jeden z několika typů ditheringu). Cyklovací tlačítko se vytvoří pomocí řídícího znaku „/“ a písmena C, tedy /C. Příklad: Dither/C [gray/s ham8/s color/s]. Jak vidíte, za jednotlivé typy ditheringu je v tomto případě nutné uvést řídící znak /S - tak se Argue dozví, že má zadané hodnoty interpretovat jako přepínače. První zadaná hodnota („gray“) bude v GUI viditelná na „vrcholku“ cyklovacího tlačítka a pokud ji nepřepnete, použije se jako zadaná hodnota pro příslušný přepínač.
V mnoha programech se některé přepínače téměř vždy používají (např. u MPEG přehrávačů přepínače NOB či NOP). Abychom je nemuseli vždy po startu GUI neustále znovu a znovu zapínat, lze je nastavit jako aktivní, čili zapnuté. Děje se tak příkazem „ON“ (př.: QUIET/S [on]).
U některých argumentů programů se zadávané hodnoty mohou pohybovat v určitém rozmezí - typickým příkladem je velikost bufferu. V Argue není problém si stanovit krajní limity zadávaných hodnot. K tomu slouží řídící znak /N a hodnoty se pak zadávají jako: [min default max]. Hodnota default se objeví v GUI po startu programu. Podobné argumenty se v MUI GUI prezentují ve formě sliderů nebo knobs čili otočných knoflíků (viz. ukázkový skript, argument BUF/K/N).
Argue nabízí i možnost kontroly vložených hodnot. Pokud si chcete ověřit, co vlastně pošle Argue jako výstup cílovému programu, použijte položku menu „Check output“.

Tooltypy
Poté, co jsme si vytvořili skript, musíme mu přiřadit ikonu typu project, nejjednodušší je prostě udělat kopii jedné z ikon v adresáři Examples. Název ikony MUSÍ být stejný jako název skriptu! (tzn. jmenuje-li se skript CopyGUI, ikona se musí jmenovat CopyGUI.info). Do textového gadgetu „Default tool“ zadejte Argue, samozřejmě i s cestou, nemáte-li ho v systémovém adresáři.
Nyní jsme s prací téměř u konce, zbývá jen upravit fungování a vzhled GUI pomocí tooltypů u přiřazené ikony. Tooltypů je celkem 23(!) Některé jsou pro správné fungování GUI nutné, jiné pouze dolaďují vzhled GUI. Mezi ty nejdůležitější patří:
REQUIRES= sem se píše číslo aktuální verze Argue, kterou právě používáte. Toto číslo musí být nastaveno správně!
COMMAND= cesta k programu, pro nějž jsme GUI vytvořili.
WINDOWID= sem se píše název skriptu. MUI vyžaduje tento parametr, jinak nedokáže uložit MUI nastavení programu!
NOVIRTUAL Zruší v GUI virtuální skupiny. Vhodné pouze pro malé GUI - menší spotřeba místa.
PAGEGROUP velmi efektní tooltype. Pokud ho zadáte, rozdělí se GUI na 3 pořadače, na jednom jsou textová pole, na druhém přepínače a cyklovací tlačítka a na posledním slidery.
USEKNOBS místo sliderů se v GUI objeví otočné knoflíky.
TITLE= text titulku, který se objeví v horní části GUI.
UNIX nastaví mód unix. Vhodné pro programy, které mají unixovou syntaxi argumentů.
LOGOFILE= sem se zadává cesta k logu, který se může zobrazit v levém horním rohu GUI (viz ukázkové GUI). Toto logo si můžete vytvořit i vy, jediná podmínka je velikost max 100x49 pixelů, obrázek se načítá datatypy.
COMMANDLINE vytvoří v GUI příkazovou řádku, kterou můžete zadávat příkazy DOSU či spouštět programy, to vše nezávisle na programu, k němuž jste MUI GUI vytvořili.
O tooltypech by se toho dalo napsat ještě hodně, ale v tomto článku na to není místo. Výše uvedené tooltypy jsou nejdůležitější, pro zbytek vás odkazuji na argue.guide, která je mimochodem stručná a jasná a pracuje se s ní velmi dobře.

Ukázkový skript k příkazu Copy.
;Nejdříve si můžeme napsat nějaký komentář:
;Ukázkový skript ARGUE13. MUI GUI pro příkaz COPY.
@NEWFASHION
FROM/M [help=„Zde zadej soubory, ^jenž se mají kopírovat“]
TO/A [filepopup preset=HFO: help=„Zadej cílový adresář“]
ALL/S [on help=„Zkopírují se i všechny podadresáře!“]
QUIET/S [on]
BUF/K/N [min=200 default=1000 max=1500]
CLONE/S [on help=„Překopírují se i původní stavové bity“]
DATES/S
NOPRO/S
COM/S
NOREQ/S

Vlastní skript začíná příkazem @NEWFASHION, po posledním argumentu ve skriptu (zde je to NOREQ/S) NESMÍ být prázdný řádek! U některých argumentů jsem zpracoval stručnou nápovědu, jednotlivé příkazy Argue odděluje mezera.

Konečné zhodnocení...
... je snadné. Máte-li na své Amize MUI a nemáte rádi práci v Shellu, neváhejte a rozhodně si program Argue pořiďte. Používám ho asi 2 měsíce a zatím mi nezpůsobil nejmenší problémy. Jediná vada, kterou jsem zatím objevil, je ta, že nefunguje snapshot tlačítko v MUI okně. Ukládání MUI preferencí však funguje korektně. Nenechte se odradit nutností tvorby skriptu. Je to opravdu velmi snadné a pomocí guide (či tohoto článku :-) to v pohodě zvládnete za 2-3 hodiny. Argue prostě musíte mít!

Argue v1.3

Hodnocení: 9,0 z 10
Autor: Stocksmeier
Cena: -
Typ: e-mailware

+

velmi dobře využívá možností MUI, stabilní, levné, snadná editace skriptu, skvělý nápad

-

nefunguje funkce snapshot při použití tooltypu PAGEGROUP si nelze rozvrhnout umístění tlačítek na jednotlivých pořadačích

Vytlačiť článok



Pozn.: články boli naskenované ako text a preto obsahujú aj zopár chýb. Taktiež neručíme za zdrojové kódy (Asm, C, Arexx, AmigaGuide, Html) a odkazy na web. Dúfame, že napriek tomu vám táto databáza dobre poslúži.

Žiadna časť nesmie byť reprodukovaná alebo inak šírená bez písomného povolenia vydavatela © ATLANTIDA Publishing



none

AMIGA REVIEW

57 ( 11-12 / 2000 )
56 ( 9-10 / 2000 )
55 ( 7-8 / 2000 )
54 ( 5-6 / 2000 )
53 ( 3-4 / 2000 )
52 ( 1-2 / 2000 )
 
51 ( 12 / 1999 )
50 ( 11 / 1999 )
49 ( 10 / 1999 )
48 ( 9 / 1999 )
46-47 ( 7-8 / 1999 )
45 ( 6 / 1999 )
44 ( 5 / 1999 )
43 ( 4 / 1999 )
42 ( 3 / 1999 )
41 ( 2 / 1999 )
40 ( 1 / 1999 )
 
39 ( 12 / 1998 )
38 ( 11 / 1998 )
37 ( 10 / 1998 )
36 ( 9 / 1998 )
35 ( x / 1998 )
34 ( x / 1998 )
33 ( 1-2 / 1998 )
 
32 ( 11-12 / 1997 )
31 ( 9-10 / 1997 )
30 ( 7-8 / 1997 )
29 ( 6 / 1997 )
28 ( 5 / 1997 )
27 ( 4 / 1997 )
26 ( 3 / 1997 )
25 ( 2 / 1997 )
24 ( 1 / 1997 )
 
23 ( 12 / 1996 )
22 ( 11 / 1996 )
21 ( 10 / 1996 )
20 ( 9 / 1996 )
18-19 ( 7-8 / 1996 )
17 ( 6 / 1996 )
16 ( 5 / 1996 )
15 ( 4 / 1996 )
14 ( 3 / 1996 )
13 ( 2 / 1996 )
12 ( 1 / 1996 )
 
11 ( 12 / 1995 )
10 ( 11 / 1995 )
9 ( 10 / 1995 )
8 ( 9 / 1995 )
7 ( 7 / 1995 )
6 ( 5 / 1995 )

ATLANTIDA NEWS

5 ( 3 / 1995 )
4 ( 1 / 1995 )
 
3 ( 11 / 1994 )
2 ( 9 / 1994 )
1 ( 7 / 1994 )
0 ( 5 / 1994 )