Hmm... well Scotty, interestingly enough, this train of thought isn't working... for some reason the condition is always returning true, even when no tabs at all have been created... back to the drawing board I guess.

On 7/20/06, Scotty Scott <[EMAIL PROTECTED]> wrote:

Change


var selectTab:Container = this.windowTabs.getChildByName(newid);

to
var selectTab:Container = Container(this.windowTabs.getChildByName(newid));
Or
var selectTab:Container = this.windowTabs.getChildByName(newid) as Container;

Im not sure which syntax is the correct way or what the difference is.  Anyone care to explain the difference?

Scotty



On 7/20/06, Nick Collins < [EMAIL PROTECTED]> wrote:

I tried something very similar to that, but got the following error, as I did this time:
1118: Implicit coercion of a value with static type flash.display:DisplayObject to a possibly unrelated type mx.core:Container .




On 7/20/06, fwscott < [EMAIL PROTECTED]> wrote:

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 flexcoders@yahoogroups.com , "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?
>




__._,_.___

--
Flexcoders Mailing List
FAQ: http://groups.yahoo.com/group/flexcoders/files/flexcodersFAQ.txt
Search Archives: http://www.mail-archive.com/flexcoders%40yahoogroups.com





SPONSORED LINKS
Web site design development Computer software development Software design and development
Macromedia flex Software development best practice


YAHOO! GROUPS LINKS




__,_._,___

Reply via email to