ikbs.tools.trees
Class ActionGraphViewer

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by java.awt.Panel
              extended by ikbs.tools.utils.IkbsPanel
                  extended by ikbs.tools.utils.PanelBuffer
                      extended by ikbs.tools.trees.GraphViewer
                          extended by ikbs.tools.trees.ActionGraphViewer
All Implemented Interfaces:
DialogListener, GetFrame, ZoomInterface, java.awt.event.MouseMotionListener, java.awt.event.MouseWheelListener, java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, java.lang.Runnable, java.util.EventListener, java.util.Observer, javax.accessibility.Accessible
Direct Known Subclasses:
DecisionTreeViewer, HasseGraphViewer, IllustrationGraphViewer, TaxonomicTreeViewer, ViewerRef

public class ActionGraphViewer
extends GraphViewer
implements java.lang.Runnable, java.awt.event.MouseMotionListener, ZoomInterface, DialogListener, java.awt.event.MouseWheelListener

IKBS - IREMIA, Université de la Réunion Définition de ActionGraphViewer, sous classe de GraphViewer Implémente les comportements d'un canvas dynamique (PopUpMenu, déplacements, repositionnement, etc.)

Version:
Version v2.2
Author:
David Grosser
See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class java.awt.Panel
java.awt.Panel.AccessibleAWTPanel
 
Nested classes/interfaces inherited from class java.awt.Container
java.awt.Container.AccessibleAWTContainer
 
Nested classes/interfaces inherited from class java.awt.Component
java.awt.Component.AccessibleAWTComponent, java.awt.Component.BaselineResizeBehavior, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
 
Field Summary
static boolean anim
           
protected  boolean attributClic
           
protected  boolean attributDrag
           
protected  AttributPopUp attributPopUp
           
protected  IkbsPopupMenu canvasPopUp
           
protected  boolean changedAff
           
protected  ComponentPopUp componentPopUp
           
protected  boolean copyMode
           
protected  boolean edition
           
static double FLUIDITE
           
protected  int index
           
static int MAX_ITER
           
protected  java.lang.Thread monThread
           
protected  int mousewheel
           
static int MOUSEWHEEL_SCROLL
           
static int MOUSEWHEEL_ZOOM
           
static int NORMAL
           
static int RAPIDE
           
protected  Selectable selected
           
static int TIME_SLEEP
           
static int TRES_RAPIDE
           
protected  int vitesse
           
protected  int xDepart
           
protected  int yDepart
           
 
Fields inherited from class ikbs.tools.trees.GraphViewer
active, affAttributs, backgroundPicture, BG_BOTTOM, BG_CENTER, BG_FITTED, BG_GRILLE, BG_LEFT, BG_NONE, BG_REPEAT, bgAlignment, drag, fontAtt, fontObj, fontRel, formatter, FORMATTER_GD, FORMATTER_GD2, FORMATTER_GD3, FORMATTER_GD4, FORMATTER_GD5, FORMATTER_HB, formeRelation, info, noeudRacine, noeuds, noeudSelect, OFFSCREEN, painted, paintInfo, policeAtt, policeObj, policeRel, pos, posLien, rect, relationMode, relationSelect, select, shadow, shiftPressed, showArrow, showLabelRelation, styleAtt, styleObj, styleRel, x, y, zoom, zoomCanvas
 
Fields inherited from class ikbs.tools.utils.PanelBuffer
doubleBuffer, offgraphics, offscreen, offscreensize
 
Fields inherited from class ikbs.tools.utils.IkbsPanel
c
 
Fields inherited from class java.awt.Component
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
 
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
ActionGraphViewer()
           
 
Method Summary
 void affecteRacine(Noeud n)
          Affecter la racine de l'arbre
 void affSousArbre()
           
 void annuler()
           
 Attribut attributAt(int index, int x, int y)
           
 void attributClicked(Attribut attribut, int index)
          Sélection d'un attribut
 void attributClicked(Attribut a, Noeud noeudSelect)
          Appelée lorsque l'on clic sur un attribut
 void attributMoved(int x, int y)
           
 void changeAffAttributs()
          Afficher / masquer les attributs d'un noeud
 void copyAttribut()
          Pour copier un attribut Méthode appelée via le popUp
protected  void copyAttribut(Noeud n)
          Copie de l'attribut sélectionné dans le noeud passé en paramètre
 Noeud copyNode()
          Duplication du noeud à l'index index
 Noeud copyNode(int index)
          Copie d'un noeud
 Noeud copyNode(Noeud n)
          Copie d'un noeud
 Noeud copyTree()
          Copie d'un arbre (ou sous-arbre)
 Noeud copyTree(int index)
          Copie d'un arbre (ou sous-arbre)
 Noeud copyTree(Noeud unNoeud)
          Copie d'un arbre (récursive)
 Attribut createAttribute(int i)
          Pour créer un nouvel attribut (Pomme sur un attribut) à partir de l'index du noeud
 Attribut createAttribute(Noeud n)
          Pour créer un nouvel attribut (Pomme sur un attribut) Rattaché au noeud n
 void createNode()
          Pour créer un noeud lorsque l'on clic sur le canvas a la position du dernier clic
 void createNode(int x, int y)
          Pour créer un noeud lorsque l'on clic sur le canvas x, y : la position du clic
 Node createNode(java.lang.String nom, int x, int y)
          Pour créer un noeud lorsque l'on clic sur le canvas x, y : la position du clic
 void createRelation(int index)
          Pour créer une relation sur le noeud à l'index
 void deplacer2(int x, int y)
          Déplacement du canvas
 void deplacerAttribut(int x, int y)
          On déplace un attribut
 void deplacerAuto(int x, int y)
          déplacement du canvas de manière à amener le point du canvas cliqué aux coordonnées (x, y)
 void doSelected(Selectable s)
           
 void dragMode()
          on passe en mode drag
 void editer(Attribut a, int index)
           
 void editerAttribut()
           
 void editNode()
          Pour éditer un noeud
 void editNode(int index)
           
 void eraseAll()
           
 void eraseAttribut()
          Effacer l'attribut sélectionné
 void eraseNode()
           
 void eraseNode(int index)
           
 void eraseTree()
           
 void eraseTree(int index)
          Effacer l'arbre de racine le noeud à l'index
 AttributPopUp getAttributPopUp()
          Récupérer le PopUp des attributs
 IkbsPopupMenu getCanvasPopUp()
          Récupérer le PopUp du canvas
 ComponentPopUp getComponentPopUp()
          Récupérer le PopUp des composants
 boolean getEdition()
          return true si le canvas est en mode édition en mode édition, toute action est possible sir le canvas (déplacer les objets, etc.)
 java.awt.Dimension getPreferredSize()
          Surcharge de la méthode getPreferredSize() de java.awt.Component Permet de s'adapter automatiquement lors d'un redimensionnement
 void init()
          Initialisation du ActionGraphViewer Mise en place des Listeners
 boolean isAttribute(int index, int x, int y)
          pour Gérer les évenements sur les attributs
 void mouseDragged(java.awt.event.MouseEvent e)
          Lorsque l'on déplace la souris avec le doigt appuyé
 void mouseMoved(java.awt.event.MouseEvent e)
           
 boolean mouseUp(int x, int y)
          Lorsque l'on a cliqué et que l'on relache le bouton
 void mouseWheelMoved(java.awt.event.MouseWheelEvent e)
          implémentation de la méthode du MouseWheelListener
 void moveTree(int index)
          Pour déplacer le sous arbre de racine le noeud à l'index
 void moveTree(Noeud n)
           
 void noeudClicked(Noeud noeudSelect)
          Appelée lorsque l'on clic sur un noeud
 java.lang.String nomEdition()
          Retourne le nom de la fenêtre (String) qui est dépendant de la variable édition
 void recentre(int x, int y)
          Méthode déclenchée automatiquement Lance le Thread qui s'occupe de l'action
 void recentre(Noeud unNoeud)
          Permet de recentrer le canvas au coordonnées du noeud
 void recentreAuto(int x, int y)
          Gestion du recentrage dynamique (x, y) : les coordonnées du point à recentrer
protected  void relationMode(int x, int y)
           
 void rootOnNode()
           
 void rootOnNode(int index)
          On affecte la racine au noeud index
 void run()
           
protected  void selectMode(int x, int y)
          On passe en mode déplacement d'un noeud
 void selectNode(int index)
          Pour sélectionner un Node
 void selectNode(Noeud unNoeud)
          sélection d'un noeud
 void selectNode2(int index)
          Selection d'un noeud sans l'affecter en temps que noeud sélectionné
 void setAttributCible()
           
 void setAttributCible(Attribut a)
           
 void setAttributSelect(Attribut att)
          affecter l'attribut sélectionné
 void setCible(Attribut a)
          Affectation de la cible.
 void setCopyMode(boolean b)
          Positionne le mode copy ou nom
 void setEdition(boolean b)
          affecte la variable edition
 void setIndex(int index)
          affecter l'index du noeud sélectionné
 void valider()
           
 void waitTime(int i, int nb_iter)
           
 
Methods inherited from class ikbs.tools.trees.GraphViewer
activeTextRelations, addRect, affAttributs, afficherInfo, affSousArbre, affSousArbreRec, ajouterNoeud, bougeNoeud, bougeNoeudRec, bougeNoeudRecs, calculDimension, calculDimension, calculDimensionAtt, calculDimensionObj, calculDimensionRel, changeAffAttributs, changeBgColor, changeBgColorAtt, changeFormeRelation, changeLabelColor, changeLabelColorAtt, creerNoeud, creerNoeud, creerNoeud, creerNoeudRacine, demarquer, demarquer2, deplacer, desactiveTextRelations, dimension, drawZoom, editer, editer, effacerNoeud, effacerNoeud, effacerNoeudsRec, formatter, formatter2, formatter3, getBackgroundPicture, getFrame, getInfo, getNoeudSelect, getPosX, getPosY, getX, getY, getZoom, indexOf, initFont, initRelation, marquer, marquer2, nbNoeuds, noeudRacine, noeuds, noeuds, paint, paint, paintBackground, posLienRelations, putLastPosition, reCalculDimension, rechNoeud, rechNoeud, rect, refreshNoeud, rePositionne, setBackgroundPicture, setBgAlignment, setFormatter, setInfo, setNoeuds, setNoeudSelect, setPoliceAtt, setPoliceObj, setPoliceRel, setPosClic, setPosX, setPosY, setRacine, setRect, setRect, setRect, setShowArrow, setStyleAtt, setStyleObj, setStyleRel, setX, setY, setZoom, setZoomViewer, update, ZM, zoomCanvas, ZP
 
Methods inherited from class ikbs.tools.utils.PanelBuffer
dispose, getDoubleBuffer, initOffGraphics, offscreen, setBounds, setDoubleBuffer, update
 
Methods inherited from class ikbs.tools.utils.IkbsPanel
adaptedSize, initGridBagConstraint, xyPosition, xyPosition
 
Methods inherited from class java.awt.Panel
addNotify, getAccessibleContext
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, addImpl, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getAlignmentX, getAlignmentY, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getInsets, getLayout, getListeners, getMaximumSize, getMinimumSize, getMousePosition, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, paramString, preferredSize, print, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, removeNotify, setComponentZOrder, setFocusCycleRoot, setFocusTraversalKeys, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setFont, setLayout, transferFocusBackward, transferFocusDownCycle, validate, validateTree
 
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, contains, createImage, createImage, createVolatileImage, createVolatileImage, disable, disableEvents, dispatchEvent, enable, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBaseline, getBaselineResizeBehavior, getBounds, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphics, getGraphicsConfiguration, getHeight, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getSize, getToolkit, getTreeLock, getWidth, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isDoubleBuffered, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isOpaque, isPreferredSizeSet, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, printAll, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processKeyEvent, processMouseEvent, processMouseMotionEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, repaint, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, reshape, resize, resize, setBackground, setBounds, setComponentOrientation, setCursor, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeysEnabled, setForeground, setIgnoreRepaint, setLocale, setLocation, setLocation, setMaximumSize, setMinimumSize, setName, setPreferredSize, setSize, setSize, setVisible, show, show, size, toString, transferFocus, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface ikbs.tools.zoom.ZoomInterface
deplacer, dimension, getBackground, getPosX, getPosY, getSize, getX, getY, paint, setPosX, setPosY, setX, setY
 

Field Detail

NORMAL

public static final int NORMAL
See Also:
Constant Field Values

RAPIDE

public static final int RAPIDE
See Also:
Constant Field Values

TRES_RAPIDE

public static final int TRES_RAPIDE
See Also:
Constant Field Values

MOUSEWHEEL_ZOOM

public static final int MOUSEWHEEL_ZOOM
See Also:
Constant Field Values

MOUSEWHEEL_SCROLL

public static final int MOUSEWHEEL_SCROLL
See Also:
Constant Field Values

anim

public static boolean anim

FLUIDITE

public static double FLUIDITE

MAX_ITER

public static int MAX_ITER

TIME_SLEEP

public static int TIME_SLEEP

xDepart

protected int xDepart

yDepart

protected int yDepart

monThread

protected java.lang.Thread monThread

changedAff

protected boolean changedAff

edition

protected boolean edition

canvasPopUp

protected IkbsPopupMenu canvasPopUp

componentPopUp

protected ComponentPopUp componentPopUp

attributPopUp

protected AttributPopUp attributPopUp

index

protected int index

selected

protected Selectable selected

vitesse

protected int vitesse

mousewheel

protected int mousewheel

attributClic

protected boolean attributClic

attributDrag

protected boolean attributDrag

copyMode

protected boolean copyMode
Constructor Detail

ActionGraphViewer

public ActionGraphViewer()
Method Detail

init

public void init()
Initialisation du ActionGraphViewer Mise en place des Listeners

Overrides:
init in class GraphViewer

getPreferredSize

public java.awt.Dimension getPreferredSize()
Surcharge de la méthode getPreferredSize() de java.awt.Component Permet de s'adapter automatiquement lors d'un redimensionnement

Overrides:
getPreferredSize in class java.awt.Container

getAttributPopUp

public AttributPopUp getAttributPopUp()
Récupérer le PopUp des attributs


getComponentPopUp

public ComponentPopUp getComponentPopUp()
Récupérer le PopUp des composants


getCanvasPopUp

public IkbsPopupMenu getCanvasPopUp()
Récupérer le PopUp du canvas


getEdition

public boolean getEdition()
return true si le canvas est en mode édition en mode édition, toute action est possible sir le canvas (déplacer les objets, etc.)


setEdition

public void setEdition(boolean b)
affecte la variable edition


setCopyMode

public void setCopyMode(boolean b)
Positionne le mode copy ou nom


setIndex

public void setIndex(int index)
affecter l'index du noeud sélectionné


setAttributSelect

public void setAttributSelect(Attribut att)
affecter l'attribut sélectionné


nomEdition

public java.lang.String nomEdition()
Retourne le nom de la fenêtre (String) qui est dépendant de la variable édition


affecteRacine

public void affecteRacine(Noeud n)
Affecter la racine de l'arbre


setCible

public void setCible(Attribut a)
Affectation de la cible. La cible peut être par exemple la cible du moteur d'induction Surchargée par les sous-classes


isAttribute

public boolean isAttribute(int index,
                           int x,
                           int y)
pour Gérer les évenements sur les attributs


attributAt

public Attribut attributAt(int index,
                           int x,
                           int y)

setAttributCible

public void setAttributCible(Attribut a)

setAttributCible

public void setAttributCible()

editer

public void editer(Attribut a,
                   int index)

editerAttribut

public void editerAttribut()

createRelation

public void createRelation(int index)
Pour créer une relation sur le noeud à l'index


createNode

public void createNode(int x,
                       int y)
Pour créer un noeud lorsque l'on clic sur le canvas x, y : la position du clic


createNode

public void createNode()
Pour créer un noeud lorsque l'on clic sur le canvas a la position du dernier clic


createNode

public Node createNode(java.lang.String nom,
                       int x,
                       int y)
Pour créer un noeud lorsque l'on clic sur le canvas x, y : la position du clic


createAttribute

public Attribut createAttribute(Noeud n)
Pour créer un nouvel attribut (Pomme sur un attribut) Rattaché au noeud n


createAttribute

public Attribut createAttribute(int i)
Pour créer un nouvel attribut (Pomme sur un attribut) à partir de l'index du noeud


selectNode

public void selectNode(int index)
Pour sélectionner un Node


selectNode

public void selectNode(Noeud unNoeud)
sélection d'un noeud


doSelected

public void doSelected(Selectable s)

selectNode2

public void selectNode2(int index)
Selection d'un noeud sans l'affecter en temps que noeud sélectionné


moveTree

public void moveTree(int index)
Pour déplacer le sous arbre de racine le noeud à l'index


moveTree

public void moveTree(Noeud n)

editNode

public void editNode()
Pour éditer un noeud


editNode

public void editNode(int index)

eraseNode

public void eraseNode(int index)

eraseNode

public void eraseNode()

eraseAttribut

public void eraseAttribut()
Effacer l'attribut sélectionné


eraseTree

public void eraseTree(int index)
Effacer l'arbre de racine le noeud à l'index


eraseTree

public void eraseTree()

eraseAll

public void eraseAll()

rootOnNode

public void rootOnNode(int index)
On affecte la racine au noeud index


rootOnNode

public void rootOnNode()

copyNode

public Noeud copyNode()
Duplication du noeud à l'index index


copyNode

public Noeud copyNode(int index)
Copie d'un noeud


changeAffAttributs

public void changeAffAttributs()
Afficher / masquer les attributs d'un noeud


affSousArbre

public void affSousArbre()

copyNode

public Noeud copyNode(Noeud n)
Copie d'un noeud


copyTree

public Noeud copyTree()
Copie d'un arbre (ou sous-arbre)


copyTree

public Noeud copyTree(int index)
Copie d'un arbre (ou sous-arbre)


copyTree

public Noeud copyTree(Noeud unNoeud)
Copie d'un arbre (récursive)


dragMode

public void dragMode()
on passe en mode drag

Specified by:
dragMode in interface ZoomInterface

noeudClicked

public void noeudClicked(Noeud noeudSelect)
Appelée lorsque l'on clic sur un noeud


attributClicked

public void attributClicked(Attribut a,
                            Noeud noeudSelect)
Appelée lorsque l'on clic sur un attribut


attributClicked

public void attributClicked(Attribut attribut,
                            int index)
Sélection d'un attribut


attributMoved

public void attributMoved(int x,
                          int y)

valider

public void valider()
Specified by:
valider in interface DialogListener

annuler

public void annuler()
Specified by:
annuler in interface DialogListener

copyAttribut

protected void copyAttribut(Noeud n)
Copie de l'attribut sélectionné dans le noeud passé en paramètre


copyAttribut

public void copyAttribut()
Pour copier un attribut Méthode appelée via le popUp


deplacerAttribut

public void deplacerAttribut(int x,
                             int y)
On déplace un attribut


deplacer2

public void deplacer2(int x,
                      int y)
Déplacement du canvas


mouseDragged

public void mouseDragged(java.awt.event.MouseEvent e)
Lorsque l'on déplace la souris avec le doigt appuyé

Specified by:
mouseDragged in interface java.awt.event.MouseMotionListener

mouseMoved

public void mouseMoved(java.awt.event.MouseEvent e)
Specified by:
mouseMoved in interface java.awt.event.MouseMotionListener

relationMode

protected void relationMode(int x,
                            int y)

selectMode

protected void selectMode(int x,
                          int y)
On passe en mode déplacement d'un noeud


mouseUp

public boolean mouseUp(int x,
                       int y)
Lorsque l'on a cliqué et que l'on relache le bouton

Specified by:
mouseUp in interface ZoomInterface

mouseWheelMoved

public void mouseWheelMoved(java.awt.event.MouseWheelEvent e)
implémentation de la méthode du MouseWheelListener

Specified by:
mouseWheelMoved in interface java.awt.event.MouseWheelListener

recentreAuto

public void recentreAuto(int x,
                         int y)
Gestion du recentrage dynamique (x, y) : les coordonnées du point à recentrer


deplacerAuto

public void deplacerAuto(int x,
                         int y)
déplacement du canvas de manière à amener le point du canvas cliqué aux coordonnées (x, y)


waitTime

public void waitTime(int i,
                     int nb_iter)

recentre

public void recentre(Noeud unNoeud)
Permet de recentrer le canvas au coordonnées du noeud

Overrides:
recentre in class GraphViewer

recentre

public void recentre(int x,
                     int y)
Méthode déclenchée automatiquement Lance le Thread qui s'occupe de l'action

Specified by:
recentre in interface ZoomInterface
Overrides:
recentre in class GraphViewer

run

public void run()
Specified by:
run in interface java.lang.Runnable