?
Solved

Change textarea text from native window

Posted on 2009-04-10
2
Medium Priority
?
640 Views
Last Modified: 2013-11-11
Hello,
I have again problem with native windows.

What i want to do is to open FIRST native window and then from that window open SECOND window. In that Second window i have function which should change text in FIRST windows text area but I always get error when i try that.

So my question is:  How to access controls in one nativ window from another window

P.S.
I know how to access controls and objects in main window::
Application.application.my_Control.text = "test".  


 
0
Comment
Question by:Didica
2 Comments
 

Author Comment

by:Didica
ID: 24119539
Ok, i will try to simplify my question with this, and hope that someone will help me:

MAIN WINDOW -----opens-----> Window 1 ------opens -----> Window2

Then

Window2 ----sends value of text box ----> Window 1
0
 
LVL 5

Accepted Solution

by:
Fuzzy_Logic_ earned 500 total points
ID: 24124093
Is this what you are after? Its a bit rough, but hopefully points you in the right direction.

Regards FL
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" width="600" height="600">
 
<mx:Script>
    <![CDATA[
        import mx.controls.TextInput;
        import mx.controls.Button;
        import mx.controls.TextArea;
        import mx.containers.TitleWindow;
        import flash.utils.getQualifiedClassName;
        //need button to open new TitleWindow
        
        // function to open first Window
        public function openWin1():void
        {
            
            // set up TitleWindow 1 (newWin)
            var newWin1:TitleWindow = new TitleWindow;
            newWin1.title = "Window 1";
            newWin1.name = "newWin1"; // set name to find it later
            newWin1.width = 300;
            newWin1.height = 300;
            newWin1.x = 100;
            newWin1.y = 100;
            
            // set up TextArea
            var newTextArea:TextArea = new TextArea;
            newTextArea.name = "newTextArea"; //set name to find it later
            newTextArea.width = 100;
            newTextArea.height = 100;
            newTextArea.x = 0;
            newTextArea.y = 50;
            
            // set up Button
            var newButton:Button = new Button;
            newButton.label = "Open Window 2"
            // add event listener to this button
            newButton.addEventListener(MouseEvent.CLICK, openWin2);
            
            // add controls to TitleWindow 1 (newWin)
            newWin1.addChild(newButton)
            newWin1.addChild(newTextArea);
            
            //add this window to main Application Window
            this.addChild(newWin1);
            
        }
        
        // function to open another window
        private function openWin2(me:MouseEvent):void
        {
            
            // check if window opened already
            if ( this.getChildByName("newWin2") == null )
            {
            // set up TitleWindow 2 (newWin)
            var newWin2:TitleWindow = new TitleWindow;
            newWin2.title = "Window 2";
            newWin2.name = "newWin2";
            newWin2.width = 300;
            newWin2.height = 300;
            
            newWin2.x = 300;
            newWin2.y = 200;
            
            // set up input box
            var input:TextInput = new TextInput;
            input.width = 100;
            input.height = 25;
            //add even listener for input box
            input.addEventListener(TextEvent.TEXT_INPUT, textChanged);
            
            // add input box to this window
            newWin2.addChild(input);
            
            //add this window to main Application Window
            this.addChild(newWin2);
            }
            
        }
        
        // function to close windows
        private function closeWins():void
        {
            
            // loop children and close if of type TitleWindow
            var tw:DisplayObject;
            for each ( tw in this.getChildren() )
            {
                if ( getQualifiedClassName(tw) == "mx.containers::TitleWindow" )
                {
                    
                    this.removeChild(tw);
                }
            }
            
        }
        
        // function to enter text into text area in other TitleWindow
        private function textChanged(te:TextEvent):void
        {
            // find the controls
            var titleWin:TitleWindow = this.getChildByName("newWin1") as TitleWindow;
            var textArea:TextArea = titleWin.getChildByName("newTextArea") as TextArea;
            
            // append text
            textArea.text += te.text;        
        }
        
    ]]>
</mx:Script>
    <mx:Panel title="Main Application">
        
        <mx:Button label="Open New Window" click="openWin1()">
            
        </mx:Button>
        <mx:Button label="Close Windows" click="closeWins()">
            
        </mx:Button>
        
    </mx:Panel>
</mx:Application>

Open in new window

0

Featured Post

Keep up with what's happening at Experts Exchange!

Sign up to receive Decoded, a new monthly digest with product updates, feature release info, continuing education opportunities, and more.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Introduction This article is primarily concerned with ActionScript 3 and generally specific to AVM2.  Most suggestions would apply to ActionScript 2 as well, and I've noted those tips that differ between AS2 and AS3. With the advent of ActionS…
Here are some practices and techniques that can be adopted into your Flash/Flex application development process. Note: Not all "performance tips" provide an immediately-recognizable benefit.   This article does not include timing validation data,…
The goal of the tutorial is to teach the user how to live broadcast using Flash Media Live Encoder and connecting it to YouTube to broadcast. Log into your Youtube account, choose live stream settings, start live stream from Flash Media Live Enc…
The goal of the tutorial is to teach the user how to select which audio input to use. Once you have an audio input plugged into the laptop or computer, you will go into the audio input settings and choose which audio input you want to use.
Suggested Courses

850 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question