de.guibuilder.framework
Class GuiTree

java.lang.Object
  |
  +--de.guibuilder.framework.GuiMember
        |
        +--de.guibuilder.framework.GuiElement
              |
              +--de.guibuilder.framework.GuiComponent
                    |
                    +--de.guibuilder.framework.GuiTree
All Implemented Interfaces:
java.awt.dnd.DragGestureListener, java.awt.dnd.DropTargetListener, java.util.EventListener, MemberAble, java.io.Serializable

public final class GuiTree
extends GuiComponent
implements java.awt.dnd.DragGestureListener, java.awt.dnd.DropTargetListener

Implementierung einer Baum-Komponente.

See Also:
GuiTreeNode, GuiTreeElement, GuiTreeContent, Serialized Form

Field Summary
static int NODE_DOWN
           
static int NODE_UP
           
 
Fields inherited from class de.guibuilder.framework.GuiComponent
BOOLEAN, DATA_TYPE_NAMES, DATE, ENUM, INTEGER, linkColumn, linkTable, MULTILINE, NUMBER, STRING, TABLE, TIME, TREE
 
Fields inherited from class de.guibuilder.framework.GuiElement
actionChange, actionDblClick
 
Fields inherited from class de.guibuilder.framework.GuiMember
GUI_ACTION, GUI_COMPONENT, GUI_CONTAINER, GUI_TABLE, GUI_TREE, GUI_TYPE_NAMES, hasMouseListener, OID
 
Constructor Summary
GuiTree(GuiTreeNode root)
          Erzeugt einen Tree mit einem initialen Wurzelknoten.
 
Method Summary
 void addElement(GuiTreeElement ele)
          Wird von der Factory bei "Begin Element" aufgerufen.
 void addGuiNode(GuiTreeNode node)
          Fügt dem Baum einen Knoten hinzu.
 GuiTreeNode addGuiNode(java.lang.String title)
          Fügt einen Knoten hinzu, dessen Beschriftung auch seinem Namen entspricht.
 GuiTreeNode addGuiNode(java.lang.String title, java.lang.String name)
          Fügt einen Knoten hinzu, der zu seiner Beschriftung einen abweichenden Namen trägt.
 void copyNode()
          Kopiert den selektierten Knoten.
 GuiTreeNode createNode()
          Erzeugt einen Node unterhalb des selektierten Nodes.
 GuiTreeNode createNode(GuiTreeNode node)
          Erzeugt einen neuen Knoten im Baum unterhalb des aktivierten Knotens.
 GuiTreeNode createNode(java.lang.String nodeName)
          Erzeugt einen Enkel-Node unterhalb des Nodes, dessen Name unterhalb des selektierten Nodes angegeben ist.
 void cutNode()
          Schneidet den selektierten Knoten aus.
 void dragEnter(java.awt.dnd.DropTargetDragEvent event)
           
 void dragExit(java.awt.dnd.DropTargetEvent event)
           
 void dragGestureRecognized(java.awt.dnd.DragGestureEvent event)
           
 void dragOver(java.awt.dnd.DropTargetDragEvent event)
           
 void drop(java.awt.dnd.DropTargetDropEvent event)
           
 void dropActionChanged(java.awt.dnd.DropTargetDragEvent event)
           
 electric.xml.Document exportGuiBuilder(GuiTreeNode rootNode)
           
 electric.xml.Document getAllValuesXml()
          Speichert einen Navigator-Baum in einem XML-Dokument.
 int getDataType()
          Liefert TREE
 GuiTreeElement getElement(java.lang.String name)
          Liefert ein TreeElement unter Angabe seines Namens.
 java.util.Hashtable getElements()
          Liefert die Hashtable der GuiTreeElemente zum Tree.
 javax.swing.tree.DefaultTreeModel getGuiTreeModel()
          Liefert das Model zum Tree.
 GuiTreeNode getGuiTreeNode(java.lang.String path)
          Liefert den Knoten unter Angabe seines Pfades root.myFolder.myNode
 int getGuiType()
          Liefert GUI_TREE
 javax.swing.JComponent getJComponent()
          Liefert JTree
 java.lang.String getMsgNodeClick()
          Liefert das ActionCommand, daß bei der Selection eines anderen Knotens geliefert wird.
 GuiPanel getPanel(java.lang.String fileName)
          Liefert das Panel unter dem angegebenen Namen oder null, wenn keines gefunden wurde.
 GuiTreeNode getSelectedNode()
          Liefert den vom Benutzer selektierten Knoten.
 java.lang.String getTag()
          Liefert den XML-Element-Tag für den Member.
 javax.swing.JTree getTree()
          Public wegen Code Generator
 java.lang.Object getValue()
          XXX PENDING Not Implemented!
 void importNodesFromXml(electric.xml.Document doc, GuiTreeNode parent)
          Importiert eine Menge von Nodes aus einem Xml-Dokument unterhalb des angegebenen Parents.
 void nodeDown()
          Schiebt den selektierten Node um eins nach unten.
 void nodeLeft()
          Verschiebt den selektierten Knoten eine Ebene höher.
 void nodeRight()
          Verschiebt den selektierten Knoten eine Ebene tiefer; d.h. der Knoten oberhalb wird sein neuer Parent.
 void nodeUp()
          Schiebt den selektierten Node um eins nach oben.
 void pasteNode()
          Fügt einen kopierten oder ausgeschnittenen Knoten als ChildNode des selektierten Knoten ein.
 void pasteNode(int offset)
          Fügt einen kopierten oder ausgeschnittenen Knoten oberhalb oder unterhalb des selektierten Knoten ein.
 void reset()
          XXX PENDING Not Implemented!
 void setAllValuesXml(electric.xml.Element root)
          Füllt den Baum mit Knoten aus einem XML-Document.
 void setElements(java.util.Hashtable hash)
          Setzt die Hashtable der GuiTreeElemente zum Tree.
 void setModel(GuiTreeNode root)
          Setzt das TreeModel.
 void setMsgNodeClick(java.lang.String s)
          Setzt das ActionCommand, daß bei der Selection eines anderen Knotens geliefert wird.
 void setSelectedNode(GuiTreeNode node)
           
 void setSelectedNode(java.lang.String name)
          Setzt den selektierten Knoten neu.
 void setValue(java.lang.Object value)
          XXX PENDING Not Implemented!
 void valueChanged(javax.swing.tree.TreePath path)
          Setzt den selektierten Knoten neu.
 
Methods inherited from class de.guibuilder.framework.GuiComponent
getDataTypeName, getMaxlen, getMinlen, getModelValues, isModified, isNotnull, setMaxlen, setMinlen, setModelValues, setModified, setNotnull, verify
 
Methods inherited from class de.guibuilder.framework.GuiElement
getFileName, getHint, getMsgChange, getMsgDblClick, getParentTable, getRootPane, isEnabled, requestFocus, setEnabled, setHint, setMsgChange, setMsgDblClick, setMsgLostFocus, setParentTable
 
Methods inherited from class de.guibuilder.framework.GuiMember
click, d_click, getBackground, getConstraints, getControler, getElementName, getFont, getForeground, getFullName, getGuiParent, getGuiTypeName, getLabel, getMaximumSize, getMinimumSize, getMsgMouseOver, getName, getOid, getParentNames, getParentTab, getPreferredSize, getRef, getToolTipText, getUserObject, getXValue, isVisible, setBackground, setConstraints, setControler, setFont, setForeground, setGuiParent, setLabel, setMaximumSize, setMinimumSize, setMsgMouseMoved, setMsgMouseOver, setName, setOid, setPopupMenu, setPreferredSize, setRef, setToolTipText, setUserObject, setVisible
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

NODE_UP

public static int NODE_UP

NODE_DOWN

public static int NODE_DOWN
Constructor Detail

GuiTree

public GuiTree(GuiTreeNode root)
Erzeugt einen Tree mit einem initialen Wurzelknoten.
Der Wurzelknoten wird dabei auch mit dieser Tree-Komponente assoziiert, um von einem Knoten wieder auf den Tree zugreifen zu können.

See Also:
GuiTreeNode.getMyTree()
Method Detail

getTag

public final java.lang.String getTag()
Description copied from class: GuiMember
Liefert den XML-Element-Tag für den Member.

Specified by:
getTag in interface MemberAble
Specified by:
getTag in class GuiMember

getJComponent

public final javax.swing.JComponent getJComponent()
Liefert JTree

Specified by:
getJComponent in class GuiMember

getTree

public final javax.swing.JTree getTree()
Public wegen Code Generator


getGuiType

public final int getGuiType()
Liefert GUI_TREE

Overrides:
getGuiType in class GuiComponent

getDataType

public final int getDataType()
Liefert TREE

Specified by:
getDataType in class GuiComponent

setMsgNodeClick

public final void setMsgNodeClick(java.lang.String s)
Setzt das ActionCommand, daß bei der Selection eines anderen Knotens geliefert wird.

See Also:
GuiTreeNodeSelectionEvent

getMsgNodeClick

public final java.lang.String getMsgNodeClick()
Liefert das ActionCommand, daß bei der Selection eines anderen Knotens geliefert wird.

See Also:
GuiTreeNodeSelectionEvent

dragGestureRecognized

public void dragGestureRecognized(java.awt.dnd.DragGestureEvent event)
Specified by:
dragGestureRecognized in interface java.awt.dnd.DragGestureListener

dragEnter

public void dragEnter(java.awt.dnd.DropTargetDragEvent event)
Specified by:
dragEnter in interface java.awt.dnd.DropTargetListener

dragExit

public void dragExit(java.awt.dnd.DropTargetEvent event)
Specified by:
dragExit in interface java.awt.dnd.DropTargetListener

dragOver

public void dragOver(java.awt.dnd.DropTargetDragEvent event)
Specified by:
dragOver in interface java.awt.dnd.DropTargetListener

dropActionChanged

public void dropActionChanged(java.awt.dnd.DropTargetDragEvent event)
Specified by:
dropActionChanged in interface java.awt.dnd.DropTargetListener

drop

public void drop(java.awt.dnd.DropTargetDropEvent event)
Specified by:
drop in interface java.awt.dnd.DropTargetListener

addGuiNode

public void addGuiNode(GuiTreeNode node)
Fügt dem Baum einen Knoten hinzu.
Der Knoten wird unterhalb des zuletzt selektierten Knotens eingefügt.

See Also:
setSelectedNode(java.lang.String)

addGuiNode

public GuiTreeNode addGuiNode(java.lang.String title)
Fügt einen Knoten hinzu, dessen Beschriftung auch seinem Namen entspricht.


addGuiNode

public GuiTreeNode addGuiNode(java.lang.String title,
                              java.lang.String name)
Fügt einen Knoten hinzu, der zu seiner Beschriftung einen abweichenden Namen trägt.


getPanel

public GuiPanel getPanel(java.lang.String fileName)
Liefert das Panel unter dem angegebenen Namen oder null, wenn keines gefunden wurde.


setSelectedNode

public void setSelectedNode(java.lang.String name)
Setzt den selektierten Knoten neu.

Parameters:
name - Angabe in Punktnotation "root.myFolder.myNode" mit den Namen der jeweiligen (Zwischen-)Knoten. Wenn kein "." enthalten, dann wird unterhalb des selectedNode nach Unterknoten gesucht.

setSelectedNode

public void setSelectedNode(GuiTreeNode node)

getSelectedNode

public GuiTreeNode getSelectedNode()
Liefert den vom Benutzer selektierten Knoten.


getGuiTreeModel

public javax.swing.tree.DefaultTreeModel getGuiTreeModel()
Liefert das Model zum Tree.


valueChanged

public void valueChanged(javax.swing.tree.TreePath path)
Setzt den selektierten Knoten neu. Wird von GuiTreeSelectionAdapter aufgerufen.

See Also:
GuiTreeSelectionAdapter

setModel

public void setModel(GuiTreeNode root)
Setzt das TreeModel.

Parameters:
root - Wurzelknoten des Baums

getElements

public java.util.Hashtable getElements()
Liefert die Hashtable der GuiTreeElemente zum Tree.

See Also:
addElement(de.guibuilder.framework.GuiTreeElement), GuiTreeElement

getElement

public GuiTreeElement getElement(java.lang.String name)
Liefert ein TreeElement unter Angabe seines Namens.


setElements

public void setElements(java.util.Hashtable hash)
Setzt die Hashtable der GuiTreeElemente zum Tree.

See Also:
GuiTreeElement

addElement

public void addElement(GuiTreeElement ele)
Wird von der Factory bei "Begin Element" aufgerufen.


createNode

public GuiTreeNode createNode(GuiTreeNode node)
Erzeugt einen neuen Knoten im Baum unterhalb des aktivierten Knotens. Es wird ein Dialog aufgerufen, in dem der gewünschte Knotentyp ausgewählt werden kann (wenn mit den Keywords "Element" und "Content" definiert).

Returns:
Der neu angelegte Node oder null.

createNode

public GuiTreeNode createNode()
Erzeugt einen Node unterhalb des selektierten Nodes.

Eingebaute Methode NewNode()


createNode

public GuiTreeNode createNode(java.lang.String nodeName)
Erzeugt einen Enkel-Node unterhalb des Nodes, dessen Name unterhalb des selektierten Nodes angegeben ist.


copyNode

public void copyNode()
Kopiert den selektierten Knoten.

See Also:
pasteNode()

cutNode

public void cutNode()
Schneidet den selektierten Knoten aus.

See Also:
pasteNode()

nodeUp

public void nodeUp()
Schiebt den selektierten Node um eins nach oben.

Macht nichts, wenn der selektierte Knoten die Wurzel oder der erste Knoten ist.


nodeDown

public void nodeDown()
Schiebt den selektierten Node um eins nach unten. Macht nichts, wenn der selektierte Knoten die Wurzel oder der letzte Knoten ist.


nodeLeft

public void nodeLeft()
Verschiebt den selektierten Knoten eine Ebene höher.

Es ist dabei nicht möglich, den Knoten zum Wurzelknoten zu machen.


nodeRight

public void nodeRight()
Verschiebt den selektierten Knoten eine Ebene tiefer; d.h. der Knoten oberhalb wird sein neuer Parent.


pasteNode

public void pasteNode()
Fügt einen kopierten oder ausgeschnittenen Knoten als ChildNode des selektierten Knoten ein.

See Also:
copyNode(), cutNode()

pasteNode

public void pasteNode(int offset)
Fügt einen kopierten oder ausgeschnittenen Knoten oberhalb oder unterhalb des selektierten Knoten ein.


getGuiTreeNode

public GuiTreeNode getGuiTreeNode(java.lang.String path)
Liefert den Knoten unter Angabe seines Pfades

root.myFolder.myNode


setValue

public void setValue(java.lang.Object value)
XXX PENDING Not Implemented!

Overrides:
setValue in class GuiComponent
See Also:
GuiComponent.setModified(boolean), GuiComponent.isModified()

getValue

public java.lang.Object getValue()
XXX PENDING Not Implemented!

Specified by:
getValue in class GuiComponent

reset

public void reset()
XXX PENDING Not Implemented!
Die Frage besteht darin, ob alle? Konten des Baums bei "reset" gelöscht werden sollen.

Overrides:
reset in class GuiMember

getAllValuesXml

public electric.xml.Document getAllValuesXml()
Speichert einen Navigator-Baum in einem XML-Dokument.


setAllValuesXml

public void setAllValuesXml(electric.xml.Element root)
Füllt den Baum mit Knoten aus einem XML-Document.

Throws:
java.lang.IllegalArgumentException - wenn NodeName != "Tree"

importNodesFromXml

public void importNodesFromXml(electric.xml.Document doc,
                               GuiTreeNode parent)
Importiert eine Menge von Nodes aus einem Xml-Dokument unterhalb des angegebenen Parents.


exportGuiBuilder

public electric.xml.Document exportGuiBuilder(GuiTreeNode rootNode)