Zurück   Flashforum > Flex und AIR > Flex programmieren

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 21-01-2011, 09:46   #1 (permalink)
Neuer User
 
Registriert seit: May 2009
Beiträge: 20
spark Layout und Events

Hallo alle miteinander,

ich habe wie ein Problem.

Ich habe eine eigenes Layout geschrieben, welches soweit auch funktioniert:

Code:
package ...
{
	import ...

	[Event(name="elementAdd", type="spark.events.ElementExistenceEvent")]
	public class RandomLayout extends LayoutBase
	{
		[Bindable] public var log:ILog;
		
		
		override public function updateDisplayList(containerWidth:Number, containerHeight:Number):void {
			var groupBase:GroupBase = target as GroupBase;
			var numElements:int = groupBase.numElements;
			
			for(var i:int=0; i<numElements; i++) {
				var element:ILayoutElement = useVirtualLayout ? 
					groupBase.getVirtualElementAt(i) : 
					groupBase.getElementAt(i);
				
				...
				
				dispatchEvent(
					new ElementExistenceEvent(
						ElementExistenceEvent.ELEMENT_ADD, true, false, (element as IVisualElement), i
					)
				);
			}
		}
	}
}
In einer DataGroup versuche ich dieses Event abzufangen, leider ohne Erfolg:

Code:
<?xml version="1.0" encoding="utf-8"?>
<s:DataGroup ...>
	<fx:Script>
		<![CDATA[
                        import ...

			[Bindable] public var log:ILog;
			
			private function elementAddHandler(event:ElementExistenceEvent):void {
				if(log != null) {
					log.debug("elementAdd: "+ event.element);
				} else {
					trace("elementAdd: "+ event.element);
				}
			}
		]]>
	</fx:Script>
	<s:itemRenderer>edu.tobiasbelch.graph.component.view.renderer.NodeItemRenderer</s:itemRenderer>
	<s:layout>
		<layout:RandomLayout log="{log}" elementAdd="{elementAddHandler(event);}"/>
	</s:layout>
</s:DataGroup>
fedarius ist offline   Mit Zitat antworten
Alt 21-01-2011, 12:54   #2 (permalink)
Perverted Hermit
 
Benutzerbild von Omega Psi
 
Registriert seit: Mar 2004
Ort: Delmenhorst
Beiträge: 12.142
Du willst nicht, dass das Layout diese Events dispatched, vor allen Dingen nicht in der updateDisplayList Methode. Das macht die Group...
Omega Psi ist offline   Mit Zitat antworten
Alt 21-01-2011, 13:36   #3 (permalink)
Neuer User
 
Registriert seit: May 2009
Beiträge: 20
Das Problem ist, dass ich auf die richtigen Koordinaten der Elemente angewiesen bin, die ja erst durch das Layout gesetzt werden.

Ich bin also auf ein Event aus dem Layout angewiesen...oder wie siehst du das?
fedarius ist offline   Mit Zitat antworten
Alt 21-01-2011, 13:54   #4 (permalink)
Perverted Hermit
 
Benutzerbild von Omega Psi
 
Registriert seit: Mar 2004
Ort: Delmenhorst
Beiträge: 12.142
Nach FlexEvent.UPDATE_COMPLETE solltest du nach jedem Renderzyklus die aktuellen Positionen haben. So ist die Implementierung jedenfalls nicht richtig.
Omega Psi ist offline   Mit Zitat antworten
Alt 23-01-2011, 12:55   #5 (permalink)
Neuer User
 
Registriert seit: May 2009
Beiträge: 20
Thumbs up

Super, dank dir. Damit hab ichs jetzt hinbekommen.
fedarius 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


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
[Spark] List Nico B. Flex programmieren 3 20-02-2010 14:11
Spark vs. Halo Janoscharlipp Flex programmieren 11 18-08-2009 11:38
Spark Europe marc Konferenzen und Treffen 44 27-11-2005 20:08
Spark Mobile stack Am Rande 4 22-11-2005 15:41
Sorenson Spark Felle33 Flash MX 1 07-01-2004 18:32


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:25 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele