Les fonctions du graphe sont contenues dans le module yChart.dhop.
Le fichier zchart.dhsp doit être inclus dans les programmes appelant. Ce fichier contient les définitions des options du graphe (et de ses sous-éléments) et les valeurs de ces options.
Fonctions du graphe
XmeChartGetId (masque, page, chartName) : permet de récupérer l'enregistrement d'un graphe associé à un nom et un masque d'écran. Rend un enregistrement de type IdChart du dictionnaire ddsys.dhsd.
XmeChartDisplay (&IdChart) : C'est la fonction d'actualisation du graphe (à appeler en fin de consult par exemple).
XmeChartSetOption (&IdChart, optionKey, OptionValue) : cette fonction permet de rajouter une option, ou de modifier une option du graphe. Chaque option est unique (modifier la valeur d'une option annulera et remplacera toujours la valeur précédente de cette même option).
XmeChartRemoveOption (&IdChart, optionKey) : cette fonction permet de supprimer une option du graphe.
Fonctions traitant les axes
XmeChartCreateAxisHmp (axisType, axisRole, axisMin, axisMax, axisStep, axisTitle, plotMode, labelFitMode, axisId, horizontalPosition, verticalPosition, dateFormat, nbDecimal, hideGraduation)
; construit la chaine Hmp correspondant à un axe décrit par les paramètres.
1 axisType N ; type de l'axe
1 axisRole N; rôle de l'axe
1 axisMin N = -1; minimum de l'axe
1 axisMax N = -1; maximum de l'axe
1 axisStep N = -1; pas
1 axisTitle A = ""; Titre de l'axe
1 plotMode N = -1; mode de positionnement des graduations de l'axe
1 labelFitMode N = -1; mode d'agencement des libellés des graduations de l'axe
1 axisId A = ""; id de l'axe (axe secondaire uniquement)
1 horizontalPosition N = -1; position horizontale de l'axe (à droite ou à gauche - axe vertical uniquement)
1 verticalPosition N = -1; position verticale de l'axe (en haut ou en bas - axe horizontal uniquement)
1 dateFormat A = ''; format d'affichage des dates (uniquement avec les axes temporels)
1 nbDecimal N = -1; nombre de décimales des graduations de l'axe.
1 hideGraduation B = FALSE ; booléen. Masquage des graduations de l'axe.
Crée la chaine Hmp pour les axes. Le type et le rôle de l'axe sont obligatoires.
Fonctions traitant les séries
XmeChartCreateCartesianSeriesHmp (seriesId, seriesType, seriesTitle, seriesColor, displayLabels, pointVisual, combineMode, vAxisId, hAxisId)
; construit la chaine Hmp correspondant à la série décrite par les paramètres.
1 seriesId 32 ; id de la série, obligatoire
1 seriesType N = CHART_OPTVAL_SERIES_TYPE_POINTS; type de la série
1 seriesTitle A = ""; titre de la série
1 seriesColor A = ""; couleur des points de la série (nom d'une couleur de la feuille de style)
1 displayLabels N = -1; affichage des libellés des points. 0=non, 1= oui.
1 pointVisual N = -1; code du visuel du point.
1 combineMode N =-1; mode de combinaison (graphe cartésien uniquement)
1 vAxisId A = ""; Identifiant de l'axe vertical attaché à cette série (axe secondaire uniquement)
1 hAxisId A = ""; Identifiant de l'axe horizontal attaché à cette série (axe secondaire uniquement)
XmeChartCreatePolarSeriesHmp (seriesId, seriesType, seriesTitle, seriesColor, displayLabels, pointVisual)
; construit la chaine Hmp correspondant à la série décrite par les paramètres.
1 seriesId32; id de la série, obligatoire
1 seriesType N = CHART_OPTVAL_SERIES_TYPE_POLAR_POINTS ; type de la série
1 seriesTitle A = ""; titre de la série
1 seriesColor A = ""; couleur des points de la série (nom d'une couleur de la feuille de style)
1 displayLabels N = -1; affichage des libellés des point. 0=non, 1= oui.
1 pointVisual N = -1; code du visuel du point.
XmeChartCreatePieSeriesHmp (seriesId, seriesType, seriesTitle, seriesColor, displayLabels, radiusRatio)
; construit la chaine Hmp correspondant à la série décrite par les paramètres.
1 seriesId32; id de la série, obligatoire
1 seriesType N = CHART_OPTVAL_SERIES_TYPE_PIE ; type de la série
1 seriesTitle A = ""; titre de la série
1 seriesColor A = ""; couleur des points de la série (nom d'une couleur de la feuille de style)
1 displayLabels N= -1; affichage des libellés des point. 0=non, 1= oui.
1 radiusRatio N = -1; dimension d'une PieSeries (proportion de l'espace disponible), PieSeries uniquement. Compris entre 0 et 1
L'id de série est obligatoire. C'est cet id qui permettra d'affecter les points à leur série coté Xwpf.
Fonctions traitant les points
L'ensemble des fonctions présentées dans ce paragraphe permettent de créer les chaines Hmp décrivant les points du graphe. Chacune correspond à un type de point donné et leur utilisation est contrainte par le choix du type de graphique et du type d'axe Par exemple, un graphe cartésien avec un axe des abscisses catégoriel et une série de type « Range » interdit l'utilisation de toutes les fonctions sauf XmeChartCreateRangePointHmp ou XmeChartCreateDateTimeRangePointHmp. et du type de série.
Pour toutes les fonctions de points, l'id de la série mère du point est obligatoire (sinon on ne sait plus affecter le point à sa série ultérieurement). Si le paramètre seriesId passé aux fonctions vaut « espace », la fonction retourne « espace » et le point poubellisé (coté diva). Si ce paramètre est invalide (i.e. ne correspond à l'id d'aucune série existante dans le graphe), le point est poubellisé (coté Xwpf).
L'id du point est facultative et n'est nécessaire que lorsqu'on souhaite récupérer les interactions utilisateur (clic, sélection).
XmeChartCreatePiePointHmp (pieValue, seriesId, pointId, pointLabel, pointColor, pointSelectionColor, tooltip, offsetFromCenter)
; crée la chaine Hmp décrivant un point d'un graphe de type Pie (camembert)
1 pieValue N ; valeur du point
1 pointId32 = "" ; identifiant du point
1 seriesId32 ; identifiant de la série mère
1 pointLabel A = "" ; libellé du point
1 pointColor A = "" ; couleur du point
1 pointSelectionColor A = ""; couleur de sélection du point
1 tooltip A = ""; Infobulle du point
1 offsetFromCenter N = -1 ; éloignement par rapport au centre (en pourcentage)
Crée un point pour une PieSeries ou une DoughnutSeries (PieChart uniquement)
XmeChartCreatePolarPointHmp (angleValue, polarValue, seriesId, pointId, pointLabel, pointColor, pointSelectionColor, tooltip)
; Crée la chaine Hmp point un point de graphe polaire
1 angleValue N; angle du point
1 polarValue N ; valeur du point
1 pointId32= ""; id du point
1 seriesId32; id de la série à laquelle le point appartient
1 pointLabel A= ""; libellé du point
1 pointColor A= ""; couleur du point
1 pointSelectionColor A = ""; couleur de sélection du point
1 tooltip A = ""; Infobulle du point
Crée un point pour une PolarSeries (PolarChart avec axe radial numérique uniquement).
XmeChartCreateRadarPointHmp (category, polarValue, seriesId, pointId, pointLabel, pointColor, pointSelectionColor, tooltip)
; Crée la chaine Hmp point un point de graphe Radar
1 category A; catégorie
1 polarValue N ; valeur du point
1 pointId 32 = "" ; identifiant du point
1 seriesId 32; identifiant de la série mère
1 pointLabel A = "" ; libellé du point
1 pointColor A = "" ; couleur du point
1 pointSelectionColorA = ""; couleur de sélection du point
1 tooltipA = ""; Infobulle du point
Crée un point pour une RadarSeries (PolarChart avec axe radial catégoriel uniquement).
XmeChartCreateCartesianPointHmp (xValue, yValue, seriesId, pointId, pointLabel, pointColor, pointSelectionColor, tooltip)
; crée la chaine Hmp décrivant un point d'un graphe cartésien, dont l'axe des abscisses est numérique (linéaire ou logarithmique)
1 xValue N; abscisse (numérique) du point
1 yValue N ; valeur du point
1 pointId 32 = ""; identifiant du point
1 seriesId 32; identifiant de la série mère
1 pointLabel A = ""; libellé du point
1 pointColor A = ""; couleur du point
1 pointSelectionColorA = ""; couleur de sélection du point
1 tooltipA = ""; Infobulle du point
Crée un point de graphe cartésien classique (coordonnée x et y).
Nécessite un axe des abscisses de type CHART_OPTVAL_AXIS_TYPE_LINEAR ou CHART_OPTVAL_AXIS_TYPE_LOGARITHMIC.
Compatible avec des séries de type :
CHART_OPTVAL_SERIES_TYPE_POINTS,
CHART_OPTVAL_SERIES_TYPE_LINE,
CHART_OPTVAL_SERIES_TYPE_AREA,
CHART_OPTVAL_SERIES_TYPE_SPLINE_LINE,
CHART_OPTVAL_SERIES_TYPE_SPLINE_AREA
XmeChartCreateCartesianCategoricalPointHmp (category, yValue, seriesId, pointId, pointLabel, pointColor, pointSelectionColor, tooltip)
; crée la chaine Hmp décrivant un point d'un graphe cartésien, dont l'axe des abscisses est catégoriel
1 category A; catégorie
1 yValue N; valeur du point
1 pointId 32= ""; identifiant du point
1 seriesId 32; identifiant de la série mère
1 pointLabel A = ""; libellé du point
1 pointColor A = ""; couleur du point
1 pointSelectionColorA = ""; couleur de sélection du point
1 tooltipA = ""; Infobulle du point
Crée un point de graphe cartésien dont l'axe des abscisses est (obligatoirement) catégoriel (CHART_OPTVAL_AXIS_TYPE_CATEGORICAL ou CHART_OPTVAL_AXIS_TYPE_DATETIME_CATEGORICAL).
Compatible avec des séries de type :
CHART_OPTVAL_SERIES_TYPE_POINTS,
CHART_OPTVAL_SERIES_TYPE_LINE,
CHART_OPTVAL_SERIES_TYPE_AREA,
CHART_OPTVAL_SERIES_TYPE_SPLINE_LINE,
CHART_OPTVAL_SERIES_TYPE_SPLINE_AREA
CHART_OPTVAL_SERIES_TYPE_STEP_LINE
CHART_OPTVAL_SERIES_TYPE_STEP_AREA
CHART_OPTVAL_SERIES_TYPE_BAR
XmeChartCreateRangePointHmp (category, minValue, maxValue, seriesId, pointId, pointLabel, pointColor, pointSelectionColor, tooltip)
; crée la chaine Hmp décrivant un point d'un graphe cartésien, dont l'axe des abscisses est catégoriel, et pour une série de type plage (Range, RangeBar, SplineRange)
1 category A; catégorie
1 minValue N ; minimum
1 maxValue N; maximum
1 pointId 32 = ""; identifiant du point
1 seriesId 32; identifiant de la série mère
1 pointLabel A = ""; libellé du point
1 pointColor A = ""; couleur du point
1 pointSelectionColorA = ""; couleur de sélection du point
1 tooltipA = ""; Infobulle du point
Crée un point de type range pour un graphe cartésien dont l'axe des abscisses est catégoriel.
Nécessite un axe des abscisses catégoriel.
Compatible avec des séries de type :
CHART_OPTVAL_SERIES_TYPE_RANGE
CHART_OPTVAL_SERIES_TYPE_SPLINE_RANGE
CHART_OPTVAL_SERIES_TYPE_RANGE_BAR
XmeChartCreateOhlcPointHmp (category, minValue, maxValue, openValue, closeValue, seriesId, pointId, pointLabel, pointColor)
; Crée la chaine Hmp décrivant un point OHLC (donnée boursière)
1 category A; catégorie
1 minValue N ; minimum
1 maxValue N ; maximum
1 openValue N ; valeur d'ouverture
1 closeValue N ; valeur de clôture
1 pointId 32 = ""; identifiant du point
1 seriesId 32; identifiant de la série mère
1 pointLabel A = ""; libellé du point
1 pointColor A = ""; couleur du point
1 pointSelectionColorA = ""; couleur de sélection du point
1 tooltipA = ""; Infobulle du point
XmeChartCreateCandlestickPointHmp (category, minValue, maxValue, openValue, closeValue, seriesId, pointId, pointLabel, pointColor, pointSelectionColor, tooltip)
Ces deux fonctions créent les chaines Hmp pour des données boursières (ouverture, clôture, haut et bas) et ne diffèrent que par le rendu visuel des points.
Elles nécessitent un graphe cartésien et un axe des abscisses catégoriel.
Compatibles avec des séries de type :
CHART_OPTVAL_SERIES_TYPE_CANDLESTICK
CHART_OPTVAL_SERIES_TYPE_OHLC
XmeChartCreateDateTimePointHmp (date, yValue, seriesId, pointId, pointLabel, pointColor, pointSelectionColor, tooltip)
; crée la chaine Hmp décrivant un point d'un graphe cartésien dont l'abscisse est une donnée temporelle (DH)
1 yValue N ; ordonnée du point
1 pointId 32 = ""; identifiant du point
1 seriesId 32; identifiant de la série mère
1 pointLabel A = ""; libellé du point
1 pointColor A = ""; couleur du point
1 pointSelectionColorA = ""; couleur de sélection du point
1 tooltipA = ""; Infobulle du point
1 date DH; abscisse du point (DH)
Crée un point de graphe cartésien dont l'abscisse est une dateheure.
L'axe des abscisses doit être de type CHART_OPTVAL_AXIS_TYPE_DATETIME_CATEGORICAL ou CHART_OPTVAL_AXIS_TYPE_DATETIME_CONTINUOUS.
Compatible avec les séries de type :
CHART_OPTVAL_SERIES_TYPE_POINTS
CHART_OPTVAL_SERIES_TYPE_LINE
CHART_OPTVAL_SERIES_TYPE_AREA
CHART_OPTVAL_SERIES_TYPE_SPLINE_LINE
CHART_OPTVAL_SERIES_TYPE_SPLINE _AREA
CHART_OPTVAL_SERIES_TYPE_BAR (seulement si axe de type CHART_OPTVAL_AXIS_TYPE_DATETIME_CATEGORICAL)
XmeChartCreateDateTimeRangePointHmp (date, minValue, maxValue, seriesId, pointId, pointLabel, pointColor, pointSelectionColor, tooltip)
; crée la chaine Hmp décrivant un point de type RANGE d'un graphe cartésien dont l'abscisse est une donnée temporelle (DH)
1 minValue N ; minimum
1 maxValue N ; maximum
1 pointId32 = ""; identifiant du point
1 seriesId32; identifiant de la série mère
1 pointLabel A = ""; libellé du point
1 pointColor A = ""; couleur du point
1 pointSelectionColorA = ""; couleur de sélection du point
1 tooltipA = ""; Infobulle du point
1 date DH; abscisse du point (DH)
Crée un point de type range pour un graphe cartésien dont l'axe des abscisses est catégoriel ou CHART_OPTVAL_AXIS_TYPE_DATETIME_CATEGORICAL.
Compatible avec des séries de type :
CHART_OPTVAL_SERIES_TYPE_RANGE
CHART_OPTVAL_SERIES_TYPE_SPLINE_RANGE
CHART_OPTVAL_SERIES_TYPE_RANGE_BAR
XmeChartCreateDateTimeCandlestickPointHmp (date, minValue, maxValue, openValue, closeValue, seriesId, pointId, pointLabel, pointColor, pointSelectionColor, tooltip)
; crée la chaine Hmp décrivant un point de type Candlestick d'un graphe cartésien dont l'abscisse est une donnée temporelle (DH)
1 minValue N ; minimum
1 maxValue N ; maximum
1 openValue N ; valeur d'ouverture
1 closeValue N ; valeur de clôture
1 pointId32 = ""; identifiant du point
1 seriesId32; identifiant de la série mère
1 pointLabel A = ""; libellé du point
1 pointColor A = ""; couleur du point
1 pointSelectionColorA = ""; couleur de sélection du point
1 tooltipA = ""; Infobulle du point
1 date DH; abscisse du point (DH)
XmeChartCreateDateTimeOhlcPointHmp (date, minValue, maxValue, openValue, closeValue, seriesId, pointId, pointLabel, pointColor, pointSelectionColor, tooltip)
Crée un point de type Candlestick ou OHLC pour un graphe cartésien dont l'axe des abscisses est catégoriel ou CHART_OPTVAL_AXIS_TYPE_DATETIME_CATEGORICAL.
Compatibles avec des séries de type :
CHART_OPTVAL_SERIES_TYPE_CANDLESTICK
CHART_OPTVAL_SERIES_TYPE_OHLC
A propos des fonctions
Les fonctions présentées ci-dessus ne sont que des fonctions support pour créer les chaines Hmp sans écrire du Hmp dans le programme appelant et assurant la validité du Hmp créé.
En revanche, elles ne touchent pas au graphe directement : elles ne font ni ajout ni suppression, ni modification du contenu des listes du graphe. Il appartient au développeur diva de réaliser les opérations d'ajout, de suppression ou de modification nécessaires via les fonctions de listes usuelles.
Les fonctions retournent <espace> lorsque l'identifiant clé de l'élément créé manque (id de série pour les créations de séries, de point, rôle et type de l'axe pour la création d'un axe).
La liste des options et des valeurs d'options est disponible dans le fichier zchart.dhsp