Banche dati del progetto: abbellire i moduli con i fogli di stile

Tradotto automaticamente da Deepl

Le strutture binarie classiche di 4D consentono di definire i fogli di stile per specificare il carattere, la dimensione del carattere e lo stile del testo da utilizzare nei moduli per le piattaforme macOS e Windows. I database di progetto consentono di spingersi ancora più in là, definendo le proprietà di un pulsante a 4 stati o specificando il colore e il bordo di tutti gli oggetti linea o addirittura impostando l’altezza dell’intestazione di tutte le caselle di riepilogo di un’applicazione! Ispirandosi alla grammatica e alla sintassi dei CSS, 4D li ha adattati per soddisfare le esigenze specifiche dei moduli dei database dei progetti 4D. Grazie ai fogli di stile, è possibile configurare tutte le proprietà per creare moduli davvero accattivanti. Questo post vi mostra come fare!

Esempio di database con fogli di stile

Piattaforma

Nei database di progetto è possibile definire fogli di stile individuali per entrambe le piattaforme (Windows o macOS) e un foglio di stile “generale”.

Perché si dovrebbero volere fogli di stile diversi per ogni piattaforma? Perché spesso su macOS si usa un carattere/una dimensione di carattere diversa da quella usata su Windows. D’altra parte, il colore del testo è spesso identico per entrambi.

Ora, è possibile definire gli stili comuni nel file “stylesheets.css” e gli stili specifici per ogni piattaforma nei propri file: “stylesheets_mac.css” e “stylesheets_windows.css”.

Proprietà

Una delle principali rivoluzioni nei database di progetto è che tutte le proprietà supportate dagli oggetti modulo possono essere utilizzate nei fogli di stile.

Ad esempio, è possibile creare una classe “buttonAction” per creare pulsanti a 4 stati con l’aspetto di “barra degli strumenti”, testo grigio e non focalizzabile:

.buttonAction {
  iconFrames: 4;
  style: toolbar;
  stroke: grey;
  focusable: false;
}

blank

In questo modo è più facile progettare i moduli per l’applicazione, mantenendo lo stesso design grafico.

Selettori

Un altro grande cambiamento è la possibilità di creare fogli di stile per classe, per tipo di oggetto, per nome di oggetto o per attributi.

Selettore del tipo di oggetto

Con il selettore del tipo di oggetto (equivalente al selettore di elementi CSS), è possibile definire proprietà comuni applicabili a tutti gli oggetti del database. Ad esempio, tutte le caselle di riepilogo devono avere un’intestazione di 2 righe, le righe vuote non devono essere visualizzate e i colori di sfondo delle righe devono essere gainsboro e whitesmoke:

listbox {
  headerHeight: 2em;
  hideExtraBlankRows: true;
  fill: gainsboro;
  alternateFill: whitesmoke;
} 

blank

Grazie a questo selettore, è possibile definire il proprio look and feel per gli oggetti del modulo.

Selettore di attributi

Con il selettore di attributi, è possibile definire un foglio di stile in base al valore di una proprietà.

Ad esempio, nei moduli di input/output dei dati, ho dei pulsanti per aggiungere, modificare o cancellare i record. Tutti questi pulsanti utilizzano la stessa icona, lo stesso titolo e gli stessi suggerimenti.

Perché non creare un foglio di stile per i pulsanti di azione e designare un valore specifico per la proprietà azione? Ad esempio, se la proprietà azione è impostata su “editSubrecord”:

.buttonAction[action=editSubrecord] {
  icon: url("/RESOURCES/Images/Buttons/edit.png");
  tooltip: ":xliff:button_tip_EditRecord";
  text: ":xliff:button_EditRecord" !important;
}

blank

Come bonus, una dimostrazione di azione dal vivo!

Vanessa Talbot
- Product Owner - Vanessa Talbot è entrata a far parte del team di 4D Program nel giugno 2014. In qualità di Product Owner, è incaricata di scrivere le storie degli utenti e di tradurle in specifiche funzionali. Il suo ruolo è anche quello di assicurarsi che l'implementazione della funzionalità fornita soddisfi le esigenze del cliente. Ha lavorato sulla maggior parte delle nuove funzionalità di multi-threading preemptive e anche su un argomento molto complesso: la nuova architettura per le applicazioni con motore. Vanessa si è laureata presso Telecom Saint-Etienne. Ha iniziato la sua carriera presso il Criminal Research Institute come sviluppatrice per il dipartimento audiovisivo. Ha lavorato anche nei settori dei media e della medicina come esperta di supporto tecnico, produzione e documentazione di nuove funzionalità.