08.11.2012 Views

dettagli - Amiga Magazine

dettagli - Amiga Magazine

dettagli - Amiga Magazine

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Questo tool, realizzato dal<br />

greco Dimitri Keletsekis,<br />

rovescia in un certo senso<br />

il paradigma precedente:<br />

non più comandi per la<br />

GUI all'interno di uno<br />

script di Shell, ma piuttosto<br />

comandi CL1 (e ARexx)<br />

all'interno di un linguaggio<br />

di scripting che definisce la<br />

GUI. I1 linguaggio di<br />

gui4cli è piuttosto semplice,<br />

ma la sua natura interpretativa<br />

nonché l'ampio<br />

uso di variabili gli conferiscono<br />

grande flessibilità. Si<br />

tratta inoltre di un linguag-<br />

G4C<br />

WinBig 100 50 572 350 "Gui4CLI More" ; dimensioni e titolo finestra<br />

WinType 11110001 ; flag vari<br />

WinFont helvetica.font 13 010<br />

WinBackground Pattern 2 3 ; sfondo colorato<br />

Box O O O O IN IconDrop ; box in rilievo<br />

xOnLoad ; Al caricamento,<br />

GuiOpen more.gc ; ... apri la GUI<br />

xOnClose ; Se l'utente chiude la finestra,<br />

GuiQuit more.gc ; ... chiudi anche la GUI.<br />

xListView 10 20 150 300 "Scegli un file" File "SYS:" 10 Dir<br />

GadID 1<br />

GadFont courier.font 13 000<br />

; Questa è la listview 1<br />

gio er~ent-driueti ("diretto<br />

LvChange more.gc 2 $File ; doppio click: mostra il file nella lv 2<br />

dagli eventi") e la sintassi xAppWindow Icon ; La nostra finestra è una AppWindow<br />

del linguaggio è tale che<br />

una GUI viene costruita<br />

LvChange more.gc 2 $Icon ; drop: mostra il file nella lv 2<br />

semplicemente elencando i<br />

gadget che la compongono<br />

(sono supportati quelli<br />

xListView 162 20 400 320 "Contenuto del file" Var "" 10 TXT<br />

GadFont courier.font 13 000<br />

GadID 2 ; Questa e' la listview 2, nessun evento<br />

di Gadtools, ma è anche<br />

possibile usare semplici<br />

funzioni di disegno per<br />

xButton 10 322 20 18 "/"<br />

LvDir more.gc 1 PARENT<br />

; Pulsante "/" - se premuto,<br />

; carica la directory padre nella lv 1<br />

personalizzare l'aspetto di xButton 32 322 20 18 ":" ; Pulsante ":" - se premuto,<br />

una finestra); ogni defini- LvDir more.gc 1 ROOT ; carica la directory radice nella lv 1<br />

zione di gadget è seguita<br />

dalle azioni che andranno<br />

eseguite in risposta alla<br />

xButton 54 322 106 18 "Dispositivi"<br />

LvDir more.gc 1 DEVS<br />

; Pulsante "Dispositivi"<br />

; carica la lista dei disp. nella lv 1<br />

sua attivazione. Tali azioni<br />

potranno essere comandi<br />

DOS, ARexx o comandi<br />

Listato 2 - Il sorgente per la GUZ in figura l.<br />

per cambiare lo stato di qualche altra parte della CUI; sono bili e sensibili al font in uso, abbreviazioni da tastiera, imanche<br />

disponibili alcuni costrutti per il controllo del flusso magini, requester, AppIcon, AppWindow e AppMenu, im-<br />

(if, while, gosub/return, case ...l e un certo numero di co- missione di testo e molto altro, e può anche modificare dimandi<br />

interni per operare su directory, file e icone.<br />

namicamente le GUI (aggiungendo o togliendo gadget,<br />

menu, ecc.), mantenendo peraltro una semplicità notevole.<br />

Gui4cli è in grado di gestire schermi, finestre ridimensiona- Come ultima nota positiva, vale la pena di notare che le<br />

GUI così prodotte sono semplici file ASCII, che ciascun<br />

Fig. 1 - Una GUZprodotta con Gui4CLI.<br />

utente può eventualmente adattare alle proprie necessità e<br />

che una GUI creata da gui4cli può essere controllata esternamente<br />

tramite ARexx (...ARexx che controlla una GUI<br />

che invia comandi ARexx a un programma? Mah!). La figura<br />

1 mostra la GUI per un semplice visualizzatore di testi<br />

prodotta con gui4cli (in meno di 10 minutij, di cui potete<br />

==--- EVWTJ .C-=.-=F-.=<br />

vedere il sorgente nel listato 2. Fra i demo inclusi nel pac-<br />

XBUttM<br />

xChsciEox<br />

mlfder<br />

milder<br />

Xrextln<br />

xCycLer<br />

L T I il Tltlc<br />

L T W H Tltlc Variabla biPsxt WfTeXt DUlD<br />

L T V H TitLt Variabb #in Xax Currcnt Sho<br />

t T W H Titic VartabU *in Ilsx Curssnt Sho<br />

L T W K Title Varlabb StartiniQext BulCle<br />

L T W B Rtla varsab1c<br />

chetto troverete esempi più complessi, fra cui un mini-clone<br />

di DirOpus e un costruttore di interfacce grafiche per<br />

gui4cli ... interamente scritto in guidcii!<br />

*hpplmu<br />

AppIcrm<br />

xappiimdor<br />

L T W Ii Varrablc Cpacinq<br />

Isni Itil SubItan Shortcut<br />

L T Ic&- (no . mfo)<br />

irppumutia irariabls OM1W<br />

L T I- Titis Variabla LdifOTr<br />

Vsriable<br />

GUI per ARexx<br />

Come abbiamo visto, molti frarneu~ork offrono una qualche<br />

forma di interfacciamento ARexx, con la possibilità di inl

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!