Scopo
Tramite questa procedura si attiva uno degli otto custom command disponibili nella toolbar dei pannelli.
Sintassi
Applicazione.InitCustomCommand(indice, nome, icona, tooltip, fk)
Argomenti
Indice | E' indice del custom command da impostare. Può andare da Custom 1 a Custom 8, come specificato nella lista valori PanelCommands. A partire dalla versione 15.0 sono stati introdotti i comandi dal 9 al 16. |
Nome | E' il nome del custom command che verrà mostrato nelle videate di debug |
Icona | E' il nome del file icona che verrà usato per mostrare il comando. L'icona deve risiedere nella sottodirectory images della web application e deve avere come estensione .gif. Deve inoltre esistere un altro file con suffisso _sm per rappresentare il comando nel caso di toolbar piccola |
Tooltip | E' il tooltip da mostrare nel comando |
FK | E' il tasto funzionale che attiva il comando. Deve essere compreso nell'intervallo 0 - 48, dove 0 significa nessuna associazione. |
Esempio di codice
// *********************************
// Called when an application starts
// *********************************
event EsempiAM.Initialize()
{
EsempiAM.UserRole := Administrator
//
// Creo un comando di pannello personalizzato con la forma del segnale stradale di attenzione
// alle mucche
EsempiAM.InitCustomCommand(Custom 1, segnale, segnale, MSG Comando Pannello, C20)
//
// Lo assegna alla zona 1 della toolbar. E' stato poi nascosto tramite parametro di
// compilazione _ICD_PanelCommandMask
EsempiAM.InitCommandZone(Custom 1, ZERO, ONE)
}
// ***************************************************
// Fired when a panel command is about to be executed.
// ***************************************************
event EsempiAM.GlobalPanelCommand(
IDPanel Panel // Object that fires this event
int Command // Command issued
inout boolean Cancel // Set to TRUE to cancel the command
)
{
if Command = Custom 1
{
// Mando un messaggio all'utente
EsempiAM.MessageBox(MSG Appena Ordinato)
}
}
// Called when an application starts
// *********************************
event EsempiAM.Initialize()
{
EsempiAM.UserRole := Administrator
//
// Creo un comando di pannello personalizzato con la forma del segnale stradale di attenzione
// alle mucche
EsempiAM.InitCustomCommand(Custom 1, segnale, segnale, MSG Comando Pannello, C20)
//
// Lo assegna alla zona 1 della toolbar. E' stato poi nascosto tramite parametro di
// compilazione _ICD_PanelCommandMask
EsempiAM.InitCommandZone(Custom 1, ZERO, ONE)
}
// ***************************************************
// Fired when a panel command is about to be executed.
// ***************************************************
event EsempiAM.GlobalPanelCommand(
IDPanel Panel // Object that fires this event
int Command // Command issued
inout boolean Cancel // Set to TRUE to cancel the command
)
{
if Command = Custom 1
{
// Mando un messaggio all'utente
EsempiAM.MessageBox(MSG Appena Ordinato)
}
}
- L'attivazione di un comando custom vale per tutta l'applicazione e non solo per la sessione web in corso.
- Se, ad esempio, come icona viene specificato "segnale", devono esistere nella sottodirectory images i file "segnale.gif" e "segnale_sm.gif".
- Attivando un comando custom, esso viene mostrato in tutti i pannelli dell'applicazione. Se si desidera nasconderlo occorre modificare il parametro di compilazione _ICD_PanelCommandMask.
- E' possibile mostrare o nascondere un comando custom su uno specifico pannello tramite la procedura SetCommandEnabled.
- E' possibile gestire in maniera centralizzata i comandi custom rendendo globale l'evento OnCommand dei pannelli.
- E' necessario configurare i comandi custom in ordine, non è possibile definire Custom 2 se non si è definito Custom 1.
- I comandi da Custom 9 a Custom 16 sono stati introdotti a partire dalla versione 15.0.
- Se si usa questa funzione nel tema Bootstrap è necessario specificare come immagine una delle classi di Font Awesome (indicando solo il nome della classe, eg: "fa-plus").
- Nel tema Ionic è necessario usare le stringhe di tipo icona nel parametro Nome per selezionare l'icona.
Ad esempio "{{icon-send}}nome" per mostrare la corrispondente icona Ionic. -
Le seguenti associazioni sono già usate dal sistema:
- 2 : Attivatore del campo (F2)
- 3 : Gestione ricerca (F3)
- 4 : Lista/dettaglio (F4)
- 6 : Refresh/undo (F6)
- 7 : Insert (F7)
- 8 : Delete (F8)
- 9 : Salvataggio (F9)
- 11 : Blocco/sblocco del pannello (F11)
- 12 : Attivatore di riga (F12)
- 14 : Seleziona tutto (SHIFT+F2)
- 15 : Annulla selezione (SHIFT+F3)
- 16 : Mostra/nascondi selezione (SHIFT+F4)
- 19 : Duplica (SHIFT+F7)
- 26 : Chiudi videata (CTRL+F2)
- 36 : Stampa (CTRL+F12)
function RD3_CustomInit() { /* RD3_ClientParams.FKActField = 2; // Attivatore del singolo campo RD3_ClientParams.FKEnterQBE = 3; // Tasto entra in QBE RD3_ClientParams.FKFindData = 3; // Tasto trova i dati RD3_ClientParams.FKFormList = 4; // Tasto form/list RD3_ClientParams.FKRefresh = 6; // Tasto refresh RD3_ClientParams.FKCancel = 6; // Tasto cancel RD3_ClientParams.FKInsert = 7; // Tasto insert RD3_ClientParams.FKDelete = 8; // Tasto delete RD3_ClientParams.FKUpdate = 9; // Tasto salva RD3_ClientParams.FKLocked = 11; // Tasto lock/unlock RD3_ClientParams.FKActRow = 12; // Tasto attivatore di riga RD3_ClientParams.FKSelAll = 14; // Tasto seleziona tutto SHIFT+F2 RD3_ClientParams.FKSelNone = 15; // Tasto annulla selezione SHIFT+F3 RD3_ClientParams.FKSelTog = 16; // Tasto mostra selezione SHIFT+F4 RD3_ClientParams.FKDuplicate= 19; // Tasto Duplicate SHIFT+F7 RD3_ClientParams.FKCloseForm= 26; // Tasto Close Form CTRL+F2 (perche' CTRL+F4 chiude il browser!) RD3_ClientParams.FKPrint = 36; // Tasto Print CTRL+F12 */ } - Nel framework FLUID è necessario usare le stringhe di tipo icona nel parametro Icona per selezionare l'icona.
Ad esempio "{{icon-fa-send}}" per mostrare la corrispondente icona FontAwesome e "{{icon-trash}}" per la versione Ionic.
E' anche possibile usare delle immagini di sfondo su tutti i temi.
Ultima modifica: 13/11/2023 / Validità: da 6.8.3060