Zurück   Flashforum > Flex und AIR > Flex programmieren

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 07-01-2009, 15:59   #1 (permalink)
Neuer User
 
Registriert seit: Nov 2004
Beiträge: 4
set data in TreeItemRenderer scheint die Braches doppelt anzulegen

Aloha, ich versuche gerade einen Tree nach meinen Vorstellungen umzustricken und bin dabei über den TreeItemRenderer gestolpert.

Die Branches sollen neben dem Label eine Progressbar bekommen in denen ein Fortschrittsbalken einen Durchschnittswert der enthaltenen Leafes anzeigt.

So weit, so gut.

Da ich in createChildren( ) keinen Zugriff auf TreeListData(super.listData) habe (er compiled, die swf allerdings hängt sich dann auf), habe ich das ganze in function set data geteckt.

PHP-Code:
    import mx.controls.ProgressBar;
    
import mx.controls.treeClasses.*;    
    
    public class 
TaskTreeRenderer extends TreeItemRenderer
    
{
        protected var 
bar:ProgressBar;
        
        public function 
TaskTreeRenderer()
        {
            
super();

        }
        
        
override public function set data(value:Object):void
        
{    
            
super.data value;
            if(
TreeListData(super.listData).item.children){
                if(!
bar) {
                      
trace("geaddet "+TreeListData(super.listData).label);
                      
bar = new ProgressBar();
                      
bar.mode "manual";
                      
addChild(bar);
                      
                }
            }

            
            if(
TreeListData(super.listData).hasChildren) {
                
setStyle("color"0xff0000);
                
setStyle("fontWeight"'bold');
            }
            else {
                
setStyle("color"0x000000);
                
setStyle("fontWeight"'normal');
            } 
        }
    } 
Das klappt beim ersten Durchlauf auch sehr gut.
Branch öffnen, Branch schließen, Branch öffnen -> wtf?
In der Ausgabe wirft das Trace auf einmal eine zweite "geaddet " Meldung für den Branch raus, diesmal ist die Schrift allerdings Schwarz, was ja nur bedeuten kann, dass es nicht in einem Branch steckt. Zudem erscheint es im letzten Leaf des offenen Branch.

Könnt ihr mir helfen und nen Tipp geben, warum Flex3 sich hier so komisch verhält. Für ne Hilfestellung wie ich das umgehen kann wär ich auch dankbar.

Hab schon überlegt, ob ich die IDs der Items in TreeListData(super.listData) in nen Array packen soll um so zu sehen, ob ein Branch schon ne ProgressBar hat oder nicht. Besonders sauber erschien mir diese Lösung allerdings nicht.
Aureliusus ist offline   Mit Zitat antworten
Antwort

Lesezeichen

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind an
Pingbacks sind an
Refbacks sind an



Alle Zeitangaben in WEZ +1. Es ist jetzt 13:22 Uhr.

Domains, Webhosting & Vserver von Host Europe
Unterstützt das Flashforum!
Adobe User Group


Copyright ©1999 – 2012 Marc Thiele