Well - what I've done, after finding a titlewindow example on cflex,
is create a public variable in the titlewindow component of the same
name as one in the application, and I send it to the component from
the main app AND back via the title window's instance variable. i.e.:
TitleWindow Component:
[Bindable]
public var aListOfData:ArrayCollection;
private function sendData():void {
-> runs when you click submit in titlewindow
var compilation:Obect = new Object;
compilation.setting1 = "something in component";
aListOfData.addItem(compilation); (or setItemAt, etc)
}
Main Application looks like this:
[Bindable]
private var aListofData:ArrayCollection;
private function openComponent():void {
-> runs when you click open window in the main app
var openingWindow....blah blah, opening the TitleWindow;
openingWindow.aListOfData = aListOfData;
}
OK - so those variable names are random thoughts off the top of my
head, bu you get the picture. From what I understand, this doesn't
follow the idea behind "loosely coupled components," but is there
anything really "wrong" with this methodology? It seems to work very
well in my case. I can even have a window within a window, all
passing variables between windows, all the way down to the main app
quite easily, and so far its been a breeze to setup.
Thoughts anyone? If I continue down this path, where will I start to
run into problems?
- Chris
--- In [email protected], "Roman Protsiuk"
<[EMAIL PROTECTED]> wrote:
>
> Hi.
>
> Why don't your pop up dispatch some event (e.g. "submitData") and
you listen
> to it?
>
> R.
>
> On 12/5/06, qnotemedia <[EMAIL PROTECTED]> wrote:
> >
> > OK - so I'm using the generic TileWindow example found on the
> > Component Explorer. It basically shows you how to build something
> > where:
> > 1) User clicks a button, Window pops up.
> > 2) User types into a text box in the window, clicks Submit.
> > 3) Text typed in appears in the main app.
> >
> >
http://examples.adobe.com/flex2/inproduct/sdk/explorer/explorer.html
> >
> > But, I'm having a little difficulty understanding the assignment
of
> > the returned data. i.e.:
> >
> > login.loginName=returnedName;
> >
> > ...where login is the instance of the TitleWindow, loginName is a
> > public Text variable inside the component, and returnedName is a
text
> > box in the main app.
> >
> > My confusion comes up when I try to edit this so that:
> > 1) App has a combobox. Dataprovider for the combobox is an
> > ArrayCollection of data: "data" and "label." User clicks a button,
> > TitleWindow pops up.
> > 2) User types into a text box in the window, clicks Submit.
> > 3) The text is a passed as a label, along with a generated ID
> > (generated in the component) and is added to the combobox's
> > dataprovider.
> >
> > The problem appears to be that there is no handler of the Submit
> > button click on the main application. Obviously, I would add to a
> > datasource and return an ID from that, but I can't even get this
to
> > work manually (i.e. for testing purposes, setting a static data
and
> > label).
> >
> > Just trying to keep this as simple as possible. Seems to me that
if
> > I can pass a string of text, I should also be able to pass an
Object
> > that is added to a dataProvider in the main app? Right?
> >
> > Help!
> > - Chris
> >
> >
> >
>