Table of Contents
- Logica per la ricerca delle immagini
- Definizione della cartella in cui vengono cercate le immagini
- Modalità alternativa di ricerca delle immagini di Oggetto
- Caratteri non consentiti nel percorso delle immagini
- Forzatura Path di Immagini e di Icone da Sme.Up
- Icone profili utente
- Logica per la ricerca delle icone
- Tipi di icone
- Meccanismo di ricerca delle icone
- Caratteri non consentiti nel percorso delle immagini
- il file DLL
- Le icone nei componenti
- I bottoni
- L'albero
- La matrice
Logica per la ricerca delle immagini
La ricerca delle immagini e delle icone in Looc.up avviene in due fasi distinte.
La prima consiste nel determinare la directory che fisicamente conterrà le immagini.
Una volta che è stata determinata la directory che contiene le immagini, viene fatta al suo interno una ricerca per risalita sul tipo-parametro-codice per determinare il file fisico che contiene l'immagine da usare.
Definizione della cartella in cui vengono cercate le immagini
C: | ||
--- DIR1 | ||
---- LOOCUP (1) | ||
----- LOOCUP_IMG (2) | ||
------LOOCUP_ICO (2) | ||
----- LOOCUP_IMG (3) | ||
----- DEFAULT (4) | ||
----- AMB1 (5) |
Assunti:
- Looc.up è installato nella directory (1), nell'esempio specifico C:/DIR1/LOOCUP.
- La directory di installazione contiene due directory LOOCUP_IMG e LOOCUP_ICO (2) che contengono le immagini e le icone di default. Queste due directory sono installate dal setup.
- Allo stesso livello della directory di installazione di Looc.up (1) ci possono essere altre due directory LOOCUP_IMG e LOOCUP_ICO (3) che vanno usate quando si vogliono definire immagini ed icone diverse a seconda dell'ambiente. Queste directory non sono create dal setup e possono contenere delle sottodirectory di personalizzazione di un ambiente.
Esempi:
- L'utente vuole usare le immagini e le icone di default di Looc.up.
DIRECTORY DELLE IMMAGINI ---> C:/DIR1/LOOCUP/LOOCUP_IMG;
DIRECTORY DELLE ICONE ---> C:/DIR1/LOOCUP/LOOCUP_IMG.
- L'utente vuole personalizzare le immagini di default di Sme.up ma non vuole modificare le immagini installate dal setup.
Nel caso in figura:
DIRECTORY DELLE IMMAGINI ---> C:/DIR1/LOOCUP_IMG/DEFAULT;
DIRECTORY DELLE ICONE ---> C:/DIR1/LOOCUP_IMG/DEFAULT.
- L'utente vuole creare delle immagini e delle icone personalizzate per un suo ambiente AMB1.
Nell'esempio in figura:
DIRECTORY DELLE IMMAGINI ---> C:/DIR1/LOOCUP_IMG/AMB1;
DIRECTORY DELLE ICONE ---> C:/DIR1/LOOCUP_IMG/AMB1.
N.B.: a livello di determinazione delle directory delle immagini/icone non viene effettuata alcuna risalita. Una volta che viene determinata la directory in cui cercare le immagini e le icone, i file vengono cercati in queste directory e basta.
Modalità alternativa di ricerca delle immagini di Oggetto
Se negli script di configurazione di Loocup sono definite le variabili (almeno una) IMG.001, IMG.002 e IMG.003, la ricerca della cartella LOOCUP_IMG avviene nella modalità illustrata di seguito.
Quando viene chiesta l'immagine di un'oggetto, Loocup per prima cosa individua la cartella LOOCUP_IMG verificando che esista la gerarchia di cartelle tipo/parametro all'interno del percorso indicato nella variabile IMG.003:
SMEA.IT\DFS_ROOT\aziende\smea\Programmi\LOOCUP_IMG\Standard Smeup/TIPO/PARAMETRO/
Se la gerarchia di cartelle non viene trovata, le ricerca si sposterà nella directory contenuta nella variabile IMG.002 e, in caso le cartelle non vengano trovate, la ricerca si sposterà nuovamente nel percorso indicato dalla variabile IMG.001.
Una volta definita la directory delle immagini secondo la logica del punto precedente, la ricerca dell'immagine vera e propria da usare avviene secondo una logica di risalita:
- IMAGE_DIR/TIPO/PARAMETRO/CODICE.gif
- IMAGE_DIR/TIPO/PARAMETRO/CODICE.jpg
- IMAGE_DIR/TIPO/PARAMETRO/CODICE.png
- IMAGE_DIR/TIPO/PARAMETRO/default.gif
- IMAGE_DIR/TIPO/PARAMETRO/default.jpg
- IMAGE_DIR/TIPO/PARAMETRO/default.png
- IMAGE_DIR/TIPO/default.gif
- IMAGE_DIR/TIPO/default.jpg
- IMAGE_DIR/TIPO/default.png
- IMAGE_DIR/default.gif
- IMAGE_DIR/default.jpg
- IMAGE_DIR/default.png
Caratteri non consentiti nel percorso delle immagini
Qualore gli identificativi dell'oggetto di cui si sta ricercando l'immagine contengano catarreti non consentiti in un percorso di file system, tali caratteri andranno sostituiti con il carattere meno (-). Quindi l'immagine dell'oggetto di tipo ** sarà contenuto nella cartella --. Gli oggetti di tipo OJ-*USRPRF avranno le loro immagini nella cartella 'USRPRF contenuta nella cartella OJ.
Forzatura Path di Immagini e di Icone da Sme.Up
E' possibile forzare la directory base delle immagini e delle icone di LoocUp attraverso la dichiarazione di variabili opportune nel file di configurazione SCP_CLO/DEFAULT:
C.SEZ Cod="Path"
C.PAT Cod="ICO" Txt="Icone" Type="TREE" Value="PERCORSO_IMG"
C.PAT Cod="IMG" Txt="Immagini" Type="FLAT" Value="PERCORSO_ICO"
Il percorso va sempre concepito a partire dalla directory di installazione di LoocUp.
Icone profili utente
Le icone dei profili utente sono un caso particolare e vanno elencate nella cartella LOOCUP_PRF/USR con codice = al codice utente
Logica per la ricerca delle icone
La directory che contiene le icone di Loocup risiede sul filesystem e si chiama LOOCUP_ICO.
Con l'installazione di Loocup questa cartella viene creata all'interno della cartella di installazione di Loocup.
Quando viene chiesta l'icona di un oggetto Loocup utilizza il seguente meccanismo per reperire la posizone della cartella LOOCUP_ICO: 1) se nel setup è definito l'elemento Path con attributo uguale a ICO (XPATH=Setup/Program/BAS/Paths/Path@Cod='ICO') viene utilizzato l'attributo Value. 2) Se nel path indicato dall'attributo Value non c'è la cartella LOOCUP_ICO, viene ricercata nella cartella di installazione di loocup, la cartella LOOCUP_ICO/AMBIENTE. 3) Se non esiste la cartella al punto 2, si passa alla cartella di default.
Una volta identificata la posizone della cartella LOOCUP_ICO, come per la ricerca delle immagini, viene fatta una ricerca per risalita di tipo/parametro/codice all'interno della cartella LOOCUP_ICO, in modo da individuare il file fisico che contiene l'immagine da usare.
- Looc.up è installato nella directory LOOCUP, nell'esempio specifico C:/PROGRAMMI/LOOCUP.
- La directory di installazione LOOCUP contiene la directory LOOCUP_ICO che contiene le icone di default. Questa directory viene creata durante l'installazione iniziale di Loocup.
Tipi di icone
Le icone in Loocup possono rappresentare:
- oggetti
- funzioni (verbo/azione)
- comandi
Le icone-oggetto sono catalogate nelle diverse classi note di Smeup (AR per gli articoli, CN per i contatti ...). Le icone-funzione sono icone che rappresentano azioni generiche, che non sono associate ad un oggetto specifico. Ad esempio l'azione "taglia", l'azione "copia" generica. Queste icone sono catalogate con tipo J1 e parametro FUN. Le icone-comando sono icone che rappresentano comandi, ovvero azioni riferite ad un oggetto specifico. Ad esempio l'icona "copia testo" dovrà essere diversa dall'icona "copia cliente" poichè è differente l'oggetto a cui è riferita l'azione, e differente quindi il comando. Queste icone sono catalogate con tipo J1 e parametro KEY.
Meccanismo di ricerca delle icone
Ogni oggetto, comando e azione può avere icone specifiche o generiche definite da tipo/parametro/codice di appartenenza.
Se l'icona dell'oggetto (tipo/parametro/codice) così definita non è presente sul filesystem interviene la logica di risalita, che permette la ricerca di icone più generiche come l'icona dell'istanza (tipo/parametro) o l'icona ancora più generica della classe (tipo).
Si andrà quindi a ricercare l'icona rispettando il seguente ordine:
- tipo/parametro/codice icona specifica
- tipo/parametro/codice icona generica
- tipo/parametro icona specifica
- tipo/parametro icona generica
- tipo icona specifica
- tipo icona generica
Nel filesystem tipo/parametro/codice sono associati a cartelle e file. La ricerca dell'icona sarà quindi associata ai seguenti percorsi:
- LOOCUP_ICO\tipo\parametro\codice.gif
- LOOCUP_ICO\tipo\parametro\default.gif
- LOOCUP_ICO\tipo\parametro.gif
- LOOCUP_ICO\tipo\default.gif
- LOOCUP_ICO\tipo.gif
- LOOCUP_ICO\default.gif
Per avere performance maggiori le schede di Loocup leggono le icone da file DLL. La sostituzione e l'aggiunta delle icone nei percorsi specificati ha effetto sulle schede SOLO dopo la ricompilazione del file DLL. Per la parte Java le icone vengono lette all'avvio di Loocup, è quindi necessario solo il riavvio di Loocup perchè le modifiche sulle icone abbiano effetto.
Per ogni modifica sulle icone è consigliabile ricompilare anche il file DLL per non avere incongruenze tra Java e Delphi. |
Nei casi particolari delle icone di programma (come per esempio l'icona di Microsoft Word, Microsoft Office ...) l'icona viene richiesta direttamente al sistema operativo e non è quindi inclusa in nessun percorso di Loocup. |
Caratteri non consentiti nel percorso delle immagini
Qualora gli identificativi dell'oggetto di cui si sta ricercando l'immagine contengano caratteri non consentiti in un percorso di file system, tali caratteri andranno sostituiti con il carattere meno (-). Quindi tutte le icone dell'oggetto di tipo ** saranno contenute nella cartella --.
Ad esempio glli oggetti di tipo OJ;*USRPRF; avranno le loro icone nella cartella LOOCUP_ICO\OJ\-USRPRF\ .
il file DLL
Per avere performance maggiori le schede di Loocup leggono le icone da file DLL.
Per permettere alle schede di visualizzare icone modificate o aggiunte è necessario quindi aggiornare il file DLL con una compilazione.
Esiste un programma interno aziendale che permette la ricompilazione del file DLL.
- eventuale copia in locale di icone da includere nel file DLL e generazione del file delle risorse (RC file), premendo il tasto "crea RC file" ed eventualmente spuntando l'opzione "copia file da cartella sorgente" per la copia delle icone in locale (mostrato in figura ImgRef(RCFILE) )
- generazione del file DLL, premendo il tasto "crea DLL file" (mostrato in figura ImgRef(LOGFILE) )
- esportazione del file DLL nel percorso sorgente (generalmente il percorso di Loocup), premendo il tasto "esporta DLL file"
Le icone nei componenti
In alcuni componenti di Loocup è possibile visualizzare icone specifiche e generiche dell'oggetto come descritto. Inoltre, in alternativa, su alcuni componenti è anche possibile visualizzare delle icone differenti da quelle standard, semplicemente definendo nell'attributo i="..." del nodo dell'xml a cui appartiene l'oggetto, l'azione o il comando un percorso specifico dal quale attingere l'icona.
I bottoni
Nel componente bottone è possibile visualizzare icone oggetto in vari modi.
L'icona può dipendere esclusivamente dall'oggetto a cui fa riferimento il bottone: in questo caso l'xml del componente bottone vengono assegnati gli attributi tipo, parametro e codice dai quali è possibile risalire all'icona visualizzata.
...
<Oggetto Nome="Bottone" Tipo="CN" Parametro="CLI" Codice="" Testo="Bottone" />
...
In alternativa è possibile assegnare altre icone al componente assegnando all'attributo i='...' valori differenti. Le icone possono essere:
- icone dirette (es. : con i="M1")
- riferite ad oggetti (es. : con i="CN;CLI;001")
- specificando il pathfile (es. : con Tipo="J1" Parametro="PATHFILE" e i="*ICON_PATH\Verde.gif")
... <Oggetto Tipo="" Parametro="" Codice="" Testo="" i="M1" /> ... <Oggetto Tipo="" Parametro="" Codice="" Testo="" i="CN;CLI;001" /> ... <Oggetto Tipo="J1" Parametro="PATHFILE" Codice="" Testo="" i="*ICON_PATH\Verde.gif" /> ...
L'albero
Nel componente albero è possibile visualizzare icone generiche, icone oggetto o icone specifiche valorizzando nel setup l'attributo icone='...' con i seguenti valori:
- icone="no" per visualizzare le icone generiche dei nodi (la cartella per i nodi con figli, il punto per i nodi foglia senza figli)
- icone="yes" per visualizzare le icone oggetto che dipendono dal tipo, parametro e codice del nodo
- icone="specific" per visualizzare solo le icone specificate nell'attributo i='...' (vedi di seguito)
Nell'xml del componente albero vengono assegnati gli attributi tipo, parametro e codice dai quali è possibile risalire all'icona visualizzata. <Oggetto> ... <Oggetto Tipo="CN" Parametro="CLI" Codice="001" Testo="Cliente" /> ... </Oggetto>
- icone dirette (es. : con i="M1")
- riferite ad oggetti (es. : con i="CN;CLI;001")
- specificando il pathfile (es. : con Tipo="J1" Parametro="PATHFILE" e i="*ICON_PATH\Verde.gif")
<Oggetto> ... <Oggetto Tipo="" Parametro="" Codice="" Testo="Cliente" i="M1" /> <Oggetto Tipo="" Parametro="" Codice="" Testo="Cliente" i="CN;CLI;001" /> <Oggetto Tipo="J1" Parametro="PATHFILE" Codice="" Testo="Cliente" i="*ICON_PATH\Verde.gif" /> ... </Oggetto>
La matrice
Nel componente matrice è possibile visualizzare icone oggetto sull'intestazione o nella cella con i seguenti valori:
- iconeTesta="no" per non visualizzare le icone oggetto nell'inetastazione
- iconeTesta="yes" per visualizzare le icone oggetto nell'intestazione
- icone="no" per non visualizzare le icone oggetto nella cella
- icone="yes" per visualizzare le icone oggetto nella cella
Per visualizzare un'icona sull'intestazione della matrice è sufficiente assegnare all'attributo oggetto (ogg) della colonna l'oggetto a cui è riferita la colonna. Ad esempio per visualizzare nell'intestazione della colonna l'icona con tipo="CN" e parametro="CLI" è sufficiente scrivere nell'xml Ogg="CNCLI", come segue: <Griglia> ... <Colonna Cod="ID colonna" Txt="Descrizione colonna" Tip="" Lun="3" IO="O" Ogg="CNCLI" /> ... </Griglia>