Events from main application to components

Could someone please tell me if it's possible to broadcast an
event from the main application to components that have been
declared inside the main application?

For the number of rows in the DataGrid just look at the length of the dataProvider.
For passing data between popups and app, the gold standard is to use custom events, and add the event listener to systemManager.
Here are some tutorials on custom events I created:
http://chikaradev.com/learning/flex3/customevents/StudentsTutoringCustomEvents1.pdf
http://chikaradev.com/learning/flex3/customevents/CustomEventSimple/CustomEventSimple.html
http://chikaradev.com/learning/flex3/customevents/CustomEvents1/index.html
If this post answers your question or helps, please mark it as such.
Greg Lafrance - Flex 2 and 3 ACE certified
www.ChikaraDev.com
Flex Training and Support Services

Similar Messages

  • Load/Unload Component from Main Application

    I want to load in my main application 2 components. At this moment I load them with this:
    <components:loadProject id="loadPrj" visible="false" click="loadPrj_clickHandler(event)" verticalCenter="7" horizontalCenter="0"/>
    and I only set visible to true. Inside this component there is a canvas.
    But, is there any other way to do this using an AS class file? I would like to load/unload it on click, not only set true/false to visible.

    For dynamic creation and destruction of objects, you want to use ActionScript.
    So in your main app file, you might have a button that triggers a click handler that does this:
    private function myClickHandler()void {
                    var b1:CustomComponent = new CustomComponent();
                    var b2:CustomComponent = new CustomComponent();
                    /// Be sure to add them to the display list if they are visual components
                    myPanel.addElement(b1);
                    myPanel.addElement(b1);

  • Question re-posted: Way to get events from outside application

    Hello,
    FatCo asked this question but has not got a reply. I have the same question, so I re-post it, hoping someone could give us help. How can we write JNI code to do it on a Windows OS? Assume appliction 2 is a Internet Explorer.
    Thank you!
    --Bin
    Author: FaTCo Sep 24, 2002 1:17 PM
    Hello,
    is there a way to get events from other applications, either native or java applications?
    For example application 1 (Java or not) is getting minimized, is there a way to notice application 2 (Java) about that?

    I am not really a Windows programmer so I cannot say how you can get the event notification in C(++) but if you can get it there then there should be no particular problem communicating that information to Java.
    This might take the form of creating a thread (all threads are native threads on Windows) which blocks on receiving this event and then notifies the rest of the application somehow, maybe by setting a global flag, using Object.notify() to wake up some other thread to do the processing, or simply by calling a Java method to do all the necessary handling before returning. But there is nothing special about this part.
    It all depends on how you can receive the event notification in C++.

  • Calling a method in a component from main application

    Hi,
    I have a mxml component( menu1.mxml) . In the menu1.mxml
    there is a include for the actionscript file(menu1.as). In the main
    application page(SampleLogin.mxml) I want to call the method in the
    btnSubmit_Click() on the saveIndex() method for case 0. I am
    attaching all the code below

    case 0:
    menuOne.btnSubmit_Click( );
    break;
    Also it would probably be following best practices to used a
    custom event to pass the information in your "LoginButton_Click()"
    function to the application.

  • Show component from main application mxml.

    Hi all,
         I have a main application mxml and inside has a button named show_form. After that, I design an form named Form_A. And now, I want when click on show_form button fire the Form_A and made it appear.
         Hown can I do this ?
         Thanks !

    There are many ways of doings this, it depends how your forms are shown.
    Are they in a ViewStack or similar container? If so just change the view from the click handler function for the button.
    If they are in a Canvas/HBox/VBox, in the click handler function of the button you can do a check like if Form_A.visible==true then submit it and hide it, else submit the other form. You can also have a variable that tracks if Form_A was submitted.
    If you have code, post it here and we can find the best solution with a clear example in front.

  • How to post audit event from my application ?

    Hi All,
    I'm newbie in weblogic(server) field. I'm working on audit trail for my application. We are using weblogic server8.1 SP4.
    I read thru the documentation in weblogic site and understood the default and custom auditing providers/auditing events and how to configure them from the admin console.
    I would like to know how to programatically invoke/trigger/post that audit from wherever I want from the application.
    Hope I'm clear.
    Any help in this regard is highly appreciated.
    Thanks
    Viji

    If you find out.... I'm curious too.

  • Run function in component from Main Application

    Hello all.
    I have my main.mxml application, that has a component inside of it.  The component is called <ns1:record/> with an id of "rec".
    This component has a function inside of it named doConnect(event:MouseEvent).
    Now i want to be able to add an event listener to a button on the Main.mxml that will run a function inside the component when clicked.
    I have managed to add an event listener to the Main.mxml that triggers a function held within the Main.mxml when a button clicked inside the component is clicked.
    I did this by using this code.
                <ns1:record id="rec" x="9" y="6" camera="{camera}" microphone="{microphone}" creationComplete="makeEvent()">
                </ns1:record>             //Event listener
                public function makeEvent():void {
                    rec.backbtn.addEventListener(MouseEvent.CLICK,swapstate);
                protected function swapstate(event:MouseEvent):void {
                    viewstack1.selectedChild=config;
    No matter what i try thou i cant get this to work the other way around.
    What i need help with is - clicking a button within the Main.mxml to run a function inside the component Record.
    If anyone can help that would be great !
    Thanks in advance.

    Hi djh88ukwb,
    From your post if I understand you correctly you want to listen for a event in record component when a button in main mxml is clicked...based on this
    assumption I am suggesting you a solution...
    <?xml version="1.0" encoding="utf-8"?>
    <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" creationComplete="onCreationComplete()">
    <mx:Script>
      <![CDATA[
       private function onButtonClicked(event:MouseEvent):void
       rec.swapstate(event);
      ]]>
    </mx:Script>
    <ns1:record id="rec" x="9" y="6" camera="{camera}" microphone="{microphone}" creationComplete="makeEvent()"></ns1:record>
    <mx:Button id="myBtn" label="Call Function in Record Comp" click="onButtonClicked()" />
    </mx:Application>
    <!-- In your record component Add a public function  swapstate as shown below-->
    public function swapstate(event:MouseEvent):void {
                    viewstack1.selectedChild=config;
    Please try this and let me know....
    Thanks,
    Bhasker

  • How to integrate Events from Siebel application to Oracle Webcenter portal

    Hi
    We have a requirement where one application resides in Siebel and the poral is running on Oracle Webcenter Portal. Here we want to see the events/appointment which are created in Siebel Application, should be visible in Oracle Webcenter Portal's calendar as soon as user logs in. It is a Hospital portal, and appointments are created in Siebel Application and when Doctor logs in to portal (running on Oracle webcenter portal), user should be able to see them on his Calendar/event.
    Please help me how to go ahead with it.
    Regards,
    Sid

    Hi All,
    Not sure that I agree with my friend Yannick on this. I think that you can change to point to a different DBMS. You might be able to do this by reconfiguring the Siebel server and give SQL Server as your DBMS and then give the correct SQL connect into. At worst case I think you can change the server data source named subsystem. You will need to change the DLL name and well as the connect info. If the reconfiguration does not work your best bet would be to compare the settings from your server data source for Oracle to a known good server data source for SQL Server.
    BTW, why would you make this change? As a database Oracle can’t be beat. 11g is incredible.
    Robert Ponder
    Lead Architect and Director
    Ponder Pro Serve
    cell: 770.490.2767
    fax: 770.412.8259
    email: [email protected]
    web: www.ponderproserve.com

  • How to dispatch an event from the application to the preloader

    HI everyone
                     I've been searching everywhere on the net, and as far as it goes I gotten no answer for this. When the application hit the preinitialize phase, I'm calling the loadStyle method. As you can see I will hold the CreationComplete event until I the swf is ready. What I want to do, is to have a second loading bar in the preloader (no problem here) to show the progress of the swf downloaded, hence the StyleEvent.PROGRESS event. I would like to know how can I dispatch that event to the preloader?
    ///////////////////APPLICATION
                  import mx.events.StyleEvent;
                import mx.styles.StyleManager;
                private function loadStyle():void
                        var eventDispatcher:IEventDispatcher = StyleManager.loadStyleDeclarations("cl/elmelej/mangiare/estilo/estilo.swf");
                        eventDispatcher.addEventListener(StyleEvent.COMPLETE, completeHandler);
                        eventDispatcher.addEventListener(StyleEvent.PROGRESS,progreso);  
                private function completeHandler(event:StyleEvent):void
                        super.initialized = true;
                private function progreso(event:StyleEvent):void
                override public function set initialized(value:Boolean):void
                    // Hold off until the Runtime CSS SWF is done loading.
    ///////////////////////////////////PRELOADER
    virtual public function set preloader(value:Sprite):void
                _preloader = value;
                value.addEventListener(ProgressEvent.PROGRESS, progressHandler);   
                value.addEventListener(Event.COMPLETE, completeHandler);
                value.addEventListener(StyleEvent.PROGRESS, progressHandlerCSS);  
                value.addEventListener(FlexEvent.INIT_PROGRESS, initProgressHandler);
                value.addEventListener(FlexEvent.INIT_COMPLETE, initCompleteHandler);
    As you can see, the preloader is listening to StyleEvent.PROGRESS  events, but I cant dispatch that event to the preloader so that it can react to it. I hope you can help me. Thanks for your time and help
    Sebastián

    Alex,
             Thank you very much for the fast answer, but I'm not an advanced programmer in Flex, so I would need a bit more help from you. I wouldlike you to tell me if it is possible to do what I want to do? and could you be more specific n the information you gave me please?
    I think you mean something like this:
    private function progreso(event:StyleEvent):void
                  (this.systemManager.getChildAt(systemManager.numChildren) as Preloader).getChildAt(XXXXXXXX).dispatchEvent(event)
    /////////////////////// (this.systemManager.getChildAt(systemManager.numChildren) as Preloader)) -------->gets the preloader 
    ///////////////////////(this.systemManager.getChildAt(systemManager.numChildren) as Preloader).getChildAt(XXXXXXXX)     -------------> would get the progressbar (only If I have XXXXXvalue)      
    let me tell you that the method that I posted on the last message was a part of this class:
         public class PreloaderDisplayBase extends Sprite implements IPreloaderDisplay
    PreloaderDisplayBase is my Preloader.
    I hope you can help me.
    Thanks Again
    Sebastián Toro O

  • Constructing a class extending JDialog when invoked from main application

    In an application that extends JFrame a method, showJDialogGUI, is called to instantiate an object of another class (called enterGUI) that extends JDialog. This object, enterGUIDialog, is modal; user must click on its Submit button in order to dismiss it and be able to continue in MainProgram. I have troubles getting error messages resolved when the constructor of the enterGUIDialog JDialog object is called. Perhaps there are other things wrong with below code. Any help appreciated - snippet of code from both classes is below.
    public class MainProgram extends JFrame {
    enterGUI enterGUIDialog; // declaration for object of class extending JDialog
    public MainProgram() {     // constructor
    myContainer = getContentPane();
    showJDialogGUI(); // calls method to initialize
    public void showJDialogGUI() {
    enterGUIDialog = new enterGUI (this, true);
    enterGUIDialog.setDefaultCloseOperation (DISPOSE_ON_CLOSE );
    enterGUIDialog.setSize(200,200);
    enterGUIDialog.setVisible( true );
    enterGUIDialog.show();
    } // end of class MainProgram
    public class enterGUI extends JDialog{
    Container myContainer;
    JPanel myPanel;
    //// How to call the constructor to create this JDialog????
    public loginGUI( JRootPane theRoot, boolean theModal ) // passed in 'this', and 'true'
    // or maybe??? public About(Frame parent, boolean modal) {
    this.setRootPane( theRoot ); //???????
    // or maybe ??? super(theRoot, flag);
    //super(theRoot, flag); // calls Dialog class constructor
    this.setModal( theModal ); // ?????
    myContainer = getContentPane();
    myContainer.setLayout( new FlowLayout() );
    thePanel = new JPanel();
    // next add components to JPanel, then add to the JDialog container
    fieldsPanel.add( pageLabel ); etc.
    myContainer.add( fieldsPanel );
    // etc.
    myContainer.setDefaultCloseOperation( DISPOSE_ON_CLOSE );
    myContainer.setVisible(true);
    } // end of constructor
    // more methods etc
    }

    Error received is:
    E:\Ghost>
    MainProgram.java:670: cannot resolve symbol
    symbol : constructor enterGUI (MainProgram,boolean)
    location: class MyPackage.enterGUI
    enterGUIDialog = new enterGUI(this, true);
    'new enterGUI(this, true); ' seems to be at start of
    error
    TIAThe error message could not be any more clear. To wit: the compiler is telling you it cannot find a constructor for class enterGUI that takes as parameters a reference to a javax.swing.JFrame, and a boolean value. Supply the constructor and the error will not be raised.

  • Need help with custom event from Main class to an unrelated class.

    Hey guys,
    I'm new to Flash and not great with OOP.  I've made it pretty far with google and lurking, but I've been pulling my hair out on this problem for a day and everything I try throws an error or simply doesn't hit the listener.
    I'm trying to get my Main class to send a custom event to an unrelated class called BigIcon.  The rest of the code works fine, it's just the addEventListener and dispatchEvent that isn't working.
    I've put in the relevant code in below.  Let me know if anything else is needed to troubleshoot.  Thank you!
    Main.as
    package
        import flash.display.MovieClip;
        import flash.events.MouseEvent;
        public class Main extends MovieClip
            var iconLayer_mc:MovieClip = new MovieClip();
            public function Main()
                Spin_btn.addEventListener(MouseEvent.CLICK,fl_MouseClickHandler);
                addChildAt(iconLayer_mc,0);
                placeIcons();
            function placeIcons():void
                var i:int;
                var j:int;
                for (i = 0; i < 4; i++)
                    for (j = 0; j < 5; j++)
                        //iconString_array has the names of illustrator objects that have been converted to MovieClips and are in the library.
                        var placedIcon_mc:BigIcon = new BigIcon(iconString_array[i][j],i,j);
                        iconLayer_mc.addChild(placedIcon_mc);
            function fl_MouseClickHandler(event:MouseEvent):void
                dispatchEvent(new Event("twitchupEvent",true));
    BigIcon.as
    package
        import flash.display.MovieClip;
        import flash.events.Event;
        import flash.utils.getDefinitionByName;
        public class BigIcon extends MovieClip
            private var iconImage_str:String;
            private var iconRow_int:int;
            private var iconColumn_int:int;
            public function BigIcon(iconImage_arg:String, iconRow_arg:int, iconColumn_arg:int)
                iconImage_str = iconImage_arg;
                iconRow_int = iconRow_arg;
                iconColumn_int = iconColumn_arg;
                this.addEventListener(Event.ADDED_TO_STAGE, Setup);
            function Setup(e:Event)
                this.y = iconRow_int;
                this.x = iconColumn_int;
                var ClassReference:Class = getDefinitionByName(iconImage_str) as Class;
                var thisIcon_mc:MovieClip = new ClassReference;
                this.addChild(thisIcon_mc);
                addEventListener("twitchupEvent", twitchUp);
            function twitchUp(e:Event)
                this.y +=  10;

    Ned Murphy wrote:
    You should be getting an error for the Main.as class due to missing a line to import the Event class...
    import flash.events.Event;
    My apologies, I should attempt to compile my example code before I ask for help...
    Alright, this compiles, gives me no errors, shows my 'book' and 'flowers' icons perfectly when ran, and prints 'addEventListener' to the output window as expected.  I get no errors when I press the button, 'dispatchEvent' is output (good), but the 'twitchUp' function is never called and 'EventTriggered' is never output. 
    How do I get the 'twitchUp' event to trigger?
    Main.as
    package
        import flash.display.MovieClip;
        import flash.events.MouseEvent;
        import flash.events.*;
        public class Main extends MovieClip
            var iconLayer_mc:MovieClip = new MovieClip();
            var iconString_array:Array = new Array(2);
            public function Main()
                Spin_btn.addEventListener(MouseEvent.CLICK,fl_MouseClickHandler);
                addChildAt(iconLayer_mc,0);
                buildStringArray();
                placeIcons();
            function buildStringArray():void
                var i:int;
                var j:int;
                for (i = 0; i < 2; i++)
                    iconString_array[i] = new Array(3);
                    for (j = 0; j < 3; j++)
                        if (Math.random() > .5)
                            //'flowers' is the name of an illustrator object that has been converted to a MovieClip and is in the library
                            iconString_array[i][j] = "flowers";
                        else
                            //'book' is the name of an illustrator object that has been converted to a MovieClip and is in the library
                            iconString_array[i][j] = "book";
            function placeIcons():void
                var i:int;
                var j:int;
                for (i = 0; i < 2; i++)
                    for (j = 0; j < 3; j++)
                        //iconString_array has the names of illustrator objects that have been converted to MovieClips and are in the library.
                        var placedIcon_mc:BigIcon = new BigIcon(iconString_array[i][j],i*50,j*50);
                        iconLayer_mc.addChild(placedIcon_mc);
            function fl_MouseClickHandler(event:MouseEvent):void
                dispatchEvent(new Event("twitchupEvent",true));
                trace("dispatchEvent");
    BigIcon.as
    package
        import flash.display.MovieClip;
        import flash.events.*;
        import flash.utils.getDefinitionByName;
        public class BigIcon extends MovieClip
            private var iconImage_str:String;
            private var iconRow_int:int;
            private var iconColumn_int:int;
            public function BigIcon(iconImage_arg:String, iconRow_arg:int, iconColumn_arg:int)
                iconImage_str = iconImage_arg;
                iconRow_int = iconRow_arg;
                iconColumn_int = iconColumn_arg;
                this.addEventListener(Event.ADDED_TO_STAGE, Setup);
            function Setup(e:Event)
                this.y = iconRow_int;
                this.x = iconColumn_int;
                var ClassReference:Class = getDefinitionByName(iconImage_str) as Class;
                var thisIcon_mc:MovieClip = new ClassReference;
                this.addChild(thisIcon_mc);
                addEventListener("twitchupEvent", twitchUp);
                trace("addEventListener");
            function twitchUp(e:Event)
                this.y +=  10;
                trace("EventTriggered");
    Output:
    [SWF] Untitled-1.swf - 40457 bytes after decompression
    addEventListener
    addEventListener
    addEventListener
    addEventListener
    addEventListener
    addEventListener
    dispatchEvent
    [UnloadSWF] Untitled-1.swf
    Test Movie terminated.

  • How to create iCal events from other applications?

    I want to create event linked with a certain document, e.g. when I've finishes a letter in Pages or in TeXShop, I want to create an event in iCal for reminder. I know, that I can in iCal create events and add the link to the file into the URL field of an event. But I want in Pages, TeXShop, Numbers, … to click: »Create reminder in iCal on <date>.«
    Is there a way for it?

    Cody,
    Read: http://discussions.apple.com/thread.jspa?messageID=8314404&#8314404
    You can use Firewire Target Disk mode: http://support.apple.com/kb/HT1661 to transfer the appropriate iCal files.
    ;~)

  • Help dispatching events from glassPane to other components

    Hi guys,
    I laready did a search in the forum but everybody seems to have trouble blocking events via GlassPane.
    For me it is the opposite.
    I set a glassPane on the Frame via setGlassPane()... works great but now i can't dispatch the events to the rest of the UI. Can someone please give me some example code how to do that;
    Here is what i have tried :
    myFrame.this.getGlassPane().addMouseListener(new MouseAdapter()
    public void mouseClicked(MouseEvent e)
    Frame.this.getRootPane().dispatchEvent(e);
    public void mousePressed(MouseEvent e)
    Frame.this.getRootPane().dispatchEvent(e);
    public void mouseReleased(MouseEvent e)
    Frame.this.getRootPane().dispatchEvent(e);
    public void mouseEntered(MouseEvent e)
    Frame.this.getRootPane().dispatchEvent(e);
    public void mouseExited(MouseEvent e)
    Frame.this.getRootPane().dispatchEvent(e);
    Please show how it is done ...

    Hey Tom,
    You know what's funny, i read that article already and even look at the code but it was too complicated for me...And now that you mentionned it again i decided to look at it again and took one method out of it and now it seems to work but i still don't quiet understand what it does exactly??? Thanks For pushing My Back :)
    Any Other way to do that ???
    private void redispatchMouseEvent(MouseEvent e)
    Point glassPanePoint = e.getPoint();
    Container container = this.getContentPane();
    Point containerPoint = SwingUtilities.convertPoint(this.getGlassPane(), glassPanePoint,container);
    //The mouse event is probably over the content pane.
    //Find out exactly which component it's over.
    Component component =
    SwingUtilities.getDeepestComponentAt(
    container,
    containerPoint.x,
    containerPoint.y);
    if ((component != null) )
    //Forward events over the check box.
    Point componentPoint = SwingUtilities.convertPoint(
    this.getGlassPane(),
    glassPanePoint,
    component);
    component.dispatchEvent(new MouseEvent(component,
    e.getID(),
    e.getWhen(),
    e.getModifiers(),
    componentPoint.x,
    componentPoint.y,
    e.getClickCount(),
    e.isPopupTrigger()));

  • Event propagation from child application to main application

    Hi,
          I am using SWFLoader to load third party component into our main application.we are trying to create annotation feature on top of child application.for that main application needs to receive events e.g. mouse events from child application.can anyone suggest whether this is possible ?
          I found pdf doc from help of SWFLoader component on flex developmenent center.It has an example in which child application uses SystemManager to register event listner for main application.so is it that we need to register listener from child application so main application receive events ?
       Thanks in advance.
    Thanks and regards,
    Rakesh Parmar

    If you examine the urls and the domains are the same then you don't have a cross-domain problem, but then your symptoms remain unexplained.
    Note that Flash just checks the text of the domain/sub-domain so http://localhost/ is different from http://10.0.0.127/ or whatever its IP equivalent is.
    Alex Harui
    Flex SDK Developer
    Adobe Systems Inc.
    Blog: http://blogs.adobe.com/aharui

  • Eventhandlers of children of application can not receive custom event dispatched by application

    Hello dear Adobe community,
    hope you can help me with this issue.
    When the application dispatches a custom event, the child uicomponent can only receive the event by using Application.application.addEventListener or systemManager.addEventListener. Simply adding a listener, without application or systemmanager, does not allow the event to be received by the child component.
    I want to be able to use the addEventListener and removeEventListener without SystemManager or Application.application, or could you provide a better workaround? How can I use the addEventListener, do I need to overwrite EventDispatcher, which I wouldnt like to do?
    Just to clarifiy, if i remove the systemManager in front of addEventListener(CustomEventOne.EventOne,sysManHandleCE,false) it will not add it and will not fire. 
    The code below is an example for this problem that the event is not getting fired in the right moment. The mainapplication got only a button with the customEventOne that gets dispatched.
    public
    class MyCanvas extends Canvas{
    public function MyCanvas()
    super();
    width=300;
    height=300;
    addEventListener(FlexEvent.CREATION_COMPLETE,handleCC,false,0,true);
    private function handleCC(event:FlexEvent):void
    removeEventListener(FlexEvent.CREATION_COMPLETE,handleCC);
    addEventListener(CustomEventOne.EventOne,handleCE,false,0,true);
    addEventListener(Event.REMOVED_FROM_STAGE,handleEvt,false,0,true);
    systemManager.addeventListener(CustomEventOne.eventOne,sysManHandleCE,false,0,true);
    private function handleEvt(event:Event):void
    trace("In removed from stage handler");
    systemManager.removeEventListener(CustomEventOne.EventOne,sysManHandleCE);
    trace(hasEventListener(FlexEvent.CREATION_COMPLETE));
    trace(hasEventListener(CustomEventOne.EventOne));
    trace(hasEventListener(Event.REMOVED_FROM_STAGE));
    private function handleCE(event:CustomEventOne):void
    trace("I got it");
    private function sysManHandleCE(event:CustomEventOne):void
    trace("I got it");
    public class CustomEventOne extends Event
    public static const EventOne:String = "EventOne";
    public function CustomEventOne(type:String, bubbles:Boolean=false, cancelable:Boolean=false)
    super(type, bubbles, cancelable);
    override public functionclone():Event
    return newCustomEventOne(type,bubbles,cancelable);
    Thank you in advance,
    Michael

    I think you need to look at event propogation. The object that dispatches an event will be sitting on the display tree. The event propagates up the tree to the roots. Your canvas should be attached to the application, but even then it sits lower in the tree branches than the event dispatcher, so it won't see the event being dispatched because the event is not propagated to the children of the object that dispatches it but to the parent of the object that dispatches it.
    So, your canvas is a child of the application, but dispatching the event from the application means that the canvas doesn't see it because events are notified up the tree using the parent link, not the child links.
    You may wish to investigate how the display list and event propagation works and then the MVC pattern.
    Paul

Maybe you are looking for