de.guibuilder.framework
Class GuiTree

java.lang.Object
  extended by de.guibuilder.framework.GuiMember
      extended by de.guibuilder.framework.GuiElement
          extended by de.guibuilder.framework.GuiComponent
              extended by de.guibuilder.framework.GuiTree
All Implemented Interfaces:
IDatasetComponent, IDatasetMember, MemberAble, MemberPopupAble

public final class GuiTree
extends GuiComponent

Implementierung einer Baum-Komponente.

See Also:
GuiTreeNode, GuiTreeElement, GuiTreeContent

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, MULTILINE, NUMBER, STRING, TABLE, TIME, TREE
 
Fields inherited from class de.guibuilder.framework.GuiMember
GUI_ACTION, GUI_COMPONENT, GUI_CONTAINER, GUI_TABLE, GUI_TREE, GUI_TYPE_NAMES, OID
 
Constructor Summary
GuiTree(GuiTreeNode root)
          Erzeugt einen Tree mit einem initialen Wurzelknoten.
 
Method Summary
 void addElement(GuiTreeElement ele)
          Wird von der Factory bei "
 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 commitChanges()
          Teilt der Komponente mit, daß die Benutzereingaben erfolgreich verarbeitet wurden.
 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 dragGestureRecognized(java.awt.dnd.DragGestureEvent event)
           
 electric.xml.Document getAllValuesXml()
          Speichert einen Navigator-Baum in einem XML-Dokument.
 void getDatasetValues(JDataSet ds)
          Der von der Komponente gehaltene Wert wird in den Dataset eingetragen.
 int getDataType()
          Liefert TREE
 java.util.LinkedHashMap<java.lang.String,GuiTreeElement> getElements()
          Liefert die HashMap der GuiTreeElemente zum Tree.
 GuiTreeElement getGuiTreeElement(java.lang.String name)
          Liefert ein TreeElement unter Angabe seines Namens.
 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
 GuiTreeNode getLastNode()
          Liefert den TreeNode vor(!)
 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 getRoot()
          Liefert den Wurzelknoten des Baums.
 GuiTreeNode getSelectedNode()
          Liefert den vom Benutzer selektierten Knoten.
 GuiSplit getSplit()
          Liefert das ggf. vorhandene Split Panel zu diesem Tree oder null, wenn keins vorhanden.
 java.lang.String getTag()
          Liefert den XML-Element-Tag für den Member.
 javax.swing.JTree getTree()
          Public wegen Code Generator
 java.lang.Object getUnformatedValue()
          Liefert den unformatierten Inhalt dieser Componente.
 java.lang.Object getValue()
          TODO : 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()
          TODO : Not Implemented!
 void setAllValuesXml(electric.xml.Element root)
          Füllt den Baum mit Knoten aus einem XML-Document.
 void setDatasetValues(JDataSet ds)
          Setzt den Inhalt der Komponente auf den Inhalt des Models der über getElementPath erreichbar ist.
 void setElements(java.util.LinkedHashMap<java.lang.String,GuiTreeElement> hash)
          Setzt die HashMap 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 Node neu.
 void setValue(java.lang.Object value)
          TODO : Not Implemented!
 void valueChanged(javax.swing.tree.TreePath path)
          Setzt den selektierten Knoten neu.
 
Methods inherited from class de.guibuilder.framework.GuiComponent
getDatasetValues, getDataTypeName, getGuiComponent, getLabel, getMaxlen, getMinlen, isModified, isNotnull, postProc, setMaxlen, setMinlen, setModified, setNotnull, toString, verify
 
Methods inherited from class de.guibuilder.framework.GuiElement
getFileName, getHint, getMsgChange, getMsgClick, getMsgDblClick, getParentTable, getRootPane, hasTabstop, isEnabled, requestFocus, setEnabled, setHint, setMsgChange, setMsgClick, setMsgDblClick, setMsgLostFocus, setParentTable, setTabstop
 
Methods inherited from class de.guibuilder.framework.GuiMember
addSetter, click, d_click, getAwtComponent, getBackground, getConstraints, getControler, getController, getDropTarget, getElementName, getElementPath, getFont, getForeground, getFullName, getGuiParent, getGuiTypeName, getMaximumSize, getMemberElement, getMinimumSize, getMsgDragEnter, getMsgDragExit, getMsgDragOver, getMsgDrop, getMsgFileDrop, getMsgMouseOver, getMsgPopup, getName, getOid, getParentNames, getParentTab, getPopupMenu, getPreferences, getPreferredSize, getRef, getToolTipText, getUserObject, isRootElement, isVisible, setBackground, setConstraints, setControler, setController, setDrag, setElementName, setFont, setForeground, setGuiParent, setLabel, setMaximumSize, setMinimumSize, setMsgDragEnter, setMsgDragExit, setMsgDragOver, setMsgDrop, setMsgFileDrop, setMsgMouseMoved, setMsgMouseOver, setMsgPopup, setName, setOid, setPopupMenu, setPreferences, setPreferredSize, setRef, setStateAttributes, setToolTipText, setUserObject, setVisible, showPopupMenu, showPopupMenu
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface de.guibuilder.framework.IDatasetMember
getElementName, getElementPath, isRootElement, setElementName
 

Field Detail

NODE_UP

public static final int NODE_UP
See Also:
Constant Field Values

NODE_DOWN

public static final int NODE_DOWN
See Also:
Constant Field Values
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

setDatasetValues

public final void setDatasetValues(JDataSet ds)
Setzt den Inhalt der Komponente auf den Inhalt des Models der über getElementPath erreichbar ist. Wird von GuiTable und GuiTree überschrieben. Voraussetzung ist, daß ein Attribut "element" spezifiziert ist.

Specified by:
setDatasetValues in interface IDatasetComponent
Overrides:
setDatasetValues in class GuiComponent

getDatasetValues

public final void getDatasetValues(JDataSet ds)
Description copied from class: GuiComponent
Der von der Komponente gehaltene Wert wird in den Dataset eingetragen.

Specified by:
getDatasetValues in interface IDatasetComponent
Overrides:
getDatasetValues in class GuiComponent

commitChanges

public final void commitChanges()
Description copied from class: GuiComponent
Teilt der Komponente mit, daß die Benutzereingaben erfolgreich verarbeitet wurden. Zumeist wird die Eigenschaft "modified" nur auf "false" gesetzt.

Specified by:
commitChanges in interface IDatasetComponent
Overrides:
commitChanges in class GuiComponent

dragGestureRecognized

public void dragGestureRecognized(java.awt.dnd.DragGestureEvent event)

getRoot

public GuiTreeNode getRoot()
Liefert den Wurzelknoten des Baums.


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 Node 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.


getLastNode

public GuiTreeNode getLastNode()
Liefert den TreeNode vor(!) einem Fokus-Wechsel.


valueChanged

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

Für das Panel, welches den Fokus hat, wird verify aufgerrufen. Wenn dieses schief geht (NotNull, Datum, ...) behält das alte Panel den Fokus.

See Also:
GuiTreeSelectionAdapter

getSplit

public GuiSplit getSplit()
Liefert das ggf. vorhandene Split Panel zu diesem Tree oder null, wenn keins vorhanden.

Für Navigator Pattern.

Returns:

setModel

public void setModel(GuiTreeNode root)
Setzt das TreeModel.

Parameters:
root - Wurzelknoten des Baums

getElements

public java.util.LinkedHashMap<java.lang.String,GuiTreeElement> getElements()
Liefert die HashMap der GuiTreeElemente zum Tree.

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

getGuiTreeElement

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


setElements

public void setElements(java.util.LinkedHashMap<java.lang.String,GuiTreeElement> hash)
Setzt die HashMap der GuiTreeElemente zum Tree.

See Also:
GuiTreeElement

addElement

public void addElement(GuiTreeElement ele)
Wird von der Factory bei "

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.

Parameters:
offset - NODE_UP oder NODE_DOWN

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)
TODO : Not Implemented!

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

getUnformatedValue

public java.lang.Object getUnformatedValue()
Description copied from class: GuiComponent
Liefert den unformatierten Inhalt dieser Componente.

Specified by:
getUnformatedValue in class GuiComponent

getValue

public java.lang.Object getValue()
TODO : Not Implemented!

Specified by:
getValue in class GuiComponent

reset

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

Specified by:
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.