Una scheda non è altro che una schermata in cui l’utente visualizza dei dati e con i quali può interagire attraverso degli elementi.

Ma come si costruisce una scheda?

Per creare una scheda è necessario creare nell’editor uno script di scheda, nel quale scriveremo delle istruzioni usando un linguaggio di Scripting specifico (DSL) e indicheremo quali dati vorremo visualizzare e in che modo li disporremo graficamente.

DEFINIRE IL LAYOUT GRAFICO

Le istruzioni che iniziano con  ::G   sono quelle che definiscono la parte grafica della nostra scheda. 

SEZIONI

per definire il LAYOUT di una scheda dobbiamo dividerla in sezioni attraverso il comando    ::G.SEZ    indicando con le lettere le colonne e con i numeri le righe.

Possiamo definire le dimensioni di ogni sezione inserendo Dim (n%), dove n è la percentuale di spazio che assumerà la nostra sezione rispetto al totale.

Se invece non indichiamo le dimensioni, di default le nostre sezioni sono equidistanziate. 

Ad esempio per suddividere la nostra scheda come nell’immagine scriveremo così:

::G.SEZ Pos(A) Dim (40%)

::G.SEZ Pos(B1)

::G.SEZ Pos(B2)

SUBSEZIONI

definite le sezioni della nostra scheda,  indichiamo per ogni sezione quale è il componente che abbiamo deciso di posizionare al suo interno e che visualizzerà i dati.

ad esempio scrivendo ::G.SUB.BOX  inseriamo il componente box, oppure ::G.SUB.CAL inseriamo un calendario, oppure ancora ::G.SUB.CHA un grafico.

il titolo della subsezione è obbligatorio, ma se non vogliamo visualizzarlo basta inserire Tit= “*NONE” e per avere un identificativo della subsezione aggiungiamo un Id.

ALTRE ISTRUZIONI

::G.SET ci permette di condizionare il componente grafico che abbiamo inserito, inserendo dei parametri, indicando cosa visualizzare e cosa no, cambiando il carattere, il colore o l’allineamento del testo e altre caratteristiche grafiche.

Il Wizard è molto utile per questa istruzione perchè ti permette di vedere tutto quello che è possibile modificare di un componente.

(esempio: ::G.SUB.BTN → inserisco il componente bottone

::G.SET.BTN  attributo= “valore” attributo= “valore”…  → posso settare i bordi, il colore di sfondo, il font,ecc. del bottone.)

::G.DIN ci permette di inserire i dinamismi, rendendo dinamico il comportamento della scheda rendendola sensibile a oggetti e opzioni passate nella chiamata di funzione (FUN) o alle scelte dell’utente. Possiamo fare interagire una subsezione con un’ altra, assegnare valori alle variabili o fare partire una FUN.

Where e When sono due parametri molto importanti per i dinamismi: Where ci permette,  indicando il Titolo o l’Id, di identificare quale subsezione vogliamo condizionare. When definisce l’azione che scatena il dinamismo (esempio: al click, al changeRow, ecc).

Exec va utilizzato in alternativa a Where se invece che instaurare una relazione tra due subsezioni, vogliamo eseguire una FUN.

Le VARIABILI sono fondamentali per rendere dinamica una scheda e ne distinguiamo 2 tipologie:

  1. le variabili statiche &VAR sono valorizzate automaticamente in base agli oggetti passati nella chiamata alla scheda, quindi alla prima visualizzazione di scheda son già valorizzate.

(esempio: &OG.D1 restituisce la descrizione dell’oggetto1, &PA.xxx restituisce il valore di un parametro di nome xxx, &IN.xxx restituisce il valore di un parametro passato alla scheda nell’Input di nome xxx)

  1. le variabili dinamiche sono racchiuse all’interno delle parentesi quadre [VAR] sono valorizzate dinamicamente in base alle scelte e all’interazione dell’utente con i componenti della scheda, quindi vengono generate dopo la prima visualizzazione della scheda (il loro valore non può condizionarne la costruzione).

Esistono diversi livelli di variabili dinamiche (con vari scope: scheda, subsezione, ecc.)
::G.STY definisce gli stili di formattazione e viene solitamente indicata in testa alla scheda.

DEFINIRE I DATI DA VISUALIZZARE

I dati che vogliamo visualizzare all’interno dei componenti vengono indicati nel nostro script di scheda con l’istruzione   ::D  in cui indichiamo le modalità di reperimento degli stessi.

FORNIRE DATI INTERNI ALLA SCHEDA

::D.OGG  presenta un oggetto definito (TIPO, PARAMETRO e CODICE) o un suo attributo con specifico valore.

::D.LAB  presenta una scritta  

::D.SCH  presenta una sottoscheda definita nello stesso membro della scheda corrente, indicando nell’attributo Nam il nome della sottoscheda.

CHIAMATE AI SERVIZI

::D.FUN.STD   lo utilizziamo per per chiamare una FUN, quindi  per la costruzione dinamica dei valori.

FORMATO DEI DATI

I dati vengono restituiti in formato XML:  nel caso in cui i dati li abbiamo cablati all’interno della scheda, viene costruito dalla scheda stessa alla prima visualizzazione, altrimenti l’XML viene restituito da un servizio esterno nel caso della chiamata della FUN.

ISTRUZIONI OPZIONALI

Le istruzioni di tipo ::G e di tipo ::D sono indispensabili per costruire una scheda, ma c’è un altra istruzione opzionale ad esempio le  ::I che permettono di gestire la costruzione di parti di una scheda solo al verificarsi di determinate condizioni ::I.IF, oppure costruire dinamicamente parti di una scheda facendo un Loop sulle proprietà di un’ oggetto ::I.LOP o di definire sottoschede all’interno di uno stesso script di scheda ::I.SCH.

Ci sono anche molte altre istruzioni nelle schede ed è possibile vederle tutte dai vari wizard integrati negli editor.

Ora possiamo mettere in pratica i concetti visti in questo articolo, provando a seguire questo Tutorial: creare una scheda.