Dialogs
Indice
- Cosa sono i dialogs
- I dialogs in mIRC
- Scopo
- Due tipi di dialog
- Dialog modeless
- Dialog modal
- Creare una dialog table
- $did e /did
- Altri strumenti
I Dialogs rendono possibile creare finestre di dialogo personalizzate all’interno di mIRC.
Il comando /dialog è il modo principale per aprire nuovi dialog,
mentre i Dialog components sono gli oggetti contenuti nel dialog,
come pulsanti, label e così via.
Cosa sono i dialogs
I dialogs sono semplicemente interfacce grafiche che presentano opzioni sullo schermo dell’utente in forma visuale. Per esempio, un browser web viene mostrato attraverso una propria interfaccia grafica. Gli utenti Windows possono aver usato applicazioni come Notepad o Microsoft Word: tutte queste applicazioni usano dialog, o forme di interfaccia grafica, per presentare le loro funzioni in modo più intuitivo.
I dialogs in mIRC
I dialogs di mIRC vengono creati dagli utenti tramite script personalizzati. Attraverso queste interazioni, i dialog si appoggiano all’event listener ON DIALOG. Tramite questo evento, tutti gli aspetti dei dialog personalizzati, così come i loro controlli, possono essere monitorati, tracciati e modificati.
Scopo
Lo scopo di questa pagina è familiarizzare in generale gli utenti con il termine dialogs e con il ruolo che essi svolgono in mIRC. Poiché questi componenti sono orientati a scripter più avanzati, i principianti dovrebbero prima aver seguito i tutorial precedenti dalla pagina introduttiva di mIRC fino ad arrivare a Dialogs.
Due tipi di dialog
Esistono due tipi di dialog: modeless e modal.
I dialog modal bloccano l’esecuzione corrente dello script e non consentono
di accedere ad altre finestre; di solito vengono usati per ottenere rapidamente
un input dall’utente. mIRC possiede già dialog modal integrati,
come la famiglia di $? e $input.
I dialog modeless possono rimanere aperti indefinitamente e non interrompono
l’esecuzione dello script. Anche mIRC include dialog modeless,
come la finestra delle opzioni di mIRC, accessibile con Alt + O.
Dialog modeless
Puoi creare un dialog modeless usando il comando /dialog
con lo switch -m. Esistono anche altri switch che possono essere usati
al momento della creazione e dopo la creazione del dialog
per modificarne vari stati.
/dialog -m <name> <table>
<name>è il nome usato per riferirsi all’istanza del dialog, puoi eseguire più istanze dello stesso dialog contemporaneamente.<table>è il nome della dialog table da usare.
Dialog modal
Puoi creare un dialog modal usando l’identifier $dialog
con la seguente sintassi:
$dialog(name,table[,parent])
name- Il nome usato per riferirsi all’istanza del dialog.table- Il nome della dialog table da usare.parent- Opzionale; può essere il nome di una finestra oppure:-1- Desktop window-2- Finestra principale di mIRC-3- Finestra attiva corrente-4- Dialog attivo corrente, se nessun dialog è aperto
- Il valore predefinito è
-3.
Qualsiasi controllo può essere usato nel dialog con lo stile result;
il valore restituito da $dialog sarà quello di quel controllo.
Nota: poiché i dialog modal bloccano l’esecuzione corrente dello script,
non puoi chiamare $dialog in questo modo da un remote script event.
Creare una dialog table
I dialog personalizzati vengono creati definendo una dialog table.
Il contenuto di quella tabella rappresenta l’aspetto del dialog,
i controlli e gli altri elementi. Una table si definisce usando
la keyword dialog.
dialog -l
<name> {
title "text"
icon filename, index
size x y w h
option type (dbu, pixels, notheme, disable)
text "text", id, x y w h, style (right, center, nowrap)
edit "text", id, x y w h, style (right, center, multi, pass, read, return, hsbar, vsbar, autohs, autovs, limit N, rich)
button "text", id, x y w h, style (default, ok, cancel, flat, multi)
check "text", id, x y w h, style (left, push, 3state)
radio "text", id, x y w h, style (left, push)
box "text", id, x y w h, style
scroll "text", id, x y w h, style (top left bottom right horizontal range N N)
list id, x y w h, style (sort, extsel, multsel, size, vsbar, hsbar, check, radio)
combo id, x y w h, style (sort, edit, drop, size, vsbar, hsbar)
icon id, x y w h, filename, index, style (noborder top left bottom right small large actual)
link "text", id, x y w h
tab "text", id, x y w h
tab "text", id
menu "text", menuid [, menuid]
item "text", id [, menuid]
item break, id [, menuid]
}
Lo switch -l rende la table locale, quindi solo quel file script
può aprirla. <name> è il nome della table che verrà usata
per creare un’istanza del dialog.
- title - Opzionale; imposta il testo mostrato nella titlebar del dialog.
- icon - Opzionale; imposta l’icona del dialog. Il parametro
filenameè il file da usare, mentreindexpuò indicare la N-esima icona nel file. - size - Obbligatorio; imposta la dimensione del dialog. Puoi usare
-1per uno qualsiasi dei parametrix,y,wehper specificare una posizione predefinita. Sexeysono-1, il dialog dovrebbe essere centrato nella finestra. - option - Può impostare diverse opzioni del dialog;
typeè una lista di opzioni separate da spazio:dbu- Garantisce che il dialog appaia allo stesso modo su display di dimensioni diverse usando dialog base units.pixels- È l’opzione predefinita se non usidbu; usa semplici valori in pixel.notheme- Impedisce a mIRC di applicare il tema corrente di Windows al dialog.disable- Può essere usata per attendere un po’ prima che i controlli nel dialog siano utilizzabili, evitando usi accidentali.
- Gli altri elementi servono per creare i controlli; per i dettagli si rimanda alla pagina sui dialog components.
Puoi usare un nome di variabile come stile per qualunque controllo: la variabile globale verrà impostata con il valore di quel controllo quando il dialog viene chiuso.
edit "", 2, 10 10 100 20, autohs %myedit
$did e /did
Il comando /did può essere usato per cambiare i vari stati
dei controlli, mentre $did può essere usato per recuperarne
valori e stati.
Per i dettagli d’uso dei due strumenti per ciascun controllo, bisogna consultare la pagina dedicata ai dialog components.
Altri strumenti
/didtok, $didtok, $didwm e $didreg
/didtok <name> <id> <C> <text> aggiunge una lista tokenizzata
di elementi a un controllo list/combo/edit. Per esempio,
/didtok name 1 44 red,green,blue aggiunge gli elementi
red, green e blue a quel controllo.
$didtok(name,id,C) restituisce una lista tokenizzata
di elementi da un controllo combo/edit/list.
$didwm(name,id,wildcard,N) e $didreg(name,id,regex,N)
restituiscono il numero della riga che corrisponde all’espressione,
partendo opzionalmente dalla riga N, nel controllo.
/loadbuf, /savebuf e /filter
Puoi usare /filter da e verso un controllo combo/edit/list.
Puoi usare /loadbuf e /savebuf da e verso
un controllo combo/edit/list.