jaxx.runtime.swing.navigation
Class NavigationTreeHandler

java.lang.Object
  extended by javax.swing.tree.DefaultTreeSelectionModel
      extended by jaxx.runtime.swing.navigation.NavigationTreeHandler
All Implemented Interfaces:
java.io.Serializable, java.lang.Cloneable, javax.swing.tree.TreeSelectionModel
Direct Known Subclasses:
NavigationTreeHandlerWithCardLayout

public abstract class NavigationTreeHandler
extends javax.swing.tree.DefaultTreeSelectionModel

The handler of a navigation tree. This is also the selection model to use, since we must check before moving from a node we can not just listen selection model changed, we must control it.

Since:
1.3
Author:
tony
See Also:
Serialized Form

Nested Class Summary
static class NavigationTreeHandler.Strategy
          defined the stategy of instanciation of ui
 
Field Summary
protected  JAXXObject context
          l'ui contenant l'arbre de navigation
protected  java.lang.Class<? extends JAXXObject> defaultUIClass
          la classe d'ui par defaut, associé à un noeud de l'arbe
protected  java.lang.Class<? extends JAXXAction> defaultUIHandlerClass
           
static java.lang.String NAVIGATION_SELECTED_BEAN
           
static JAXXContextEntryDef<NavigationTreeModel.NavigationTreeNode> NAVIGATION_SELECTED_NODE_ENTRY_DEF
           
static JAXXContextEntryDef<java.lang.String> NAVIGATION_SELECTED_PATH_ENTRY_DEF
           
protected  NavigationTreeHandler.Strategy strategy
           
 
Fields inherited from class javax.swing.tree.DefaultTreeSelectionModel
changeSupport, leadIndex, leadPath, leadRow, listenerList, listSelectionModel, rowMapper, selection, SELECTION_MODE_PROPERTY, selectionMode
 
Fields inherited from interface javax.swing.tree.TreeSelectionModel
CONTIGUOUS_TREE_SELECTION, DISCONTIGUOUS_TREE_SELECTION, SINGLE_TREE_SELECTION
 
Constructor Summary
protected NavigationTreeHandler(java.lang.Class<? extends JAXXObject> defaultUIClass, java.lang.Class<? extends JAXXAction> defaultUIHandlerClass, JAXXObject context, NavigationTreeHandler.Strategy strategy)
           
 
Method Summary
protected  void addSelectedBeanInContext(NavigationTreeModel.NavigationTreeNode node, java.lang.Object data)
           
protected abstract  boolean closeUI(java.awt.Component component)
           
protected abstract  java.awt.Component createUI(NavigationTreeModel.NavigationTreeNode node)
          Instancie une nouvelle ui associé à un noeud de l'arbre de navigation
protected abstract  JAXXContext createUIContext(NavigationTreeModel.NavigationTreeNode node)
           
protected abstract  java.awt.Component getCurrentUI()
           
protected  JAXXAction getJAXXAction(java.lang.Class<? extends JAXXAction> jaxxActionClass)
           
protected abstract  NavigationTreeModel getNavigationTreeModel()
           
protected  java.lang.String getNodeConstraints(NavigationTreeModel.NavigationTreeNode node)
           
protected abstract  java.awt.Component getUI(NavigationTreeModel.NavigationTreeNode node)
           
protected abstract  void openUI(java.awt.Component newUI, NavigationTreeModel.NavigationTreeNode node)
          Ouvre l'ui associée au noeud sélectionné dans l'arbre de navigation.
protected  NavigationTreeModel.NavigationTreeNode prepareNode(NavigationTreeModel.NavigationTreeNode node)
          Prepare le nouveau noeud sélectionné.
 void selectNodeUI(NavigationTreeModel.NavigationTreeNode node)
           
 void setSelectionPath(javax.swing.tree.TreePath path)
           
protected abstract  void treateError(java.lang.Exception e)
          Traitement des exceptions.
 
Methods inherited from class javax.swing.tree.DefaultTreeSelectionModel
addPropertyChangeListener, addSelectionPath, addSelectionPaths, addTreeSelectionListener, arePathsContiguous, canPathsBeAdded, canPathsBeRemoved, clearSelection, clone, fireValueChanged, getLeadSelectionPath, getLeadSelectionRow, getListeners, getMaxSelectionRow, getMinSelectionRow, getPropertyChangeListeners, getRowMapper, getSelectionCount, getSelectionMode, getSelectionPath, getSelectionPaths, getSelectionRows, getTreeSelectionListeners, insureRowContinuity, insureUniqueness, isPathSelected, isRowSelected, isSelectionEmpty, notifyPathChange, removePropertyChangeListener, removeSelectionPath, removeSelectionPaths, removeTreeSelectionListener, resetRowSelection, setRowMapper, setSelectionMode, setSelectionPaths, toString, updateLeadIndex
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

NAVIGATION_SELECTED_BEAN

public static final java.lang.String NAVIGATION_SELECTED_BEAN
See Also:
Constant Field Values

NAVIGATION_SELECTED_PATH_ENTRY_DEF

public static final JAXXContextEntryDef<java.lang.String> NAVIGATION_SELECTED_PATH_ENTRY_DEF

NAVIGATION_SELECTED_NODE_ENTRY_DEF

public static final JAXXContextEntryDef<NavigationTreeModel.NavigationTreeNode> NAVIGATION_SELECTED_NODE_ENTRY_DEF

defaultUIClass

protected java.lang.Class<? extends JAXXObject> defaultUIClass
la classe d'ui par defaut, associé à un noeud de l'arbe


defaultUIHandlerClass

protected java.lang.Class<? extends JAXXAction> defaultUIHandlerClass

context

protected JAXXObject context
l'ui contenant l'arbre de navigation


strategy

protected NavigationTreeHandler.Strategy strategy
Constructor Detail

NavigationTreeHandler

protected NavigationTreeHandler(java.lang.Class<? extends JAXXObject> defaultUIClass,
                                java.lang.Class<? extends JAXXAction> defaultUIHandlerClass,
                                JAXXObject context,
                                NavigationTreeHandler.Strategy strategy)
Method Detail

getNavigationTreeModel

protected abstract NavigationTreeModel getNavigationTreeModel()

getCurrentUI

protected abstract java.awt.Component getCurrentUI()
Returns:
le composent actuellement visible associé au noeud courant ou au noeud précédent lors d'un changement de noeud.

getUI

protected abstract java.awt.Component getUI(NavigationTreeModel.NavigationTreeNode node)
Parameters:
node - le noeud associé à l'ui à retrouver
Returns:
l'ui associé au novueau noeud sélectionné

closeUI

protected abstract boolean closeUI(java.awt.Component component)
                            throws java.lang.Exception
Parameters:
component - le composent actuellement visible
Returns:
true si le composent a bien été fermé, false sinon
Throws:
java.lang.Exception - if any

createUI

protected abstract java.awt.Component createUI(NavigationTreeModel.NavigationTreeNode node)
                                        throws java.lang.Exception
Instancie une nouvelle ui associé à un noeud de l'arbre de navigation

Parameters:
node - le noeud associé à l'ui à créer
Returns:
la nouvelle ui associée au noeud
Throws:
java.lang.Exception - if any

createUIContext

protected abstract JAXXContext createUIContext(NavigationTreeModel.NavigationTreeNode node)
                                        throws java.lang.Exception
Throws:
java.lang.Exception

openUI

protected abstract void openUI(java.awt.Component newUI,
                               NavigationTreeModel.NavigationTreeNode node)
                        throws java.lang.Exception
Ouvre l'ui associée au noeud sélectionné dans l'arbre de navigation.

Parameters:
newUI - l'ui associé au noeud sélectionné à ouvrir
node - le node de l'ui a ouvrir
Throws:
java.lang.Exception - if any

treateError

protected abstract void treateError(java.lang.Exception e)
Traitement des exceptions.

Parameters:
e - l'erreur recontrée (ou null si pas d"erreur)

prepareNode

protected NavigationTreeModel.NavigationTreeNode prepareNode(NavigationTreeModel.NavigationTreeNode node)
Prepare le nouveau noeud sélectionné.

Parameters:
node - le noeud a preparer
Returns:
le noeud selectionné et preparé

setSelectionPath

public void setSelectionPath(javax.swing.tree.TreePath path)
Specified by:
setSelectionPath in interface javax.swing.tree.TreeSelectionModel
Overrides:
setSelectionPath in class javax.swing.tree.DefaultTreeSelectionModel

selectNodeUI

public void selectNodeUI(NavigationTreeModel.NavigationTreeNode node)

addSelectedBeanInContext

protected void addSelectedBeanInContext(NavigationTreeModel.NavigationTreeNode node,
                                        java.lang.Object data)

getNodeConstraints

protected java.lang.String getNodeConstraints(NavigationTreeModel.NavigationTreeNode node)

getJAXXAction

protected JAXXAction getJAXXAction(java.lang.Class<? extends JAXXAction> jaxxActionClass)
                            throws java.lang.Exception
Throws:
java.lang.Exception


Copyright © 2008-2009 CodeLutin. All Rights Reserved.