deniger
2002-12-11
Présente l'organisation de : architecture générale, description des packages, ...

ebliArchitecture du projet

Organisation des packages

diagramme ebli

Le graphique ci-dessus donne un aperçu de l'organisation d'ebli. Les packages situés en haut dépendent des packages inférieurs (ceux de même niveau sont indépendants les uns des autres).

Les 3 types d'affichage 1D,2D et 3D sont "gérés" respectivement par les packages graphe, calque et volume. Des composants concernant les repères ( gestion, évènements, widgets, ...) pour l'affichage 2D sont inclus dans le package repere. Les composants graphiques peuvent utiliser des widgets comme des controles (molettes, ...), des palettes (choix couleurs,police, type de trait, ...) ou des dialogues.

Le package impression offre une interface et les utilitaires nécessaires à l'impression des composants. Toutes les actions de tracé ( écran et imprimante) des objets géométriques sont gérées dans le package trace. Ces objets géometriques, comme les points ou les polylignes, sont définis dans le package geometrie. Finalement, toutes ces classes s'appuient sur des packages de base: mathematiques, ressource ( images, icones, traductions) et commun.

package calque

C'est le package le plus utilisé. L'affichage des données est assuré par des calques qui peuvent être composés. Pour chaque objet géométrique, il y a la vue (ZCalquePoint par exemple) et le modèle (ZModelePoint). La classe BVueCalque permet d'assembler tous les calques: gestion des changements de repère et l'affichage. Pour créer un graphe 2D, il suffit d'implanter une ou plusieurs interfaces "ZModele..." et d'ajouter les calques correspondants à la vue.

Finalement, le composant ZEbliFilleCalques (une "internal frame") permet de controler la vue des calques et de coordonner les calques avec des widgets : changement de repère, sélection, modification ... Les différents états de ZEbliFilleCalques sont définis dans le package org.fudaa.ebli.calque.state.

package trace

Les données 1D sont rassemblées dans la classe Graphe. Les coordoonnées, les axes, la légende et éventuellement des paramètres d'animation doivent être définis dans cette classe. L'affichage est assuré par la classe BGraphe.

L'"internal Frame" EbliFilleGraphe permet uniquement de gérer l'impression des graphiques.

Résumé

packagedescription
calqueComposants gérant l'affichage 2D.
communClasses communes : les préférences, définition de listes génériques...
controlewidgets simples : molette, boutons à 3 états, ...
dialogBoites de dialogue génériques.
geometrieEléments géométriques de base tels que les points, polylignes,...
grapheAffichage 1D interactif.
impressionInterface et utilitaires pour l'impression.
mathematiquesFonction, matrices hermitiennes.
paletteDiverses palettes pour modifier la police,les couleurs,l'épaisseur trait, ...
repereDéfinition du repère, évènements de changement de repère, listeners, widgets, ...
ressourceImages et futures traductions.
testPackage (à organiser) fournissant des tests unitaires (junit).
traceContient les classes traçant les éléments géométriques.
volumeComposants pour l'affichage 3D.