Per creare dei plugin ci basta creare dei programmi livecode, e metterli nella cartella dei plugin, su windows è:
C:\Documents and Settings\max\Documenti\My LiveCode\plugins
Per Mac è:
/Users/max/Documents/My LiveCode/Plugins
Per Linux è:
/home/max/my_livecode/Plugins/
Ovviamente sostituite il nome utente max con il vostro sul computer.
Se volete utilizzare un'altra cartella per i plugin, potete impostarla andando su Edit -> Preferences -> Files & Memory:
All'avvio Livecode cercherà tutti i programmi che sono presenti in tale cartella e li integrerà dentro di sè.
Fate attenzione che un plugin non è modificabile, quindi se dovete cambiarlo o aggiungerci del codice, spostatelo in un'altra cartella.
Facciamo degli esempi pratici riguardo al codice da mettere in un plugin. Il plugin è uno stack a sè, quindi bisogna fare molta attenzione con i riferimenti.
Il primo esempio è una libreria, cioè servirà ad aggiungere elementi personalizzati già pronti ai nostri programmi. Per semplicità mettiamo solo un pulsante personalizzato e un pulsante normale, il pulsante normale dovrà essere premuto quando vorremo aggiungere l'elemento ai nostri programmi, così:
Ora mettiamo il seguente codice nel pulsante Aggiungi pulsante:
on mouseUp
copy button "Stop" of this stack to (the topStack)
end mouseUp
Notate che se uno stack è un plugin, non è più considerato da Livecode come lo stack principale (topStack); questo ci permette di fare la differenza tra lo stack su cui lavoriamo e il plugin. Fate attenzione che il codice agirà differentemente se lo stack si trova nella cartella dei plugin o meno!
Vediamo adesso di creare un plugin che prenda delle informazioni dal controllo selezionato sul programma principale. Creiamo uno stack con due campi, chiamandoli larghezza e altezza, e un pulsante così:
Poi inseriamo nel codice della card queste righe:
on revSelectedObjectChanged
if the selectedObject is empty then
disable field "larghezza"
disable field "altezza"
put empty into field "larghezza"
put empty into field "altezza"
else
enable field "larghezza"
enable field "altezza"
put the width of the selObj into field "larghezza"
put the height of the selObj into field "altezza"
end if
end revSelectedObjectChanged
Cosa è il messaggio revSelectedObjectChanged? Non lo trovate sul dizionario, si tratta del messaggio SelectedObjectChanged ma per i plugin. Nella schermata di impostazione dei plugin trovate tutta la lista dei messaggi speciali (Development -> Plugins -> Pluggin Settings):
I messaggi per i plugin sono identici ai messaggi normali, ma invece di essere inviati alla card o allo stack del programma principale, sono mandati al plugin. Il nome è lo stesso ma ha le lettere rev all'inizio.In questa maniera, quando selezioniamo un controllo sul programma principale, il plugin ci dirà la sua larghezza e altezza. Se non selezioniamo nulla i campi diverranno grigi.
Mentre nel pulsante mettiamo questo codice:
on mouseUp
set the width of the selObj to field "larghezza"
set the height of the selObj to field "altezza"
end mouseUp
In questa maniera possiamo impostare la larghezza e altezza di un controllo selezionato, basta selezionarlo, cambiare i valori nei campi altezza e larghezza e premere il pulsante Aggiorna.
Riuscite ad immaginare quante cose potete automatizzare con i Plugin? Praticamente tutto!
Nessun commento:
Posta un commento