Le Rule di tipo Others consentono di dotare ogni grafico delle seguenti componenti aggiuntive, quali:
✓ Annotation, annotazione contenente testi o immagini da visualizzare all'interno della Chart Area corrente oppure in corrispondenza di Element;
✓ Background, sfondo personalizzabile che può essere applicato a tutte le componenti che dispongono di uno sfondo modificabile, quali Chart e Chart Area;
✓ Label, etichetta personalizzabile che può essere associata ad ogni componente che disponga di un campo di testo libero, quali i titoli o annotazioni;
✓ Line, stile grafico che può essere applicato alle linee che caratterizzano altre componenti, quali contorni o linee separatici;
✓ Shadow, stile grafico da applicare sull'ombreggiatura di componenti racchiuse da riquadri, quali Chart e Legend Box;
✓ Smart Label, etichetta personalizzabile di un Element che dispone di alcuni opzioni avanzate su allineamento e posizionamento;
✓ Truncation, modalità di troncamento da applicare alle etichette di altre componenti;
✓ ZoomChartArea, Chart Area secondaria in cui viene espansa un'area della Chart Area primaria, corrispondente ad un determinato intervallo di valori lungo uno degli assi.
Una Rule di tipo Annotation consente di visualizzare nella Chart Area corrente, eventualmente associate agli Element esposti, annotazioni contenenti testi o immagini.
La proprietà Annotation di un Element consente di associarvi una componente di tipo Annotation, mediante la Key della Rule che la definisce. |
Ogni componente di tipo Annotation è pienamente caratterizzata dalle seguenti proprietà:
✓ Label consente di impostare il contenuto testuale dell'annotazione corrente;
✓ Size determina la dimensione in pixel di larghezza e altezza del riquadro contenente l'annotazione corrente;
✓ Tooltip definisce il tooltip da visualizzare contestualmente ad ogni Element rappresentato sul Chart.
La proprietà Size deve essere valorizzata con una coppia di numeri separati da virgola. |
La proprietà Label può:
✓ essere valorizzate manualmente dall'utente;
✓ richiamare una componente di tipo Label.
In particolare, per richiamare la componente associata, è necessario specificare la Key della Rule con cui essa è stata definita.
In caso l'annotazione sia associata ad un particolare Element, è possibile modificarne la posizione relativa al valore rappresentato sul grafico, mediante la proprietà Orientation. Viceversa, la posizione di un'annotazione, all'interno della Chart Area corrente, è determinata dalla proprietà Position. Essa ammette una coppia di valori separati da una virgola, rappresentanti le distanze verticali e orizzontali dall'angolo in alto a sinistra della Chart Area.
Ogni annotazione è inserita all'interno di un apposito riquadro, il cui aspetto grafico può essere personalizzato dalle seguenti proprietà:
✓ Header definisce testo ed aspetto grafico dell'intestazione del riquadro;
✓ Background definisce l'aspetto grafico dello sfondo del riquadro;
✓ CornerBottomLeft, CornerBottomRight, CornerTopLeft e CornerTopRight impostano la forma dei quattro angoli del riquadro;
✓ Line definisce l'aspetto grafico del contorno del riquadro;
✓ Shadow definisce l'aspetto grafico dell'ombreggiatura del riquadro.
La proprietà Header dispone degli attributi Label e Background, mediante i quali definire, rispettivamente, il testo e lo sfondo dell'intestazione della Annotation corrente. Questi attributi possono essere modificati anche mediante le proprietà HeaderLable e HeaderBackground. Tuttavia gli attributi interni alla proprietà Header, se impostati, sovrascrivono le corrispondenti proprietà. |
La proprietà Background può:
✓ essere valorizzate manualmente dall'utente;
✓ richiamare una componente di tipo Background.
In particolare, per richiamare la componente associata, è necessario specificare la Key della Rule con cui essa è stata definita.
Inoltre, la proprietà Background può impostare sfondi definiti come immagini, mediante l'attributo Mode. In particolare è necessario:
✓ impostare la proprietà Mode a Image, ImageStretch o ImageTile;
✓ specificare il percorso assoluto dell'immagine desiderata nell'attributo ImagePath della proprietà Background.
La modalità Image centra l'immagine rispetto allo sfondo del riquadro. La modalità ImageStretch allarga l'immagine per riempire tutto lo sfondo del riquadro. La modalità ImageTile affianca due o più copie dell'immagine fino a riempire tutto lo sfondo del riquadro. |
È anche possibile riempire lo sfondo con una trama personalizzata, mediante la proprietà Hatch Style. essa consente di scegliere, da un'apposita drop-down, la trama da utilizzare. La proprietà Hatch Color, invece, permette di impostare il colore con cui rappresentare tale trama.
Le proprietà CornerBottomLeft, CornerBottomRight, CornerTopLeft e CornerTopRight possono assumere i seguenti valori:
✓ Square rende l'angolo rettangolare;
✓ Cut taglia l'angolo;
✓ Round arrotonda l'angolo.
La dimensione delle forme Cut e Round può essere personalizzata mediante la proprietà CornerSize, che può assumere valori interi compresi tra 0 e 8.
La proprietà Line può:
✓ essere valorizzate manualmente dall'utente;
✓ richiamare una componente di tipo Line.
In particolare, per richiamare la componente associata, è necessario specificare la Key della Rule con cui essa è stata definita.
Analogamente anche la proprietà Shadow può:
✓ essere valorizzata manualmente dall'utente;
✓ richiamare una componente di tipo Shadow.
Su ogni componente di tipo Annotation è anche possibile definire elementi dinamici e sincronizzati, mediante le proprietà:
✓ ClickAction definisce l'azione da eseguire, quando l'annotazione corrente viene selezionata con il tasto sinistro del mouse;
✓ DynamicSize consente di rendere dinamiche le dimensioni dell'annotazione, relativamente al testo in essa contenuto.
La proprietà ClickAction consente di definire le seguenti tipologie di azioni (ActionType):
✓ None non esegue alcuna azione;
✓ SelectCurrent seleziona il record relativo all'Element, a cui l'annotazione è associata;
✓ RunCommand esegue uno specifico Command del Book sottostante;
✓ SelectAndRun combina SelectCurrent e RunCommand.
In particolare, se la ActionType è RunCommand o SelectAndRun, l'attributo CommandName consente di specificare il nome del Command da eseguire.
Infine è anche possibile nascondere eventuali annotazioni, impostando a False la proprietà Visible.
Una Rule di tipo Background consente di definire uno sfondo personalizzato da applicare a tutte le componenti che dispongono di uno sfondo modificabile, quali Chart e Chart Area.
In particolare una componente di tipo Background può definire sfondi caratterizzati da un colore, un gradiente di colori o un'immagine, mediante la proprietà Mode. Essa può assumere i valori:
✓ Color caratterizza lo sfondo con un unico colore;
✓ Gradient caratterizza lo sfondo con il gradiente di due colori distinti;
✓ Image caratterizza lo sfondo mediante un'immagine centrata rispetto allo spazio disponibile ;
✓ ImageStretch riempe tutto lo sfondo con un'immagine, deformandola se necessario;
✓ ImageTile riempe tutto lo sfondo, affiancando due o più copie di una stessa immagine fino a ricoprire tutto lo spazio disponibile.
La modalità Color può essere personalizzata mediante le seguenti proprietà:
✓ Color, colore primario dello sfondo;
✓ GlassEffect, e ShadingEffect, particolari giochi di colore preimpostati;
✓ Trasparency, trasparenza del colore primario.
La proprietà GlassEffect sovrascrive la proprietà ShadingEffect. Viceversa, a proprietà Trasparency è efficace solo in caso le proprietà GlassEffect e ShadingEffect siano entrambe disabilitate. |
La modalità Gradient può essere personalizzata mediante le seguenti proprietà:
✓ Color, colore primario del gradiente usato come sfondo;
✓ SecondaryColor, colore secondario del gradiente usato come sfondo;
✓ GradientAngle, angolo rispetto al quale realizzare il gradiente tra due colori.
Infine la proprietà ImagePath consente di specificare il percorso assoluto all'immagine che caratterizza le modalità Image, ImageStretch o ImageTile.
Una Rule di tipo Label consente di definire etichette personalizzate da associare ad ogni componente che disponga di un campo di testo libero, quali i titoli o annotazioni.
Le principali proprietà con cui personalizzare una componente di tipo Label sono:
✓ LineAlignement e Alignment allineano l'etichetta all'interno dello spazio a disposizione;
✓ Font imposta tipo e dimensione dei caratteri;
✓ Color definisce il colore dei caratteri;
✓ Text specifica il testo dell'etichetta;
✓ Truncation imposta dinamicamente la modalità di troncamento dell'etichetta, qualora ecceda lo spazio disponibile.
La proprietà LineAlignement definisce la posizione all'interno dello spazio disponibile della riga contenente l'etichetta. La proprietà Alignement definisce, invece, la posizione dell'etichetta all'interno della riga. |
La proprietà Truncation può:
✓ essere valorizzate manualmente dall'utente;
✓ richiamare una componente di tipo Truncation.
In particolare, per richiamare la componente associata, è necessario specificare la Key della Rule con cui essa è stata definita.
Il testo specificato nella proprietà Text può essere fisso oppure dinamico. Per comporre un'etichetta dinamica è necessario utilizzare opportune variabili di sistema associate agli attributi degli Element presenti sul Chart corrente. Tali variabili assumono la forma %AttributeName (e.g. %Name, %YValue, %XValue).
Inoltre, è anche possibile gestire la suddivisione del testo all'interno dello spazio disponibile mediante le proprietà:
✓ AutoWrap, se abilitata, permette al testo di andare a capo automaticamente in base allo spazio disponibile;
✓ Truncation consente di definire la modalità di troncamento delle etichette, in caso esse eccedano una lunghezza massima predefinita.
Una Rule di tipo Line premette di impostare uno stile grafico da applicare alle linee che caratterizzano altre componenti, quali contorni o linee separatici.
Le principali proprietà con cui personalizzare una componente di tipo Line sono:
✓ Color imposta il colore della linea;
✓ DashStyle definisce lo stile grafico (e.g. Dotted, Dashed o Solid) della linea;
✓ Trasparency imposta la trasparenza del colore con cui la linea viene rappresentato sul Chart;
✓ Length specifica la lunghezza della linea;
✓ Width specifica lo spessore della linea.
Gli estremi di ogni linea possono essere ulteriormente personalizzati con simboli speciali, mediante le proprietà EndCap e StartCap.
Inoltre, è anche possibile nascondere una linea, impostando a False la proprietà Visible.
Una Rule di tipo Shadow consente di impostare lo stile grafico da applicare all'ombreggiatura di componenti racchiuse da riquadri, quali Chart e Legend Box.
Le proprietà che consentono di personalizzare una componente di tipo Shadow sono:
✓ Color imposta il colore dell'ombreggiatura;
✓ Depth definisce la profondità dell'ombreggiatura, rispetto al riquadro ad essa associato;
✓ Soft consente di sfumare il il colore dell'ombreggiatura.
Inoltre, è anche possibile nascondere una linea, impostando a False la proprietà Visible.
Una Rule di tipo Smart Label permette di definire etichette personalizzabili per un Element. In particolare, tali etichette dispongono delle stesse proprietà di una componente di tipo Label, più alcune opzioni avanzate per l'allineamento ed il posizionamento.
Ogni Rule di tipo Smart Label è efficace solo quando la proprietà ShowValue, del corrispondente Element, è impostata a True. Inoltre, in qualità di attributo di un Element, deve impostare: ✓ come TableName, la tabella del Model associata dall'Element; ✓ come Key, il nome del campo rappresentato dall'Element sul Chart. |
Le proprietà caratteristiche di una componente di tipo Smart Label sono:
✓ AbsolutePosition definisce una posizione fissa per tutte le etichette, come distanza dall'angolo in alto a sinistra della Chart Area sotto forma di coppie di numeri;
✓ DynamicDisplay consente di visualizzare le etichette anche in assenza di spazio;
✓ DynamicPosition modifica opportunamente il posizionamento delle etichette per evitare che esse si sovrappongano;
✓ DistanceMaximum definisce la distanza massima in pixel tra etichetta ed Element, in caso sia abilitata la proprietà DynamicPosition;
✓ ForceVertical consente di scrivere le etichette in verticale.
In caso il grafico sia di tipo Torta, Ciambella o Radar è possibile specializzare il posizionamento delle etichette mediante le proprietà PieLabelMode e RadarLabelMode.
La proprietà PieLabelMode consente di modificare la posizione delle etichette rispetto alle corrispondenti fette di un grafico a torta o a ciambella. Essa può assumere i valori:
✓ Inside visualizza le etichette all'interno delle corrispondenti fette;
✓ Outside visualizza le etichette all'esterno delle corrispondenti fette;
✓ Automatic visualizza le etichette nella posizione più opportuna rispetto al grafico corrente.
Una Rule di tipo Truncation consente di definire la modalità di troncamento da applicare alle etichette di altre componenti.
Le proprietà che consentono di personalizzare una componente di tipo Truncation sono:
✓ Length, numero massimo di caratteri ammessi per l'etichetta corrente;
✓ Mode, modalità di troncamento dell'etichetta;
✓ Text, testo da sostituire alla parte di etichetta eliminata.
La porprietà Mode specifica quale parte di etichetta eliminare per rispettare la lunghezza massima definita da Length. Esso può assumere i valori:
✓ Start elimina dall'etichetta i suoi caratteri iniziali;
✓ Middle elimina dall'etichetta i suoi caratteri centrali;
✓ End elimina dall'etichetta i suoi caratteri finali;
✓ StartEnd elimina, in modo simmetrico, caratteri iniziali e finali dell'etichetta;
✓ None disabilita il troncamento dell'etichetta.
Una Rule di tipo ZoomChartArea permette di creare una Chart Area secondaria, in cui viene espandere una specifica porzione della Chart Area primaria, corrispondente ad un determinato intervallo di valori lungo uno degli assi.
Le proprietà che consentono di caratterizzare una componente di tipo Zoom Chart Area sono:
✓ InputChartAream, Key della ChartArea primaria;
✓ ZoomOrientation, asse sul quale definire l'intervallo corrispondente alla porzione di ChartArea da espandere;
✓ ZoomRange, intervallo di valori corrispondente alla porzione di ChartArea da espandere;
Lo ZoomRange può essere definito come:
✓ intervallo numerico in caso l'asse di riferimento sia di tipo quantitativo;
✓ intervallo alfabetico in caso l'asse di riferimento sia di tipo qualitativo;
✓ intervallo temporale in caso l'asse di riferimento sia di tipo temporale.
Infine la proprietà ZoomLine consente di personalizzare l'aspetto grafico:
✓ della linea che identifica la porzione espansa sulla ChartArea primaria;
✓ della ChartArea secondaria.