Author: tchemit Date: 2010-03-13 09:18:50 +0100 (Sat, 13 Mar 2010) New Revision: 1779 Log: update docs Modified: trunk/src/site/rst/NavigationModel.rst trunk/src/site/rst/migration.rst Modified: trunk/src/site/rst/NavigationModel.rst =================================================================== --- trunk/src/site/rst/NavigationModel.rst 2010-03-12 20:13:58 UTC (rev 1778) +++ trunk/src/site/rst/NavigationModel.rst 2010-03-13 08:18:50 UTC (rev 1779) @@ -11,39 +11,46 @@ Ajout d'un modèle d'arbre de navigation. -Le but de cette fonctionnalité est de pouvoir créer un arbre de navigation lié au context de JAXX, de définir des UI -rattachés à chaque noeud. +Le but de cette fonctionnalité est de pouvoir créer un arbre de navigation lié +au context de JAXX, de définir des UI rattachés à chaque noeud. Le développement est effectué dans le paquetage *jaxx.runtime.swing.navigation*. jaxx.runtime.swing.navigation.NavigationModel ============================================= -Contract representant le model de l'arbre de navigation. +Contract représentant le model de l'arbre de navigation. -Les noeuds présents dans se modèle sont aussi typés en *jaxx.runtime.swing.navigation.NavigationTreeModel.NavigationTreeNode*. +Les noeuds présents dans se modèle sont aussi typés en +*jaxx.runtime.swing.navigation.NavigationTreeModel.NavigationTreeNode*. -L'idée principale est de pouvoir associer à un noeud précis un chemin depuis la racine, ce que l'on appele *chemin de navigation*. +L'idée principale est de pouvoir associer à un noeud précis un chemin depuis +la racine, ce que l'on appele *chemin de navigation*. -Pour obtenir le chemin de navigation d'un noeud donné, on récupère l'enmseble des neoud depuis la racine vers ce noeud -et les concatène en suffixant par le caractère séparateur défini. +Pour obtenir le chemin de navigation d'un noeud donné, on récupère l'enmseble +des neoud depuis la racine vers ce noeud et les concatène en suffixant par le +caractère séparateur défini. Tout les models suivants implémantent cette interface. jaxx.runtime.swing.navigation.NavigationTreeModel ================================================= -Il s'agit du modèle de l'arbre utilisé, c'est une extension d'un *javax.swing.tree.DefaultTreeModel*. +Il s'agit du modèle de l'arbre utilisé, c'est une extension d'un +*javax.swing.tree.DefaultTreeModel*. jaxx.runtime.swing.navigation.NavigationTreeTableModel ====================================================== -Il s'agit du modèle de l'arbre tableau (*org.jdesktop.swingx.JXTreeTable*), c'est une extension d'un *org.jdesktop.swingx.treetable.DefaultTreeTableModel*. +Il s'agit du modèle de l'arbre tableau (*org.jdesktop.swingx.JXTreeTable*), +c'est une extension d'un *org.jdesktop.swingx.treetable.DefaultTreeTableModel*. -Les noeuds présents dans se modèle sont typés en *jaxx.runtime.swing.navigation.NavigationTreeModel.NavigationTreeTableNode* qui +Les noeuds présents dans se modèle sont typés en +*jaxx.runtime.swing.navigation.NavigationTreeModel.NavigationTreeTableNode* qui étend *jaxx.runtime.swing.navigation.NavigationTreeModel.NavigationTreeNode*. -NavigationTreeTableNode est abstaite, l'instance doit donc être crée en implementant la méthode createNavigationTreeTableNode +NavigationTreeTableNode est abstaite, l'instance doit donc être crée en +implementant la méthode createNavigationTreeTableNode du builder (*jaxx.runtime.swing.navigation.NavigationTreeTableModelBuilder*). Les builders @@ -52,18 +59,23 @@ jaxx.runtime.swing.navigation.NavigationModelBuilder ---------------------------------------------------- -Les builders sont des classes utilitaires permétant de construire le model et les rendus de l'arbre simplement. +Les builders sont des classes utilitaires permétant de construire le model et +les rendus de l'arbre simplement. + Tous les builders implémentent cette interface. jaxx.runtime.swing.navigation.NavigationTreeModelBuilder -------------------------------------------------------- -Classe utilitaire pour construire le model (ici un *jaxx.runtime.swing.navigation.NavigationTreeModel*) et décorer un arbre. +Classe utilitaire pour construire le model (ici un +*jaxx.runtime.swing.navigation.NavigationTreeModel*) et décorer un arbre. jaxx.runtime.swing.navigation.NavigationTreeTableModelBuilder ------------------------------------------------------------- -Classe utilitaire pour construire le model (ici un *jaxx.runtime.swing.navigation.NavigationTreeTableModel*) et décorer un arbre tableau. +Classe utilitaire pour construire le model (ici un +*jaxx.runtime.swing.navigation.NavigationTreeTableModel*) et décorer un arbre +tableau. Les Handlers ============ @@ -71,26 +83,33 @@ jaxx.runtime.swing.navigation.NavigationTreeHandler --------------------------------------------------- -Cette classe est une implémentation d'un model de sélection pour les arbres de navigations. +Cette classe est une implémentation d'un model de sélection pour les arbres +de navigations. -Il y a 2 façons de l'utiliser, soit l'on associe une ui par noeud (*Strategy.PER_NODE*) soit on associe une ui par type de noeud (*Strategy.PER_UI_TYPE*). +Il y a 2 façons de l'utiliser, soit l'on associe une ui par noeud +(*Strategy.PER_NODE*) soit on associe une ui par type de noeud +(*Strategy.PER_UI_TYPE*). jaxx.runtime.swing.navigation.NavigationTreeHandlerWithCardLayout ----------------------------------------------------------------- -Extension de *jaxx.runtime.swing.navigation.NavigationTreeHandler* pour l'utilisation de CardLayout (*jaxx.runtime.swing.CardLayout2*). +Extension de *jaxx.runtime.swing.navigation.NavigationTreeHandler* pour +l'utilisation de CardLayout (*jaxx.runtime.swing.CardLayout2*). jaxx.runtime.swing.navigation.NavigationMultiTreeHandler -------------------------------------------------------- TODO ajouter la strategie de la multiselection -Extension de *jaxx.runtime.swing.navigation.NavigationTreeHandler* pour ajouter la possibilité d'utiliser la multisélection. +Extension de *jaxx.runtime.swing.navigation.NavigationTreeHandler* pour +ajouter la possibilité d'utiliser la multisélection. Définition d'un noeud ===================== -Le noeud (*jaxx.runtime.swing.navigation.NavigationTreeModel.NavigationTreeNode*) est une extension d'un *javax.swing.tree.DefaultMutableTreeNode*. +Le noeud +(*jaxx.runtime.swing.navigation.NavigationTreeModel.NavigationTreeNode*) est +une extension d'un *javax.swing.tree.DefaultMutableTreeNode*. Il apporte les nouvelles propriétés suivantes : @@ -108,7 +127,8 @@ Retrouver un noeud à partir du chemin de navigation *************************************************** -Il est possible en connaissant le chemin de navigation d'un noued de récupérer le noeud dans l'arbre via la méthode +Il est possible en connaissant le chemin de navigation d'un noeud de récupérer +le noeud dans l'arbre via la méthode :: @@ -117,7 +137,8 @@ Trouver la valeur associée dans le context JAXX à partir du chemin de navigation ******************************************************************************** -Il est possible en connaissant le chemin de navigation d'un noued de récupérer la valeur associée dans le context JAXX. +Il est possible en connaissant le chemin de navigation d'un noeud de récupérer +la valeur associée dans le context JAXX. :: @@ -127,9 +148,13 @@ * récupération du noeud associé au chemin de navigation - * recherche du premier noeud (dans les noeuds qui remontent vers la racine de l'arbre) dont la propriété *jaxxContextEntry* est non nulle, il s'agit du point d'entré dans le context JAXX. + * recherche du premier noeud (dans les noeuds qui remontent vers la racine + de l'arbre) dont la propriété *jaxxContextEntry* est non nulle, il s'agit + du point d'entré dans le context JAXX. - * redescendre à partir de ce noeud vers le noeud d'origine (si ce noeud était différent) et en descendant conjointement dans l'objet du context JAXX : + * redescendre à partir de ce noeud vers le noeud d'origine (si ce noeud + était différent) et en descendant conjointement dans l'objet du context + JAXX : - on utilise l'expression JXPath pour obtenir l'objet associé au noeud @@ -186,10 +211,13 @@ jaxx.runtime.swing.navigation.NavigationTreeSelectionAdapter ============================================================ -Il s'agit d'un listener sur la sélection d'un noeud dans l'arbre de navigation basé sur notre modèle de navigation. Il -étend *javax.swing.event.TreeSelectionListener*. +Il s'agit d'un listener sur la sélection d'un noeud dans l'arbre de navigation +basé sur notre modèle de navigation. Il étend +*javax.swing.event.TreeSelectionListener*. -Ce listener contient la gestion de passage d'un noeud à un autre avec interaction avec le context JAXX et affichage automatique de l'ui associé au noeud sélectionné. +Ce listener contient la gestion de passage d'un noeud à un autre avec +interaction avec le context JAXX et affichage automatique de l'ui associé au +noeud sélectionné. **Attention : la mécanique ne fonctionne que pour un arbre à selection unique.** @@ -198,23 +226,29 @@ Voici l'algorithme utilisé lors de la sélection d'un nouveau noeud : - * *closeUI* : tentative de fermeture de l'ui lié au noeud précédemment selectionné, si cela n'aboutit pas on retourne sur le noeud précédent. + * *closeUI* : tentative de fermeture de l'ui lié au noeud précédemment + selectionné, si cela n'aboutit pas on retourne sur le noeud précédent. - * *attachBeanFromNodeToContext* : injection dans le context JAXX de la valeur associée au nouveau noeud + * *attachBeanFromNodeToContext* : injection dans le context JAXX de la valeur + associée au nouveau noeud * *createUI* : création de la nouvelle ui (si elle n'existe pas) * *openUI* : ouverture de la nouvelle ui -Si une erreur survient lors de ces opérations, on entre dans la méthode *goBackToPreviousNode* qui est abstraite et permet de notifier les erreur de retourner au noeud précdent. +Si une erreur survient lors de ces opérations, on entre dans la méthode +*goBackToPreviousNode* qui est abstraite et permet de notifier les erreur de +retourner au noeud précdent. jaxx.runtime.swing.navigation.NavigationTreeSelectionAdapterWithCardLayout ************************************************************************** -Il s'agit d'une implantation du listener précédent qui suppose que les uis associées aux noeuds sont affichées dans un -unique container en utilisant le layout *jaxx.runtime.swing.CardLayout2*. +Il s'agit d'une implantation du listener précédent qui suppose que les uis +associées aux noeuds sont affichées dans un unique container en utilisant le +layout *jaxx.runtime.swing.CardLayout2*. -La contrainte de chaque ui sera extactement le chemin de navigation du noeud associé. +La contrainte de chaque ui sera extactement le chemin de navigation du noeud +associé. Il possède deux méthodes abstraites : @@ -222,7 +256,9 @@ * *getContentLayout* : qui indique le layout utilisé. -Pour pouvoir utilisé cet *adapter*, il vous suffit de définir la méthode suivante (en plus des deux méthodes abstraites) : +Pour pouvoir utilisé cet *adapter*, il vous suffit de définir la méthode +suivante (en plus des deux méthodes abstraites) : - * *goBackToPreviousNode* : comment gérer les erreurs et retourner au noeud précedent. + * *goBackToPreviousNode* : comment gérer les erreurs et retourner au noeud + précedent. Modified: trunk/src/site/rst/migration.rst =================================================================== --- trunk/src/site/rst/migration.rst 2010-03-12 20:13:58 UTC (rev 1778) +++ trunk/src/site/rst/migration.rst 2010-03-13 08:18:50 UTC (rev 1779) @@ -15,16 +15,24 @@ * JList, JComboBox et JTree n'acceptent plus de fils Item (utiliser JAXXList, JAXXComboBox, JAXXTree). - * changement de paquetage de jaxx.runtime.JAXXContext vers jaxx.runtime.JAXXContext + * Changement de paquetage de jaxx.runtime.JAXXContext vers jaxx.runtime.JAXXContext - * changement de paquetage de jaxx.runtime.\*Decorator vers jaxx.runtime.decorator.\*Decorator + * Changement de paquetage de jaxx.runtime.Decorator vers jaxx.runtime.decorator.Decorator - * le framwork NavigationTree n'est plus compatible avec l'ancien... + * Le framwork de Navigation n'est plus compatible avec l'ancien... * JAXX interprète toutes les interfaces, elles doivent être donc importer * Les classe PropertychangeListener et PropertyChangeEvent ne sont plus automatiquement importées et il faut le faire manuellement quand requis. - * L'api des bindings a complètement été revue et permet de les programmer + * L'api des bindings a complètement été revue et permet de les utiliser par + programmation. +Aide à la migration +------------------- + +Pour tout problème rencontré lors d'un passage à la version 2.0, vous pouvez +utiliser les listes de diffusions du projet disponibles ici : +http://maven-site.nuiton.org/jaxx/mail-lists.html +
participants (1)
-
tchemit@users.nuiton.org