Inhalt in Tree Component laden

Orphelina

Erfahrenes Mitglied
Hallo,

anscheinend bin ich zu blöd dafür.
Ich habe einen MC der eine Instanz der Tree Component enthält. Der Instanzname ist "contentTree".
Nun möchte ich mir den Inhalt einer XML darstellen lassen. Ich bekomme aber gar nichts. Ist immer undefinded.
Stimmt was mit dem Code nicht oder die XML? Ich habe die Komponente in der Bibliothek und ihre Instanz in dem MC den ich attache...
Hier der Aufruf:
PHP:
var picLibXML = new XML();
picLibXML.load("bilder.xml");
picLibXML.ignoreWhite = true;
picLibXML.onLoad = function(success) {
	if (success) {
		_root.attachMovie("windowClose", "pic_lib", _root.getNextHighestDepth());
		_root.pic_lib.init(picLibXML, 177, 204, 500, 200, "Bilder Bibliothek");
		_root.pic_lib["treeContent"].dataProvider = this.firstChild.firstChild;

	}//end if
	else {
		trace("Fehler beim Laden der XML-Datei");
	}//end else
};//end function onLoad
var treeListener:Object = new Object();
treeListener.change = function(evt:Object) {
    trace("selected node is: "+evt.target.selectedNode);
    trace("");
};
_root.pic_lib["treeContent"].addEventListener("change", treeListener);

Und so sieht die XML aus:
PHP:
<?xml version="1.0" encoding="utf-8"?>
<bilderBib>
	<bild id="1" name="Testbild 1" source="img/test1.jpg"/>
	<bild id="2" name="Testbild 2" source="img/test2.jpg"/>
	<bild id="3" name="Testbild 3" source="img/test3.jpg"/>
	<bild id="4" name="Testbild 4" source="img/test4.jpg"/>
</bilderBib>
 
Guten Morgen,

mittlerweile hab ich endlich ein gutes Beispiel auf der Macromedia Seite gefunden, hab es aber noch nicht auf meine Anwendung umgemodelt.
Die wandeln die Instanz des Trees in einen MC um- ist das der Knackpunkt?
Jedenfalls kann ich die Größe nicht wirklich anpassen. Das setSize nimmt er gar nicht und wenn ich es über width und height mache, skaliert er auch den Inhalt mit. Hab schon invalidate() und redraw versucht()- ohne Erfolg. Wie kann ich die Größe ändern ohne dass der Inhalt mitskaliert wird?

Es liegt eine Instanz von Tree auf der Bühne, die in einen MC umgewandelt wird und mit folgendem Script verknüpft wird:

PHP:
import mx.controls.Tree;

class TreeNavMenu extends MovieClip {
    var menuXML:XML;
    var menuTree:Tree;
    function TreeNavMenu() {
        // Set up the appearance of the tree and event handlers.
        menuTree.setStyle("fontFamily", "_sans");
        menuTree.setStyle("fontSize", 12);
		// Load the menu XML.
        var treeNavMenu = this;
        menuXML = new XML();
        menuXML.ignoreWhite = true;
        menuXML.load("TreeNavMenu.xml");
        menuXML.onLoad = function() {
            treeNavMenu.onMenuLoaded();
        };
    }
    function change(event:Object) {
        if (menuTree == event.target) {
            var node = menuTree.selectedItem;
            // If this is a branch, expand/collapse it.
            if (menuTree.getIsBranch(node)) {
                menuTree.setIsOpen(node, !menuTree.getIsOpen(node), true);
            }
            // If this is a hyperlink, jump to it.
            var url = node.attributes.url;
            if (url) {
                getURL(url, "_top");
            }
            // Clear any selection.
            menuTree.selectedNode = null;
        }
    }
    function onMenuLoaded() {
        menuTree.dataProvider = menuXML.firstChild;
        menuTree.addEventListener("change", this);
    }
}
 
Zurück