home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
The CDPD Public Domain Collection for CDTV 4
/
CDPD_IV.bin
/
fish
/
911-930
/
ff926
/
jcgraph
/
docs
/
manuelfrancais.txt
< prev
next >
Wrap
Text File
|
1994-05-04
|
45KB
|
1,073 lines
JcGraph
(Demo v0.903 sur FredFish 671)
(Demo v1.100 sur FredFish 760)
Copyright 1992, Jean-Christophe Clément
Internet: clemj00@dmi.usherb.ca
Amiga, AmigaDos, WorkBench are a trademark of Commodore-Amiga Inc.
PostScript is a trademark of Adobe system corp.
Professionnal Page is a trademark of Gold Disk Inc.
PageStream is a trademark of Soft-Logik corp.
Saxon Publisher is a trademark of Saxon Industries Inc.
AegisDraw2000 is a trademark of Oxxi/Aegis Inc.
Advantage is a trademark of Gold Disk Inc.
File requester: Copyright 1990 Khalid Aldosery.
Systeme HyperTexte utilisant HyperText de Dominic Giampaolo.
ATTENTION:
Ce logiciel est librement distribuable mais est toujours sous la
protection du copyright a son auteur: Jean-Christophe Clement.
Table des matières:
-------------------
0.Introduction.
1.Configuration matérielle et logicielle requise.
2.Installation de JcGraph.
3.Exemple de création d'un graphique, étape par étape.
4.Sommaire des options de menu.
5.Fenêtre de contrôle.
6.Format de fichier en entrée de JcGraph.
7.Format de fichier en sortie de JcGraph.
8.Modification du graphique.
9.Equivalents clavier.
10.Sélécteur de palette de couleurs.
11.Options de TOOLTYPE et ligne de commande.
12.Interface ARexx.
13.Format des types de graphiques.
14.Indices sur les améliorations prevues pour JcGraph.
15.Histoire de JcGraph.
0.Introduction:
---------------
a.Bref aperçu.
Spécialisé dans les graphes d'affaires, JcGraph pourra, entre autres,
représenter vos données sous formes de tartes,barres,lignes, barres 3D, plans,
piles, etc...et permet la rotation en X, Y, Z autour du graphe créé ainsi que
la sortie aux formats: PostScript Encapsulé, Geo 3D, AegisDraw2000 et
IFF ILBM.
b.Pourquoi avoir créé JcGraph ?
Parce qu'après avoir tenté de trouver un programme commercial,
shareware ou du domaine public qui ferait des graphiques de présentation de
qualité comparable à ce qui se fait sur les compatibles IBM ou sur Macintosh,
j'en suis venu à la conclusion qu'un tel programme n'existait pas pour
l'Amiga. Et considérant l'orientation "MultiMédia" de notre machine, il est
temps que ca change.
c.La philosophie derrière JcGraph.
Le but premier de JcGraph est de créer des graphiques de présentation
d'affaire qui aient le plus grand impact visuel possible en un minimum
d'efforts.
Je me suis donc posé la question suivante: "Qu'est ce qui est le plus
difficile à réaliser, sans outil autre qu'un programme de dessin, lors de la
réalisation de graphiques d'affaire ?". La réponse est assez simple:
Le graphique lui-même! En effet, une fois que le graphe est réalisé, il est
très simple de rajouter un fond de couleurs graduées, des titres et
annotations, et cela, avec n'importe quel programme de traitement d'images
alors que le graphe lui-même (d'autant plus s'il est en perspective) peut
exiger de nombreuses heures.
Donc, JcGraph reflète cette philosophie de travail par la variété et la
qualité des graphes produits et la flexibilité de ses formats en sortie qui
accomoderont les besoins de la plupart de ses utilisateurs en permettant
l'ajout de détails dans des programmes spécialisés.
d. Conformité au standard de programmation de l'interface.
J'ai essayé de me conformer le plus possible aux standards promus par
Commodore. Compte tenu des ressources limitées que j'avais à investir dans
JcGraph, je crois que l'objectif a été atteint.
1.Configuration matérielle et logicielle recquise:
--------------------------------------------------
Minimale:
N'importe quel modèle d'Amiga.
1meg de memoire RAM.
WorkBench 1.3 et plus.
1 lecteur de disquettes.
Recommandé:
Amiga accéléré.
1.5+ meg RAM.
WorkBench 2.0+.
Disque-Rigide.
JcGraph à été testé et jugé complètement fonctionnel sur les machines
suivantes:
-Amiga 500, 1 disque-souple, 1 meg RAM, WB 1.3, 68000.
-Amiga 2000HD, 52 Megs HD, 3 megs RAM, WB 2.0, 68000.
-Amiga 3000/16, 50 Megs HD, 2 megs RAM, WB 2.0, 68030/16Mhz
-J'ai remarqué certains problèmes de fonctionnements avec les nouvelles
puces AGA en 256 couleurs, veuillez donc prendre pour acquit que ces
modes ne sont pas supportés.
2.Installation de JcGraph.
--------------------------
A-Assignation logique requise:
------------------------------
Par exemple: Si vous copiez JcGraph dans le répertoire "Work:MyJcGraph",
ajoutez cette ligne à votre fichier "s:startup-sequence":
"assign JcGraph: Work:MyJcGraph".
B-Répertoire et fichier requis (après avoir fait l'étape A)
-----------------------------------------------------------
libs:icon.library :Sur le WB 1.3 (en ROM sous 2.0).
libs:kd_freq.library :Librairie pour les requêtes de fichier.
libs:IffParse.library ;Librairie pour les fichiers IFF ILBM.
JcGraph:Graphtype :Répertoire des types de graphes.
JcGraph:Template :Répertoire des "Templates".
JcGraph:HelpFile :Répertoire des fichiers d'aide.
JcGraph:Rexx :Répertoire des fichiers ARexx.
JcGraph:HelpFile/ht :Programme d'aide en ligne.
JcGraph:JcGraph :Le programme principal.
Si vous ne l'avez pas encore fait, allez dans le répertoire jcgraph:libs et
faites la commande "copy #?.library libs". Voilà, tout est prêt. Il est à
noter que je ne peux (pour des raisons légales) distribuer la librairie
"IffParse.library" et vous devrez donc vous la procurer autrement.
3.Exemple de création d'un graphique, étape par étape:
------------------------------------------------------
Nous allons créer un graphique fait de 3 rangées de 3 plans chacune et
en faire la sortie au format AegisDraw2000.
La première étape est la création des données. Pour ce faire, utilisez
votre éditeur de textes préféré. Il est important de noter que celui-ci doit
pouvoir produire un fichier exempt de tous caractères spéciaux d'édition qui
ne seraient pas reconnus par JcGraph (ASCII international).
Après avoir chargé votre éditeur, entrez tout de suite "1002," (les
guillemets n'étant que des délimiteurs, ne les incluez pas. Cette séquence
permet à JcGraph d'identifier le fichier comme étant bel et bien un fichier
de données qui lui est compréhensible. Toutes les entréed doivent êtres
séparées par des virgules.
Ensuite, entrez le nombre de colonnes de données que contiendra votre
fichier, dans notre exemple "3". Faites la même chose pour le nombre de
lignes. Ensuite, vient un chiffre qui sert à déterminer l'espace séparant
chaque cote de l'échelle des valeurs; par exemple, si vos données varient
entre 0 à 100, une entrée de 25 résulterait en une échelle de cotes
contenant les valeurs "0","25","50","75" et "100". Ce chiffre utilise la
même unité de mesure que les données elles-mêmes. Le chiffre qui suivra
indiquera (par un nombre en virgule flottante), la valeur par laquelle
chaque cote doit être multipliée; par exemple, si vous entrez "1.24",
chaque cote sera multipliée par 1.24. Ceci permet d'avoir accès à des
valeurs en virgule flottante sans changer la représentation des données.
Notez que seulement 3 décimales sont conservées après le point pour
l'instant et qu'une valeur de 0 permet l'affichage des cotes sous la forme
entière (i.e. pas de point décimal).
Par la suite, vous entrez les valeurs de vos données. Dans l'exemple,
nous avons décidé de produire un graphique de 3 lignes par 3 colonnes, il y
aura donc, 9 valeurs consécutives (N.B. elles peuvent être sur la même ligne
si vous le désirez).
Les trois valeurs qui suivent sont des textes qui seront les
identificateurs de vos colonnes (3 colonnes = toujours 3 identificateurs,
même s'ils sont vides). Même procédure pour les 3 lignes avec trois nouveaux
textes qui représenteront cette fois le type de produit de la ligne. Il est
à noter que l'orientation est toujours la même: des ensembles de valeurs
différentes sont sur des lignes différentes alors que leur variation est
représentée en colonne.
Voici le résultat de l'exemple créé:
1002,
3,3,10,0,
10,20,30,
50,60,60,
15,32,17,
Jan,Fev,Mar,
Gaz,Oil,Fer,
Sauvegardez ce résultat sous le nom "test3X3.asc".
La seconde étape consiste à charger les données. Pour ce faire, chargez
JcGraph en mémoire. Il est à noter qu'une fois JcGraph démarré, il peut
s'écouler 3 à 5 secondes avant que les fenêtres de contrôle apparaîssent;
ceci est normal.
Maintenant, allez choisir l'option "Open..." sous le menu "Project" (Ou
tenez simplement enfoncées les touches Amiga de droite et "O" simultanément.
IMPORTANT: Il est à noter que JcGraph n'accepte les commandes que depuis
la fenêtre d'interface (celle avec les différents boutons), il est donc
nécessaire de la sélectionner (si ce n'est déjà fait) avant de tenter
d'exécuter quelqu'opération que ce soit qui nécéssite le travail sur le
graphique en cours. Il faut aussi noter qui la fenêtre d'interface affiche
la mention "No Data" dans sa barre titre lorsqu'aucune donnée n'a été chargée
en mémoire.
Une boîte de requête de fichier ayant la mention "Choose an ASCII data
file" apparaîtra alors à votre écran. Son utilisation n'est pas décrite ici
mais vous pouvez retrouver cette information en appuyant la touche HELP ou
SHIFT-F1 lorsqu'elle est active.
Retrouvez et sélectionnez le fichier "test3X3.asc" et sélectionnez
ensuite l'option "Open" au bas de la fenêtre. Le pointeur de la souris ce
transformera alors en horlogge pendant le chargement. Après un temps très
court, il reviendra à son état inital, vous indiquant ainsi que les données
ont été correctement chargées (La barre de titre de la fenêtre d'interface
devrait alors indiquer le nom de votre fichier).
La fenêtre titrée "Preview" nous donne un apperçu en fil de fer de ce
que sera notre graphique une fois terminé. Bien entendu, la version finale
ne sera pas transparente mais pour fin de rapidité d'affichage, cette
représentation est nécéssaire.
Comme vous pouvez le constater dans la fenêtre "Preview", le type de
graphique par défaut représente les données sous forme de blocs
tri-dimensionnels. Choisissons donc maintenant un type de graphique
différent pour illustrer le processus de changement de type. Allez choisir
l'option "Load..." sous le menu "GraphType" (Amiga+T). Un autre sélecteur
de fichier apparaîtra à l'écran. Si tout va bien, une liste de fichier se
terminant par l'extension ".grf" devrait être affichée à l'écran. Si aucune
entrée sélectionnable n'apparaît dans la fenêtre, vous avez probablement
fait une erreur en installant JcGraph, référez-vous alors à la section 2.
Vous pouvez alors choisir le type de graphique qui vous convient. Pour
fin d'exemple, selectionnez le fichier "3D_BrokenPlanes.grf" et poussez
ensuite le bouton "Load". Après un petit moment d'attente, la fenêtre
titrée "Preview" devrait affiché un graphique fait de plans
tri-dimmensionnels.
La perspective actuelle de l'image ne permet pas très bien d'apprécier
l'effet 3D de la représentation graphique. Pour l'améliorer, nous
utiliserons une des fonctions les plus puissantes de JcGraph, la rotation.
Regardez maintenant dans la fenêtre d'interface; elle est divisée en 2
sections importantes:
1.à gauche, il y a deux boutons annotés "Undo" et "Render". Nous y
reviendrons plus loin.
2.à droite, il y a 4 rangées de boutons, celles-ci contrôlent les valeurs
de rotation de perspective de la représentation de votre graphique.
Rangée 1: Rotation autour de l'axe des X.
Rangée 2: Rotation autour de l'axe des Y.
Rangée 3: Rotation autour de l'axe des Z.
Rangée 4: Contrôle de la perspective.
Pour fin d'exemple, nous ne nous étendrons pas plus sur ces
fonctionnalités pour le moment (qui sont décrites dans la section 5). Pour
le moment, selectionnez simplement le cadre dans lequel est écrit le chiffre
0 à la rangée 1. Entrez au clavier la valeur "-30". Appuyez sur la touche
"Return". Sélectionnez ensuite le chiffre 0 à la rangée 2. Entrez au clavier
la valeur "30". Appuyez sur la touche "Return". Vous pouvez dès maintenant
voir dans la fenêtre "Preview", les changements effectués à la représentation
de votre graphique. L'effet produit est beaucoup plus dynamique.
Maintenant, vous pourriez désirer admirer le résultat final. Vous n'avez
qu'à appuyer sur le bouton "Render" (Rendu final) de la fenêtre d'interface.
Le pointeur se transformera en horloge plus longtemps cette fois-ci.
Lorsqu'il reviendra à son état normal, ce sera l'indication que le graphique
est prêt. Il se peut que la fenêtre titrée "Preview" obscurcisse celle titrée
"Output Window" (qui contient le résultat final). Ecartez là simplement de
votre vue. Mais n'oubliez pas de re-sélectionner la fenêtre d'interface si
vous devez faire d'autres manipulations sur le graphe.
Vous contaterez alors probablement 3 choses:
1. C'est joli (je l'espère :-)
2. C'est trop petit.
3. Les couleurs ne vous conviennent pas.
Règlons les problèmes un par un.
1. C'est joli : Ce n'est pas un problème !!!
2. C'est trop petit: Vous n'avez qu'a "tirez" le bouton en bas, à droite
de la fenêtre titrée "Output Window" et changez sa taille pour celle qui
vous convient. Par la suite, refaites "Render". Voilà!
3. Les couleurs ne vous conviennent pas: C'est la prochaine étape!
L'étape suivante est le choix des couleurs:
Choisissez l'option "Color..." (Amiga+K) sous le menu "Edit". Une boite de
dialogue vous apparaîtra, titrée "Data color selector". A gauche, vous verrez
la représentation de toutes les couleurs disponibles alors qu'à droite, vous
avez les ensembles de données à colorer. Vous reconnaîtrez dans cette dernière,
les textes associés à chacunes de vos lignes. Il y à aussi deux entrées
supplémentaires nommées "Background" et "Floor" permmetant respectivement de
changer la couleur du fond et du plancher (comparez avec le résultat final et
vous comprendrez mieux). Selectionnez "Floor". Un rectangle blanc encadrant
la couleur et le texte devrait vous indiquer qu'il a bien été choisi. Par
la suite, sélectionnez une couleur de votre choix dans l'ensemble des
couleurs à gauche. La couleur immédiatement à gauche de l'inscription "Floor"
devrait changer , indiquant que votre sélection à été retenue. Faites de même
jusqu'à ce que les couleurs vous conviennent. Lorsque vous aurez terminé,
poussez le bouton en haut à gauche de la fenêtre, ceci validera vos entrées.
Pour voir le résultat, refaites "Render".
La dernière étape consiste à sauvegarder le fichier au format
"AegisDraw2000". Pour ce faire, choisissez l'option "Draw2000" du sous-menu
"Format..." du menu "Project" (Amiga+4). Par la suite, choisissez l'option
"Save as..." du menu "Project" (Amiga+A) qui appellera un sélecteur de
fichier. Entrez un nom au clavier, appuyez sur "Return", et voilà!
Après quelques temps, le fichier devrait être sauvegardé et maintenant
disponible pour utilisation ultérieure.
Pour plus de détail sur les fonctions particulières de JCGraph,
consultez la section 4.
IMPORTANT:
Il est à noter que si vous possédez ARexx (ou le WB 2.0) et Advantage,
un 'script' Arexx est inclu qui importera directement des données
provenant de ce tableur.
4.Sommaire des options de menu.
-------------------------------
PROJECT
About... :Information sur JcGraph.
Open... :Ouvre un fichier texte de données (Desciption à la section 6).
Save :Sauvegarde le graphique au format spécifié par "Format" sans requête de nom.
Save as... :Sauvegarde le graphique au format spécifié par "Format" en
recquérant le nom de fichier.
Format :Sélectionne le format de fichier en sortie: voir section 7.
Print... :Permet l'impression du résultat final à l'imprimante.
Vous aurez la possibilité d'annuler une seule fois avant
l'impression, si vous choisissez "Print", l'impression se
fera complètement.
Quit... :Quitte JcGraph...
EDIT
Undo :Permet d'annuler la dernière rotation effectuée.
Copy :Pas encore implantée.
Color... :Permet la sélection des couleurs.
Le bouton cyclique permet d'alterner entre les positions
couleur et tons de gris, cette dernière donnant un aperçu du
résultat à l'imprimante.
Palette... :Vous permet de changer la palette de couleurs de l'écran.
Voyez la section dédiée au Sélecteur de palette pour plus
de détails.
TEMPLATE
Load... :Charge un fichier "Template" qui contient:
-le type de graphique.
-les positions de rotation.
-la perspective.
Save... :Sauvegarde un fichier "Template".
GRAPHTYPE
Load... :Charge un nouveau type de graphique 2D ou 3D.
ENVIRONMENT
Iconify :Pas encore implanté (mmmm).
Notes... :Permet de laisser un commentaire sur un sujet qui vous est
important. Si vous enfoncez l'icône de gauche. Le message
laissé vous sera rappelé avant de quitter.
Arrange :Organise logiquement les fenêtre à l'écran.
Req. Flash ON/OFF :Allume/éteind le clignotement d'écran des boites de requêtes.
Exec Rexx... :Permet l'éxécution d'un fichier ARexx.
Preview OFF/ON :Ouverture/fermeture de la fenêtre PREVIEW.
Output Back/Front :Lors de la modification de taille de la fenêtre OUTPUT,
elle sera ré-ouverte à l'avant ou l'arrière selon le choix
Back ou Front.
HELP
General... :Activera le système d'aide générale.
On Help... :Activera le système d'aide sur l'aide.
Start Help :Permet d'avoir de l'aide spécifique. Vous n'aurez par la suite
qu'à selectionner un bouton ou une option de menu et vous
obtiendrai de l'aide spécifique à cet item. Pour stopper, re-selectionner cette option (qui s'appellera maintenant
Stop Helper).
5.Fenêtre de l'interface.
-------------------------
Vous pouvez la reconnaitre au fait qu'elle contient tous les
boutons-poussoirs qui controlent l'apparence de graphique.
Prenons chaque "Gadget" (nous parlerons plutot de "gadget", terme emprunté
de l'Anglais traduisant plus ou moins la notion de "Bouton-poussoir" ) en
débutant par le haut:
1. La première ligne de "gadgets" contient (en partant de la droite);
l'identificateur de rotation, 'X' dans le cas présent, un gadget
"glissière" permettant de déterminer la valeur de la rotation autour de
l'axe des 'X', et un gadget permettant l'entrée numérique de la valeur de
rotation 'X'. La modification de l'un ou l'autre de ces "gadget" entraîne
automatiquement une modification de l'apparence du graphique dans la
fenêtre titrée "Preview".
2. et 3. La même chose pour l'axe des 'Y' et 'Z' respectivement.
4. Le gadget à glissière nommé "Perspective" permet , comme son nom
l'indique, de changer la perspective du graphique; plus la glissière
(le bouton en forme de flêche) sera tiré vers la gauche, plus la perspective
déformera le graphique alors que la tirer vers la droite donnera un effet
plus orthogonal.Il est à noter que cet effet n'est que visuel et n'est donc
pas conservé lors d'une sauvegarde au type "3D GEO".
5. Le gadget titré "Undo" permet d'annuler la dernière rotation effectuée.
L'option de menu "Undo" (Amiga+Z) effectue la même tâche.
6. Le gadget titré "Render" permet de visualiser le résultat final des
modifications appliquées.
7. Il y a aussi un groupe de boutons à l'extrême gauche. Ils peuvent être
programmés via le langage ARexx et exécuter un fichier ARexx lorsqu'ils sont
pressés. Voyez les détails de leur programmation dans les fichiers ARexx
eux-mêmes (dans l'entête) qui sont au format texte.
6.Format de fichier en entrée de JcGraph.
-----------------------------------------
Pour l'instant, JcGraph accepte uniquement son propre format de fichier.
Selon la réponse (le nombre d'enregistrements et les suggestions), je verrai
s'il vaut la peine de faire des filtres d'importation et/ou une interface
d'entrée de données.
Voici la description de ce format:
1002, 1. Identifieur des données: Toujours 1002.
4,2,80,6.0, 2. #Colonnes,#Lignes,Espa. Cote, Multiplicateur
10,20,30,40, 3. Première ligne
50,60,60,80, 4. Deuxième line
Jan,Feb,Mar,Apr, 5. Textes sous chaque colonnes
Gaz,Oil, 6. Textes associés à chaque ligne.
Notes: Toutes les valeurs peuvent varier de -1000 à 1000.
Le fichier doit se terminer par une virgule.
Quand le Multiplicateur prend la valeur 0, les chiffres prennent la
forme entière (ie sans point flottant).
Les données doivent être séparées par des virgules mais peuvent être
organisées logiquement avec des "Return".
7.Format de fichier en sortie de JcGraph.
-----------------------------------------
IFF ILBM:
Fichier compatible avec la majorité des programmes de dessin non-structuré.
EPSF COLOR & GRAY:
Fichier PostScipt encapsulé. Pour l'instant, c'est le seul format où la
légende sera générée automatiquement. A moins d'avoir un interpréteur
PostScript, ce fichier ne peut être imprimé sur des imprimantes autres que
celles supportant le protocole PostScript. par défaut, la fonte de caractère
utilisée pour la légende est "Times-Roman". Si vous désirez, par la suite,
imprimer ce fichier EPS et que vous possédez une imprimante PostScript,
sauvegardez le résultat au format EPSF, puis , tapez, à partir du CLI/SHELL
"copy Nom_de_fichier to SER:" si votre imprimante est branchée au port série
ou "copy Nom_de_ficher to par:" si votre imprimnate est branchée au port
parrallèle. Choisissez l'option COLOR ou GRAY selon le type de votre
imprimante.
3D GEO:
Format de fichier tridimensionnel compatible avec les programme de
modélisation 3D suivant: 3DProfessionnal, VideoScape, LightWave, Vertex.
Les textes sont sauvegardés aussi.
Draw2000:
Format de dessin structuré compatible avec les programmes suivants:
PageStream 2.2, Professionnal Page 3.0, AegisDraw2000. Permet l'impression
de grande qualité , même pour les imprimantes matricielles. Il est à noter que j'ai
eu des problèmes à l'importation de fichier AegisDraw dans PageStream. Le
problème ne semble pas provenir uniquement de JcGraph car des fichiers
AegisDraw créés avec Multiplot et Advantage ont causés les mêmes problèmes.
8.Modification du graphique.
----------------------------
8.1 La taille des fontes:
Vous pouvez modifier la taille des fontes de caractères en éditant le
fichier du type de graphique correspondant. La taille de la fonte des cotes
est le troisième chiffre en partant de la fin du fichier .grf. La taille de
la fonte des lignes est le quatrième, toujours en partant de la fin alors que
celle des colonnes est le cinquième. Il y a aussi une facon plus directe
pour changer la taille des fontes de caractères qui implique l'utilisation
du langage ARexx; voyez la section 12 pour plus de détails (un fichier
ARexx inclu permet ces changements directement à partir de l'interface).
9.Equivalents clavier.
----------------------
PROJECT
Amiga Droite+O :Open...
Amiga Droite+S :Save
Amiga Droite+A :Save as...
Amiga Droite+1 :Format IFF ILBM
Amiga Droite+2 :Format EPSF
Amiga Droite+3 :Format 3D Geo
Amiga Droite+4 :Format Draw2000
Amiga Droite+P :Print...
Amiga Droite+Q :Quit...
EDIT
Amiga Droite+Z :Undo
Amiga Droite+K :Color...
Amiga Droite+, :Palette...
TEMPLATE
Amiga Droite+L :Load...
Amiga Droite+U :Save...
GRAPHTYPE
Amiga Droite+T :Load...
ENVIRONMENT
Amiga Droite+. :Notes...
Amiga Droite+R :Arrange...
HELP
Amiga Droite+G :General...
Amiga Droite+H :On Help...
Amiga Droite+J :Start Helper/Stop Helper
COLOR SELECTOR:
Flêche droite: Sélectionne la couleur suivante.
Flêche gauche: Sélectionne la couleur précédente.
Flêche haut : Sélectionne la ligne précédante.
Flêche bas : Sélectionne la ligne suivante.
Autres:
F1 :Ouvre/Ferme la fenêtre de PREVIEW.
F6 a F10 :Controlle via ARexx.
NB: La touche ESC permet de sortir de la plupart des boîtes de requête sans
rien modifier.
10.Sélécteur de palette de couleurs.
------------------------------------
Cette fenêtre vous permettra de changer les couleurs par défaut de votre
écran de travail en utilisant les modèles de couleur RGB et HSL. En haut de
la fenêtre, vous retrouverez les boutons standard (ie Fermeture, profondeur
, etc...) qui ne nécéssitent pas d'être commentés ici (référez-vous plutôt
à votre manuel d'utilisation). Le premier "gadget", le plus à gauche, en haut,
est un rectangle enfoncé qui contient la couleur actuellement active. Pressez
sur n'importe quelle couleur au bas de la fenêtre pour qu'elle devienne
active et qu'elle apparaîsse dans ce rectangle. Immédiatement à la droite
de ce "gadget", se trouve les lettres RGB suivies par trois glissières. Cela
signifie que vous êtes dans le mode de sélection de couleurs RGB et que
chacune des composentes R (rouge), G (vert) et B (Bleu) peuvent être
changées avec la glissière appropriée, à droite. Ce sélecteur de couleurs
offre aussi la possibilité de travailler en mode HSL (hue, saturation,
luminance), vous devez simplement cliquer sur l'inscription RGB, cliquez une
deuxième fois pour retourner au mode RGB. Le gros "gadget" multicolore en bas,
à gauche, se passe pratiquement d'explication, il sert à sélectionner la
couleur active. À sa droite, on retrouve une grappe de boutons dont les
fonctions sont les suivantes:
COPY: Copie la couleur présentement active vers une autre choisie par
la suite.
RANGE: Définit une gradation de couleur entre deux couleurs de la palette
que vous choisirez.
OK: Accepte la nouvelle palette de couleurs.
CANCEL: Cancelle les modifications effectuées à la palette.
Le menu:
Open... : Permet de charger une palette de couleurs sauvegardée au
préalable. Notez bien que JcGRaph peut retrouver la
palette de couleurs de tout fichier IFF contenant des CMAP
comme les fichiers Imagine, DR2D, ILBM.
Save as... : Permet de sauvegarder la palette de couleurs courante.
Copy : Copie la palette de couleurs dans le "clipboard".
Paste : Récupère la palette de couleurs du "clipboard".
NB Si vous appuyez la touche ESC, cela aura le même effet que de pressez
CANCEL.
11.Options de TOOLTYPE et ligne de commande.
--------------------------------------------
SCREEN=custom :démarre JcGraph sur l'écran du WorkBench.
SCREEN=workbench :démarre JcGraph sur son propre écran.
HELPENGINE=file :Systeme d'aide en ligne utilise.
TOOLPRI=-127 to 127 :Sélectionne la priorité de départ de JcGraph.
PORTNAME=name :Nom du port ARexx au départ.
STARTUP=scriptname :Fichier ARexx à exécuter au démarrage.
12.Interface ARexx.
-------------------
JcGraph possède maintenant sa propre interface ARexx. Bien entendu, si vous
possédez une version du Workbench inférieure à 2.0, vous devez vous procurer
la version commerciale de ARexx de William Hawes ou , encore mieux,
procurez-vous le WB 2.0. JcGraph se sert d'ARexx pour un nombre important
de ses nouvelles fonctions comme la sauvegarde des positions des fenêtres,
les boutons ARexx, les clefs programmables, etc... Je crois avoir implanté
un bon nombre de commandes ARexx. Sentez-vous totalement libres de modifier
et de distribuer les fichiers ARexx inclus avec JcGraph (si vous créez un
'script' qui pourrait revêtir un intérêt particulier pour plusieurs
personnes, n'hésitez pas à me l'envoyer, je le distribuerai à mes utilisateurs
enregistrés).
Il y a plus de 40 commandes ARexx disponibles depuis JcGraph.
Elles sont (en ordre alphabétique):
ActivateWindow:
Function: Selectionne la fenêtre courante.
Input: INTERFACE/K,OUTPUT/K,PREVIEW/K.
Output: Nil.
Note: Nil.
See also: Nil.
Button:
Function: Assigne un script a un des dix boutons à l'écran.
Input: numero bouton (1 to 10),LABEL=,script répertoire et nom.
Output: Nil.
Note: ex:"button 7 label=Rend JcGraph:test/tess.rex"
Les positions des paramètres ne peuvent être changées.
See also: Keyboard.
Close:
Function: Quitte JcGraph.
Input: FORCE/S.
Output: Nil.
Note: Même que Quit (Style guide)
See also: Quit.
Copy:
Function:
Input:
Output:
Note: Devrait être active dans la version 1.2.
See also:
GetDataColor:
Function:
Input:
Output:
Note: Devrait être active dans la version 1.2.
See also:
GetFormat:
Function: Retourne le format de fichier courant.
Input: Nil.
Output: As string:
1- IFF ILBM
2- EPSF Gray
3- EPSF Color
4- 3D Geo
5- Draw 2000
Note: Nil.
See also: SetFormat.
GetGraphType:
Function: Retourne le répertoire du type de graphe and filename.
Input: Nil.
Output: répertoire + nom de fichier.
Note: Si la valeur retournée est DFLT, cela veut dire qu'aucun type
de graphique n'a été chargé et que celui par défaut est utilisé.
Si rien n'est retourné, alors aucun type de graphique n'est
disponible.
See also: LoadGraphType.
GetRotation:
Function: Retourne les valeurs de rotation X,Y et Z.
Input: Nil.
Output: Valeur X, Y et Z en format texte séparé par des espaces.
Note: ex:"12 34 45".
See also: SetRotation,GetX,GetY,GetZ,SetX,SetY,SetZ.
GetScreenAddress:
Function: Retourne le pointeur sur la structure écran JcGraph.
Input: Nil.
Output: Nil.
Note: Permet l'intégration facile de code externe.
See also: Nil.
GetTypeValue:
Function: Retourne une valeur spécifique au type de graphique.
Input: Position de la donnée.
Output: Sa valeur en format texte.
Note: Aucune validation sur la valeur en entrée.
See also: SetTypeValue.
GetX:
Function: Retourne la valeur présente de rotation en X.
Input: Nil.
Output: Valeur texte de rotation en X.
Note: Nil.
See also: SetRotation,GetRotation,GetY,GetZ,SetX,SetY,SetZ.
GetY:
Function: Retourne la valeur présente de rotation en Y.
Input: Nil.
Output: Valeur texte de rotation en Y.
Note: Nil.
See also: SetRotation,GetRotation,GetX,GetZ,SetX,SetY,SetZ.
GetZ:
Function: Retourne la valeur présente de rotation en Z.
Input: Nil.
Output: Valeur texte de rotation en Z.
Note: Nil.
See also: SetRotation,GetRotation,GetY,GetX,SetX,SetY,SetZ.
Keyboard:
Function: Assignation de 'script' ARexx a une touche F6 à F10.
Input: KEY/K,CMD/K.
Output: Nil.
Note: ex:"Keyboard key=F6 cmd=rexx:test.rex"
See also: Button.
LoadGraphType:
Function: Charge un nouveau type de graphique.
Input: nom de fichier.
Output: Nil.
Note: ex:'LoadGraphType work:jcgraph/graphtype/gugusse3D.grf'
Si aucun nom de fichier n'est spécifié, une boite de
requête de fichier apparaîtra.
See also: GetGraphType.
MoveWindow:
Function: Positionne la fenêtre active.
Input: TOPEDGE/K,LEFTEDGE/K.
Output: Retourne la position avant modification (LeftEdge et TopEdge).
Note: Une valeur de -1 dans TopEdge ou LeftEdge résultera en une
absence de changement de position dans ce champs particulier.
See also: SizeWindow.
Nop:
Function: Ne fait absolument rien.
Input: Nil.
Output: Nil.
Note: Nil.
See also: Nil.
Open:
Function: Ouvre un fichier de données JcGraph ASCII.
Input: FILENAME/K.
Output: Nil.
Note: Si aucun nom de fichier n'est donné, une boite de requête
apparaîtra.
See also: Close, Quit.
Print:
Function: Imprime le graphique sur imprimante.
Input: Nil.
Output: 10= si aucun graphique n'a été créé.
Note: Nil.
See also: Nil.
Quit:
Function: Quitte JcGraph.
Input: FORCE/S.
Output: Nil.
Note: Force empêche l'affichage de la boîte de requête de projet
modifié.
See also: Close.
Render:
Function: Crée un graphique en utilisant les paramètres présents.
Input: Nil.
Output: Nil.
Note: Si aucun type de graphe n'est choisi, JcGraph vous avertira.
See also: Nil.
RequestFile:
Function: Affiche une boîte de requête de fichier.
Input: TITLE/K,PATH/K,FILE/K,PATTERN/K.
Output: RC=0->OK, RC=5->CANCEL, RESULT=répertoire + nom de fichier.
Note: Nil.
See also: RequestString,RequestNumber,RequestResponse,RequestNotify.
RequestNotify:
Function: Ouvre une fenêtre avec du texte et un bouton OK.
Input: message.
Output: Nil.
Note: Légère différence ici avec le 'Style Guide';
ex: 'RequestNotify This is the message'
See also: RequestString,RequestNumber,RequestResponse,RequestFile.
RequestNumber:
Function: Ouvre une fenêtre avec du texte, bouton entier, OK et
CANCEL.
Input: message.
Output: if RC=0 -> OK, RC=5 -> CANCEL . Result=valeur en texte.
Note: Légère différence ici avec le 'Style Guide';
ex: 'RequestNumber This is the message'
See also: RequestString,RequestNotify,RequestResponse,RequestFile.
RequestResponse:
Function: Ouvre une fenêtre requérant une réponse OK ou CANCEL.
Input: message.
Output: RC=0 if OK, RC=5 si CANCEL.
Note: Légère différence ici avec le 'Style Guide';
ex: 'RequestResponse This is the message'
See also: RequestString,RequestNumber,RequestNotify,RequestFile.
RequestString:
Function: Ouvre une fenêtre avec du texte, gadget texte, OK et CANCEL.
Input: message.
Output: if RC=0 -> OK, RC=5 -> CANCEL . Result=texte.
Note: Légère différence ici avec le 'Style Guide';
ex: 'RequestString This is the message'
See also: RequestNumber,RequestNotify,RequestResponse,RequestFile.
Rx:
Function: Exécute un fichier ARexx de facon asynchrone.
Input: Nom du fichier ARexx.
Output: Nil.
Note: Légère différence ici avec le 'Style Guide';
ex: 'Rx work:test.rex'
See also: Nil.
Save:
Function: Sauve le graphique en utilisant les paramètres présents.
Input: Nil.
Output: Nil.
Note: Nil.
See also: SaveAs.
SaveAs:
Function: Sauve le graphique en utilisant le format de fichier
présent et en spécifiant le nom de fichier.
Input: NAME/K.
Output: Nil.
Note: Si aucun nom de fichier n'est spécifié, JcGraph le demande.
See also: Save.
ScreenToBack:
Function: Pousse l'écran de JcGraph au fond.
Input: Nil.
Output: Nil.
Note: Nil.
See also: ScreenToFront.
ScreenToFront:
Function: Amène l'écran de JcGraph à l'avant plan.
Input: Nil.
Output: Nil.
Note: Nil.
See also: ScreenToBack.
SetDataColor:
Function:
Input:
Output:
Note: Devrait être active dans la version 1.2.
See also:
SetDisplayBeepOn:
Function: Active le clignotement d'écran lorsqu'une fenêtre s'ouvre.
Input: Nil.
Output: Nil.
Note: Nil.
See also: SetDisplayBeepOff.
SetDisplayBeepOff:
Function: Désactive le clignotement d'écran lorsqu'une fenêtre s'ouvre.
Input: Nil.
Output: Nil.
Note: Nil.
See also: SetDisplayBeepOn.
SetFormat:
Function: Sélectionne le format de fichier de JcGraph.
Input: Numéro du format.
Output: 0 = ok, 10 sinon.
Note: Numéro format:
1- IFF ILBM
2- EPSF Gray
3- EPSF Color
4- 3D Geo
5- Draw 2000
See also: GetFormat.
SetRotation:
Function: Choisit les valeur X,Y et Z de rotation.
Input: Valeur X, valeur Y, valeur Z.
Output: Nil.
Note: ex: "SetRotation 12 32 14"
See also: SetX, SetY, SetZ, GetX, GetY, GetZ, GetRotation.
SetTypeValue:
Function: Permet de choisir une valeur particulière du type de graphe.
Input: Index de la valeur à être changée, nouvelle valeur.
Output: Nil.
Note: La valeur et l'index ne sont absolument pas validés.
See also: GetTypeValue.
SetX:
Function: Détermine la valeur de rotation en X.
Input: valeur.
Output: Nil.
Note: ex: "SetX 10"
See also: SetY, SetZ, GetX, GetY, GetZ, GetRotation, SetRotation.
SetY:
Function: Détermine la valeur de rotation en Y.
Input: valeur.
Output: Nil.
Note: ex: "SetY 10"
See also: SetX, SetZ, GetX, GetY, GetZ, GetRotation, SetRotation.
SetZ:
Function: Détermine la valeur de rotation en Z.
Input: valeur.
Output: Nil.
Note: ex: "SetZ 10"
See also: SetY, SetX, GetX, GetY, GetZ, GetRotation, SetRotation.
SizeWindow:
Function: Détermine la taille de la fenêtre active.
Input: WIDTH/N,HEIGHT/N.
Output: Taille de la fenêtre avant changement (Width et Height).
Note: Une valeur de -1 dans WIDTH ou HEIGHT résultera en une
absence de changement de taille dans ce champs particulier.
See also: MoveWindow.
Version:
Function: Retourne le numéro de version de JcGraph.
Input: Nil.
Output: Numéro de version sous la forme 'NomDeProgramme 9.99 (DD/MM/YY)'
Note: Nil.
See also: Nil.
WindowToFront:
Function: Amène la fenêtre active de JcGraph à l'avant plan.
Input: Nil.
Output: Nil.
Note: Nil.
See also: WindowToBack, ActivateWindow.
WindowToBack:
Function: Pousse la fenêtre active de JcGraph au fond.
Input: Nil.
Output: Nil.
Note: Nil.
See also: WindowToFront, ActivateWindow.
13.Format des types de graphiques:
----------------------------------
Je crois que c'est là une des parties les plus intéressantes (du point de vue
programmation) de JcGraph. Cela remonte à environ 2 ans: j'ai vu plusieurs
programmes Amiga, IBM et Mac qui avaient le même but; la création de graphiques
d'affaire, mais ce qui m'a frappé, c'était l'apparente nécessité qu'avaient
leurs développeurs d'avoir une partie de code pour chaque type de graphique,
quel gaspillage de ressources. Il y avait sûrement une facon de généraliser
la création de la plupart des graphes et après quelque heures de réflexion
sur la base d'une idée originale, j'en suis venu à ce format de fichier
graphique:
1001, : Identifieur "Type de graphique" toujours présent.
Points d'un bloc du type de graphe:
-----------------------------------
Les points sont organisés en deux groupes successifs de valeur X et Y. Le
premier groupe est pour les points de la base d'un bloc alors que le second
est pour le dessus.
4, : Nombre total de points dans un bloc.
0,0, : 1. X,Y de la base.
0,20, : 1. X,Y du dessus.
40,0, : 2. X,Y de la base.
40,20, : 2. X,Y du dessus.
40,40, : 3. X,Y de la base.
40,20, : 3. X,Y du dessus.
0,40, : 4. X,Y de la base.
0,20, : 4. X,Y du dessus.
Liens inter-blocs:
------------------
2,3,1,4, : Si le drapeau de lien est allumé (1), le point 2 d'un bloc
sera lié avec le point 1 du suivant en X. Le 3 avec le 4.
Seulement 2 liens par côté sont permis.
3,4,2,1, : Si le drapeau de lien est allumé (1), le point 3 d'un bloc
sera lié avec le point 2 du suivant en Y. Le 4 avec le 1.
Seulement 2 liens par côté sont permis.
Drapeaux:
---------
2,2, : X , Y colonnes et lignes du PREVIEW.
70, : Espacement de la prochaine colonne.
70, : Espacement de la prochaine ligne.
2, : Facteur multiplicatif en Y.
0, : Join en X ? (0 ou 1)
0, : Join en Y ? (0 ou 1)
0, : Empilés ? (0 ou 1)
1, : 3-D ? (0 ou 1)
0, : Pourcent (tarte) ? (0 ou 1)
0, : Dessus du bloc uniquement ? (0 ou 1)
0, : Dessus de l'inter-bloc uniquement ? (0 ou 1)
0, : Rotation 90 degré du dessus ? (0 ou 1)
0, : Glissement de la prochaine ligne (valeur).
0, : TOUJOURS 0.
0, : Cote-à-cote ( 0 ou 1)
0, : Glissement en Y (valeur).
0, : Non-défini.
40, : Taille maximale du bloc en X.
40, : Taille maximale du bloc en Y.
15, : Taille du "font" en X.
15, : Taille du "font" en Y.
15, : Taille du "font" en Z.
10, : Espace texte-graphe en Z
20, : Espace texte-graphe en X.
Je crois que cette implantation du type de graphe est un bon compromis entre
la flexibilité, la simplicité et la taille. Faites quelques expériences de
modifications sans toutefois oublier qu'aucune validation n'est faite sur
le type de graphe (vous devriez savoir ce que vous faites). Bien entendu,
tout ceci est bien loin de la perfection et je vois plusieurs améliorations
possibles qui requéreraient toutefois une ré-écriture sévère de JcGraph et
,à moins qu'une immense compagnie de logiciel me paie une fortune pour le
faire, je laisserai cet exercice à l'attention du lecteur. Bien entendu,
vous ne pouvez utiliser tout ceci dans du code commercial mais, si vous
désirez partager des idées, vous pouvez toujours m'écrire et il me fera
grand plaisir de vous répondre.
14.Indices sur les améliorations prévues pour JcGraph:
------------------------------------------------------
FUTUR SOMBRE:
-------------
C'est très malheureux car je n'aie pas eu suffisamment d'enregistrements
pour qu'il me soit motivant de continuer d'améliorer JcGraph. Peut-être
n'ai-je pas utilisé tous les moyens nécessaires pour sa distribution mais
je ne crois pas que ce soit dû uniquement à cela. J'espère
uniquement que les utilisateurs entregistrés comprendront que ce n'est pas
par malhonneteté que je cesserai les améliorations prévue pour JcGraph mais
uniquement par manque de temps et d'argent. JcGraph est maintenant librement
distribuable et je ne compte pas y repasser du temps vu le peut d'interet
que semble y porter le monde Amiga. Je m'excuse aupres de mes utilisateurs
enregistres que j'aurais bien voulu rembourser si mon compte en banque
n'etait pas de -0.13$...
La partie triste est que le developpement de future application se fera
probablement sur PC, en ce qui me concerne en tout cas... pour survivre...
MAIS, si vous utilisez regulierement JcGraph et croyez qu'il en vaut la
peine (ou si vous tenez simplement a me dire bonjour), vous pouvez envoyer
une carte postale representant votre ville ou village (... bien entendu, je
ne refuse absolument pas l'argent qu'on m'envoie ;-). Considerez donc
JcGraph comme du CartePostale-ware!
Jean-Christophe Clément
921, rang 3
St-Simon
Québec, CANADA
J0H-1Y0
12.Histoire de JcGraph:
------------------------
23 avril 1992:(v0.90)
-Sortie officiel du premier Beta.
-Pas complètement à mon goût mais veux d'abord voir la réponse
des utilisateurs pour évaluer l'énergie à investir dans les
prochaines versions.
27 avril 1992:(v0.901)
-Corrigé un petit bug de désallocation en sortie.
-J'ai définitivement sorti le Beta trop tôt!!!
30 avril 1992:(v0.902)
-Agmentation de la précision graphes 2D.
-Support nombres negatifs et graphiques à étages.
-Meuilleur support point flottant.
14 mai 1992:(v0.903)
-Corrige un bug avec la perspective.
10 octobre 1992:(v1.100)
Améliorations majeures:
-Correction de plusieurs erreurs simples.
-Ajout d'un port ARexx (plus de 40 commandes) presque entièrement bâti
selon les normes standard Commodore.
-Support de la boîte de requêtes de fichiers standard de Commodore sous
WB 2.0. KD_freq sous 1.3.
-Plus robuste.
-JcGraph est maintenant livré avec une superbe :-) étiquette sur le disque.
-Un joli sélecteur de couleurs à été ajouté basé sur le travail de RJ Mical
avec certains ajouts au niveau de l'esthétique et de l'ergonomie.
-Le problème avec les plus gros "font" à été réglé.
-La fenêtre PREVIEW peut maintenant changer de taille.
-Plusieurs scripts ARexx intéressant sont fournis.
-JcGraph fait maintenant plus de validation sur les fichiers en entrée.
-Plus d'options au démarrage.
-plein de nouveaux avantages que vous découvrirez lors de l'utilisation.
07 janvier 1993:(v1.110)
-Sauve les objets 3D Geo avec les polygones à double-face.
-Nouveau 'script' ARexx pour "hotlink" Advantage.
27 fevrier 1993:(v1.12)
-petite "patch" d'allocation de memoire.
15 aout 1993:(v1.13)
-distribution libre.
-optimisation simple (passe de 176k a 164k).
Remerciements a:
Richard Loubier,Pierre-Louis Constantin, Steve Davis, Dominic Giampaolo,
et tous ceux qui m'ont supporté durant mon travail sur JcGraph.
Remerciement tout particuliers a:
Francis Lai et Claude Lelouch pour "La belle histoire",
Vangelis et Ridley Scott pour "1492: La conquete du paradis"
pour m'avoir aider a traverser les periodes d'examens a l'Universite.