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