Hey Nick,
You could assign a name to your tab and then use
this.windowTabs.getChildByName(newtab.name);
Something like
private function createTab(createTabName:String):void
{
var newid:String = 'userTab' +
this.masterList.selectedItem.ContribNum;
var selectTab:Container = this.windowTabs.getChildByName(newid);
if(!selectTab) {
var newVbox:VBox = new VBox();
var newHbox:HBox = new HBox();
var newTab:Canvas = new Canvas();
var newSpacer:Spacer = new Spacer();
var tabCloseBtn:Button = new Button();
// create button to close tab
tabCloseBtn.label = "Close Tab";
tabCloseBtn.addEventListener
(MouseEvent.CLICK,myClickListener);
// create spacer to position close button
newSpacer.percentWidth = 100;
// create box layout controls
newHbox.percentWidth = 100;
newHbox.addChild(newSpacer);
newHbox.addChild(tabCloseBtn);
newVbox.addChild(newHbox);
newVbox.addChild
(getTithesComponent(this.masterList.selectedItem.ContribNum));
// create tab
newTab.label = createTabName;
newTab.id = newid;
newTab.name = newid;
newTab.addChild(newVbox);
this.windowTabs.addChild(newTab);
this.windowTabs.selectedChild = newTab;
}
else
this.windowTabs.selectedChild = selectTab;
}
Scotty
http://www.franciswscott.com
--- In [email protected], "Nick Collins" <[EMAIL PROTECTED]> wrote:
>
> I've got a datagrid with a list of people, that when you double click on
> one, it creates a new tab with that person's data into a
TabNavigator. I'm
> trying to get it so it will only open one instance of a tab for each
person,
> and if you try to open a person again, it will simply select their
tab that
> already exists. Sounds pretty straightforward, right?
>
> Here's what I've got, when you click the button for their data or double
> click their name, an event is launched which then calls this function,
> createTab:
>
> private function createTab(createTabName:String):void
> {
> var newVbox:VBox = new VBox();
> var newHbox:HBox = new HBox();
> var newTab:Canvas = new Canvas();
> var newSpacer:Spacer = new Spacer();
> var tabCloseBtn:Button = new Button();
>
> // create button to close tab
> tabCloseBtn.label = "Close Tab";
> tabCloseBtn.addEventListener (MouseEvent.CLICK,
> myClickListener);
>
> // create spacer to position close button
> newSpacer.percentWidth = 100;
>
> // create box layout controls
> newHbox.percentWidth = 100;
> newHbox.addChild(newSpacer);
> newHbox.addChild(tabCloseBtn);
> newVbox.addChild(newHbox);
> newVbox.addChild (getTithesComponent(
> this.masterList.selectedItem.ContribNum));
>
> // create tab
> newTab.label = createTabName;
> newTab.id = 'userTab' +
> this.masterList.selectedItem.ContribNum ;
> newTab.addChild(newVbox);
>
> var selectTab:ObjectName = newTab.id;
>
> if (!selectTab) {
> this.windowTabs.selectedChild = selectTab;
> } else {
> this.windowTabs.addChild(newTab);
> this.windowTabs.selectedChild = newTab;
> }
>
> }
>
> Now from the docs I've found, it seems like doing an if statement
with the
> condition of ! objectID should be checking if that id exists, right? for
> some reason it always returns false, even when a new canvas in the
> TabNavigator stack with that id value already exists.
>
> Any ideas how I can accurately detect if the object exists?
>
------------------------ Yahoo! Groups Sponsor --------------------~-->
See what's inside the new Yahoo! Groups email.
http://us.click.yahoo.com/2pRQfA/bOaOAA/yQLSAA/nhFolB/TM
--------------------------------------------------------------------~->
--
Flexcoders Mailing List
FAQ: http://groups.yahoo.com/group/flexcoders/files/flexcodersFAQ.txt
Search Archives: http://www.mail-archive.com/flexcoders%40yahoogroups.com
Yahoo! Groups Links
<*> To visit your group on the web, go to:
http://groups.yahoo.com/group/flexcoders/
<*> To unsubscribe from this group, send an email to:
[EMAIL PROTECTED]
<*> Your use of Yahoo! Groups is subject to:
http://docs.yahoo.com/info/terms/