2009-08-26 3 views
0

Cette question est similaire au poste:Placer un bouton « addChild » dans l'espace de la grille de TabNavigator

« Déplacer le bouton dans l'espace de la grille d'un des onglets de TabNavigator dans Flex Builder. » Move Button into grid space of a TabNavigator's tabs in Flex Builder

mais avec une légère différence. Je souhaite avoir un bouton qui ajoute un enfant (onglet) au TabNavigator dans l'espace de la grille (plus simple avec TabBar, mais voir ci-dessous), mais ne bloque pas les onglets lorsqu'ils s'étendent vers le bouton. Cette fonctionnalité est visible dans tous les navigateurs Web utilisant des onglets.

En outre, je voudrais avoir un bouton de défilement apparaissent si trop d'onglets sont ouverts, et la possibilité de fermer les onglets. J'ai essayé d'utiliser SuperTabNavigator de Doug McCune, qui offre la plupart de ces fonctionnalités, mais il n'offre pas le bouton addChild que je recherche.

Existe-t-il un moyen d'ajouter ce bouton 'addChild' à l'espace de la grille, ou d'ajouter les fonctionnalités de SuperTabNavigator à TabBar?

Répondre

0

Cette classe fera l'affaire sauf pour le défilement quand il y a trop d'onglets.

<?xml version="1.0" encoding="utf-8"?> 
<mx:VBox xmlns:mx="http://www.adobe.com/2006/mxml" width="500" height="400"> 
    <mx:HBox width="100%"> 
     <mx:TabBar dataProvider="{viewstack}"/> 
     <mx:Button label="+" width="35" click="addTab()"/> 
    </mx:HBox> 
    <mx:ViewStack height="100%" width="100%" id="viewstack"/> 
    <mx:Script> 
     <![CDATA[ 
      import mx.controls.Label; 
      import mx.containers.Panel; 
      //add a new container 
      private function addTab():void 
      { 
       var l:Label = new Label(); 
       l.text = "Panel " + (viewstack.numChildren + 1); 
       var p:Panel = new Panel(); 
       p.label = l.text; 
       p.addChild(l); 
       viewstack.addChild(p); 
       viewstack.selectedChild = p; 
      } 
     ]]> 
    </mx:Script> 
</mx:VBox> 
Questions connexes