Funzionamento (inserimento finestra)

Descrizione

Questo modello è richiamato da un bottone di fondo videata, da un menù, dal menù contestuale di un campo o una funzione, per aprire una finestra di inserimento o di visualizzazione. Questa finestra può essere una finestra a pieno schermo (si baserà sull'istruzione Inpbox); può essere un box di dialogo (si baserà sull'istruzione Dlgbox) o può essere un box di messaggio (in questo caso si baserà sull'istruzione Mesbox). Nel dizionario delle finestre, il campo AFFICHAGE indicherà il tipo di box da aprire.

La finestra può contenere:

    una videata o più videate

dei bottoni di fondo videata

    dei menù (salvo su un box di messaggio)

    delle liste di selezione (salvo su un box di messaggio)

Quando questo modello "Inserimento Finestra" viene chiamato 2 volte dal modello "Programma Standard", per la finestra principale e poi per la finestra di criteri, la variabile [L]BOITE restituisce il codice della finestra corrente.  

I programmi

Il modello è un programma supervisore che richiama due programmi annessi: il programma standard ed il programma specifico (se sono presenti nel dizionario dell'azione) ed un programma generato per finestra (chiamato WGxxxxxxdove xxxxxx è il codice della finestra). Questi due programmi standard e specifico sono strutturati allo stesso modo, ovvero iniziano con un'etichetta ACTION che gestisce diversi eventi in grado di verificarsi durante l'esecuzione della funzione.

Il programma standard
Questo programma, fornito da ADONIX, non deve assolutamente essere modificato dallo specifico. 

Il programma specifico
Questo programma non è fornito da Adonix, ma può essere sviluppato in specifico (sia per funzioni standard per le quali si desidera effettuare delle implementazioni che per funzioni specifiche). 

Le Azioni

Il programma standard o specifico inizia quindi con questa etichetta $ACTION da scrivere nel seguente modo (dove XXXXXX è il codice dell'evento): 

$ ACTION
Case ACTION
   When "XXXXXX": Gosub XXXXXX
   When default
Endcase
Return

Ogni evento viene identificato da un codice alfanumerico, contenuto nella variabile ACTION. Se non vi è codice per un evento, il funzionamento della funzione non sarà di ostacolo. Nel sotto-programma $ACTION si gestisce l'indirizzamento all'etichetta aggiunta. In questa sintassi "case ACTION" si indicheranno tante righe quanti sono gli eventi da completare. La $ACTION viene chiamata dal programma supervisore tramite GOSUB; ciò permette di conseguenza di utilizzare delle variabili locali nel programma supervisore.

In allegato si trova l'elenco delle azioni. In seguito si ritroverà la descrizione dettagliata di queste azioni. Viene descritto il contesto chiamante e l'obiettivo di queste azioni.

Aggiunta di azioni specifiche sullo standard

Di default, per uno stesso evento, l'azione specifica è chiamata prima dell'azione standard.

Questa può annullare e sostituire l'azione standard se posiziona la variabile GPE al valore 1.

Per eseguire l'azione standard prima dell'azione specifica, in questo caso, si duplica il programma standard nell'azione specifica, si aggiunge il programma specifico e poi si posiziona la variabile GPE al valore 1. Esempio:

Programma supervisore
GPE=0
Gosub  ACTION  From  trait_std             ( chiamata dello standard)
If GPE=0
   Gosub  ACTION  From  trait_spé.            ( chiamata dello specifico)
Endif

Programma specifico
$ ACTION
Case ACTION
   When "OUVRE" : Gosub OUVRE
   When default
Endcase
Return

$OUVRE
...                                                                ( azione specifica OUVRE)
GPE = 1                                                     (nessuna chiamata dello standard a seguito dello specifico)
Return