2.33 :reparent()
Mit Hilfe dieser Methode können Elemente eines Baumes umgehängt werden. Dabei gibt es zwei Ausprägungen von Bäumen im IDM:
Die Informationen zu dieser Methode an einem treeview finden Sie im nachfolgenden Kapitel, die zu XML-Dokumenten im übernächsten.
2.33.1 :reparent() (treeview)
Mit Hilfe dieser Methode kann im treeview ein beliebiger Teilbaum umgehängt werden.
Definition
boolean :reparent
(
integer Start input,
integer Count input,
integer Parent input,
integer Target input
)
Parameter
- integer Start input
- In diesem Parameter wird der Index des Teilbaumes angegeben, der umgehängt werden soll.
- integer Count input
- Mit Hilfe dieses Parameters wird angegeben, wie viele Elemente im Baum umgehängt werden sollen.
- integer Parent input
- In diesem Parameter wird der Index des neuen Vaters des Teilbaumes angegeben.
- integer Target input
- In diesem Parameter wird der absolute Index angegeben, hinter dem der verschobene Teilbaum eingefügt werden soll.
Rückgabewert
- true
- Der Teilbaum wurde erfolgreich umgehängt.
- false
- Das Umhängen des Teilbaumes hat nicht funktioniert.
Objekte mit dieser Methode
Beispiel
dialog D
window Wn
{
.title "Beispiel fuer die Methode :reparent()";
child treeview Tv
{
.content[1] "Firma A";
.content[2] "Mueller ";
.content[3] "Mayer";
.content[4] "Firma B";
.content[5] "Schulz ";
.content[6] "Schmidt ";
.content[7] "Fisc her";
.style[style_lines] true;
.style[style_buttons] true;
.style[style_root] true;
.level[2] 2;
.level[3] 2;
.level[5] 2;
.level[6] 2;
.level[7] 2;
boolean Select := false;
integer Index := 0;
on select
{
if Tv.Select then
Tv:reparent(Tv.Index, 1, Tv.activeitem, Tv.activeitem);
Tv.Select := false;
St.text := "";
endif
}
}
child pushbutton Pb
{
.text "Firma angliedern";
on select
{
variable integer Index;
Tv.Index := Tv.activeitem;
St.text := "Waehlen sie eine neue Firma";
Tv.Select := true;
}
}
child statictext St
{
.text "";
}
}
2.33.2 :reparent() (doccursor)
Diese Methode hängt den DOM-Knoten mit allen Kindknoten um.
Werden die Werte des .path-Attributs woanders gemerkt (zum Beispiel im .userdata-Attribut), dann ist zu beachten, dass diese gemerkten Werte nicht angepasst werden, wenn die Struktur des DOM-Baums verändert wird. Ein anschließender Aufruf der Methode :select() mit einem dieser gemerkten Werte, kann demzufolge den XML-Cursor auf einen falschen DOM-Knoten zeigen lassen.
Definition
boolean :reparent ( object Parent input { , integer Index := -1 input } )
boolean :reparent
(
integer Index input
)
Parameter
- object Parent input
-
Gibt den neuen Vaterknoten an. Muss vom Typ doccursor sein.
Ist kein Index angegeben, dann wird der DOM-Knoten als letzter eingefügt.
- integer Index input
- Gibt die Position an, an der der DOM-Knoten eingefügt werden soll. Ist ‑1 als Index angegeben, dann wird der DOM-Knoten als letzter Knoten angefügt.
Rückgabewert
Gibt an, ob die Aktion erfolgreich war.
Objekte mit dieser Methode