Flex :: Dispatch Function Event From Application To Component?
May 9, 2011I will need to execute a function in a comp1.mxml from main.mxml through event, I found it difficulty to understand and unable to get it work.[code]...
View 2 RepliesI will need to execute a function in a comp1.mxml from main.mxml through event, I found it difficulty to understand and unable to get it work.[code]...
View 2 RepliesIs there a way how modules can listen to parent application event? My current solution that works is:
private function directoryRemoteObject_saveCompany_resultHandler(e:ResultEvent):void
{
this.directoryModuleLoader.child.dispatchEvent(new CompanyEvent(CompanyEvent.COMPANY_SAVED, e.result as int));
}
this means that I need to dispatch event for every module.
I am trying to get some code working from an example I came across. most of the functionality works but it is failing when it tries to dispatch a custom event. At the moment the code that is trying to dispatch the event is inside a class that handles amf remoting.the example has this line in it for the dispatch:
Application.application.dispatchEvent(new
RemoteResultEvent(RemoteResultEvent.USER_UPDATE_COMPLETE,"test"));
but that fails as it does not know what application.application is "Multiple markers at this line:
-Access of undefined property application"
I assume that this is because this was not written for a mobile app. I tried changing the dispatcher to EventDispatcher
EventDispatcher(
new RemoteResultEvent(RemoteResultEvent.USER_UPDATE_COMPLETE, "worked"));
but I then get this error:
TypeError: Error #1034: Type Coercion failed: cannot convert events::RemoteResultEvent@18337731 to flash.events.EventDispatcher.
This is the code in the custom event RemoteResultEvent.as :
package events
{
import flash.events.Event;
public class RemoteResultEvent extends Event {
[code]...
I've created a class to hold data in static vars with getter and setter methods. The class in never instantiated, i.e. var obj:MyClass = new MyClass();.[code]
View 5 RepliesI am having trouble using a custom event in flex. I need to dispatch an event from inside two nested components and receive it in the main application file. The basic set up is a main application file importing a custom "gallery" component.
[Code]..
In my main application I have a viewstack with 3 child views. In the viewstack change handler, I programmatically change the selectedchild property.
I understand that the initialize method for the view is not called every time I change the selectedChild Property. So I tried to invoke the init method programmatically too..
view1.mxml
<fx:Script>
<![CDATA[
[Code].....
I am working with Flex 4 windowed application. I have a mx:HTML container with location attribute like [URL]. That abc.html has a html button and i want when that html button is clicked then a flex windowed application function should be called.
Dummy Flex 4 windowed application screen shot: [URL]
I'm new to Flex.My question is how to dispatch event between components?As far as I know,Flex only bubbles event to itself or its parent. I'm in such a situation:
[Code]...
I want comp1 to dispatch an Event with parameters,according to the parameters some changes could be made to A and B in comp2.How could I get the event in comp2?I know Cairngorm could make a difference,but I don't want to use it right now.Could anyone give me a hand?
I could not get the event to dispatch. is there any thing missing in my code?
Application1.mxml:
<s:Button x="50" y="10" label="Button" click="dispatchEvent(new Event('buttonToggle'))"/>
component1.mxml
[Bindable(event="buttonToggle")][code]......
how to dispatch custom event in flex in my main mxml file i have put this code to dispatch this function
[Code]....
i want to ask what i am missing why my customevents not working
I have a checkbox that is bound to a property:
<mx:CheckBox label="Show All" selected="{showAll}"/>
I want to trigger an event when the checkbox is toggled that will read the value of showAll after a change:
<mx:CheckBox label="Show All" selected="{showAll}" click="_list.refresh()" />
Where, in this case, _list is an ArrayCollection object whose filter function depends on the showAll field to choose values.It turns out that this doesn't work, or at least gives a strong appearance of not working (what with the values in the list not changing and all). Is there a documented order of events for this, so that I can discover which events are dispatched in which order, and whether the binding value change will have fired the time the click event is dispatched? Alternately, can someone recommend a better way of doing this?
So I'm trying to build a tool that will allow me and other users to all open the same .swf, and then I as the Admin user am able to interact with mine while they all see my mouse movements and button clicks etc on theirs.I'm using BlazeDS to manage this and I'm getting data sent back and forth etc - no difficulties there. The issue I'm running into is this:
In an "Admin" instance, I click a button. I capture that X and Y, then tell Blaze to tell my clients to dispatch a Click event at that X and Y. On my client side, I get that data and dispatch a Click event at that X and Y - but the click is actually caught at the stage level. The click on my client side takes place UNDER all of my buttons and other content - so the whole thing fails.Is there a way to tell it to start the click event at the top?
What I want to do is to dispatch the click event when the component is clicked. (The class is essentially some text in a textfield that needs to be able to do certain things, and it needs to be able to respond to a click). Sounds easy enough... I want the event dispatched when that portion of the text is clicked. But uh...how? it's not like a button where I can just go myButton.addEventListener(MouseEvent.CLICK, myClickHandler);That's clear, because some component is going to be listening for the Click event dispatched when myButton is clicked. It is built into the AS3 framework that a button knows how to listen for a click event.
After the import statements I've got:[Event(name="click" type="mx.events.Event")]How do I dispatch the event when the component is clicked, when the component doesn't yet know how to respond to a click event? I've tried adding an event listener in the textfield which contains this custom class of text, but nothing's happening because the Click event hasn't been dispatched.
I've a Flex application which loads a Flash swf via SWF loader; the Flash swf is in AS3. the flash swf has code to dispatchEvent a Text Event
Flash Code:
var re:TextEvent = new TextEvent(TextEvent.TEXT_INPUT,true,true);
Flex Code:
<mx:SWFLoader source="menu.swf" id="mnu" complete="menuLoaded(event)" />
private var mySwfMve:MovieClip;
function menuLoaded(event:Event): void {
[Code]....
I don't see any TextEvents being dispatched from Flash. They are not seen in the debug trace.. I can capture enter frame events however.
I have a standard combobox that dispatches a collection event when the dataprovider finishes initializing:
my_cb.addEventListener( CollectionEvent.COLLECTION_CHANGE, getMyStuff );
Then I have a custom component that also has a dataProvider. How do I get it to dispatch a collection change event when its dataprovider finishes loading?From what I've read, I can't do it. Will dispatching a propertychangeevent work?
UPDATE:I have a custom component that I call 'SortingComboBox' but it is not a ComboBox at all; it extends Button and I set is dataProvider property to my arraycollection, model.product (which is an arraycollection). how I use the dataProvider in that component:
code
[Bindable]
private var _dataProvider : Object;
public function get dataProvider() : Object
{[code]..........
In the createChildren() method of this component, I use this:
BindingUtils.bindProperty(dropDown, "dataProvider", this, "dataProvider");
The dropDown is a custom VBox that I use to display labels.
I'm fairly experienced with Flex 4, but I still haven't needed frameworks yet (I like to do everything myself) and don't want to use them either, I know it's advantages and have learned how to use one of them, but still, no.
How can I dispatch an event in the main application and have a component inside a popupmanager to react to that event? All this dispatching the event within the main app and NOT aiming it to the popupmanager or the component instance, I want to be able to fire the event and not care about who gets it or if anyone reacts to it at all so if that is possible then I wouldn't care about keeping track of said popups.
I already dispatch an event from the component and receive it in the main application by bubbling the event and therefore being agnostic of each other, now I want it backwards.
Is there an event dispatched when a modal is brought to the front in Flex? Basically there are two times when I would want to listen for this event: When the modal is first created (although in theory creationComplete / show / etc.. could suffice here). When the user brings a modal that is not in the front to the front by clicking on it. In my case the popups I am working with are descendants of TitleWindow and listening for focusIn does not seem to work reliably.
View 3 RepliesI got a question about event dispatching and dispatching in flex.
My goal is to pass an email address captured in one component (Comp1) and be passed to another (Comp2). These two components are navigator content of a viewstack. The custom event dispatched the email correctly from Comp1 but somehow could not reach Comp2. The application (Main) looks like :
<fx:Script>
<![CDATA[
import events.LoginEventComplete;
[Code].....
I have a live chart. I need to refresh the chart with 5 seconds time interval.
For displaying the live chart i disptach the event (myEvent) extends cairngormevent.
And after 5 seconds , the same event has to dispatch again adn get the data to display thelie cart.
And how the event dispatch after 5 seconds with out any manula call..?
Every time a user takes a new line (i.e each time they press the return/enter key) when typing in a textArea, I would like the textArea to dispatch an event.I can then listen for this event and then carry out some processing on the textArea's contents.
View 2 RepliesHow I will be back in Login Page after click of logout which is in application's component.
Project.mxml
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx" width="100%" height="100%"
[Code]....
I have a document class called Main.as In the class constructor I have the following listener:
enter code here
var listeningFORModeChangeToStudent:Sprite = new Sprite;
listeningFORModeChangeToStudent.addEventListener(TellAllModeChangeToStudent.STUDENT,exp);
addChild(listeningFORModeChangeToStudent);
[code]....
In a third class I make a call to the despatcher in the previous class:
enter code here
var ThisTellAllModeChangeToStudent:TellAllModeChangeToStudent = new TellAllModeChangeToStudent;
ThisTellAllModeChangeToStudent.tellAllModeChangeToStudent();
I have trace statements in eveything and from this I know the despatcher in TellAllModeChangeToStudent is being called.The problem is that the listener in the main.as is not calling the function exp.I cant see why and I dont know how to check if the listener is actually seeing the dispatch event?
I am trying to dispatch a custom event from one flex module to another.The code which dispatch the event is as below Application.application.Destination.child.dispatchEvent(
new AlgoEvent(AlgoEvent.GETFROMPARENT_LOCAL_EVENT));
here AlgoEvent is a custom event.on the other side the module which catches and handles the event has this code:
public function sendParametersToChild(e:AlgoEvent):void
{[ code]...
but when the statement Application.application.Destination.child.dispatchEvent(new AlgoEvent(AlgoEvent.GETFROMPARENT_LOCAL_EVENT)); is executed the debugger give the following run time exception:
TypeError: Error #1034: Type Coercion failed: cannot convert resources.events:: AlgoEvent@4182239 to resources.events.AlgoEvent.at flash.events::EventDispatcher/dispatchEventFunction()[code]...........
In my AIR application, I try to dispatch a custom event from a class to main window.This class is use to call httpservice. My goal is to send a custom window when the httpservice result is send.[code]...
View 1 RepliesI have this in my constructor:
[Code]..
The problem is I get Error: Error #2094: Event dispatch recursion overflow. Why does removechild keep getting called if this.parent does not exist? Why doesn't removing event listeners work?
I have an event listener for a custom event type. This custom event overrides the clone method as required.In this event listener I want to dispatch an instance of a different type of event... a different custom event instance altogether. It also overrides the clone method as required.The problem is I'm getting a type coercion error: TypeError: Error #1034: Type Coercion failed: ...I do not know what is trying to do the casting. My code is:
/* elsewhere in a method */
addEventListener(GestureEvent.GESTURE_SCALE, handlePinched);
/* the event handler */
[code].....
I am trying to understand event propagation in Flex framework and have a following doubt on it:
Scenario: I have a built-in component DropDownList on change of which I want to create a custom event refreshPreview and want to propagate it to a custom component PictureComponent.
In the custom component's mxml, I have added the Metadata directive as follows to register a refreshPreview event with the compiler
<fx:Metadata>
[Event(name="refreshPreview", type="flash.events.Event")]
</fx:Metadata>
Layout Details: In my main mxml application I have laid out DropDownList and the custom component such that both are siblings (i.e. have a common indirect parent)
e.g.
<s:Group id="contentGroup">
<s:Group id="formGroup">
<s:Form x="11"
[Code]....
I am seeing that the refreshPreview event is not getting propagated to the custom component.
I doubt this is because the built-in component is a sibling of the target (where the event got generated) and not a parent. how to make refreshPreview event propagate to custom component?
A Flex components values are initlized by init methord. In an application flow, How to refresh a mxml component data value ; as init is callled at the start up it self only.
eg. of mxml componet may be as simple as button label or text as complex as repeater whose data provider is a web service ( means a fresh quesy should be made to pull the data and refresh the dataprovider of repeater )
purpose of component and module of flex app
View 1 RepliesI'm making a UI for a component in Flash. I wanted to use Flex and have had no luck getting the onUpdate exernalInterface call to fire properly. I'm referencing the functionality described here: [URL]. First off, I can't embed the SWF in the FLA. It just won't start the Flex SWF. Even using the external swf, it seems that the onUpdate function is either called too early or not at all. Here's what I've tried:
Tying the externalInterfce declaration to the initialize, preinitialize, applicationComplete, and creationComplete events. Sub-classing my application and putting the externalInterface in the constructor. Neither of these options work. When I create a basic AS3 project in Eclipse and put the externalInferface in the constructor, it works as expected.