1 Reply Latest reply on Dec 14, 2006 7:01 AM by M. Huisman

    [Component] Bug or not bug MenuBar

    Itératif
      Alors je viens de trouver le probleme, ils ont oublié du code dans la gestion des évènements sur les collections dans MenuBar, voici une correction :

      1. dans un projet Flex 2 ajouter le chemin de classes vers les codes sources du framework de Flex 2.
      2. ajouter ce code dans la méthode collectionChangeHandler de la classe MenuBar :

      private function collectionChangeHandler(event:Event):void
      {
      trace("[MenuBar] caught Model changed");
      if (event is CollectionEvent)
      {
      var ce:CollectionEvent = CollectionEvent(event);
      if (ce.kind == CollectionEventKind.ADD)
      {
      dataProviderChanged = true;
      invalidateProperties();
      //trace("[MenuBar] add event");
      }
      else if (ce.kind == CollectionEventKind.REMOVE)
      {
      dataProviderChanged = true;
      invalidateProperties();
      //trace("[MenuBar] remove event at:", ce.location);
      }
      / **** AJOUT DU CODE ICI ************************** /
      / *** Evenement oublie ****************************** /
      else if (ce.kind == CollectionEventKind.UPDATE)
      {
      dataProviderChanged = true;
      invalidateProperties();
      //trace("[MenuBar] remove event at:", ce.location);
      }
      / ****************************************************** /
      else if (ce.kind == CollectionEventKind.REFRESH)
      {
      dataProviderChanged = true;
      dataProvider = dataProvider; //start over
      invalidateProperties();
      invalidateSize();
      //trace("[MenuBar] refresh event");
      }
      else if (ce.kind == CollectionEventKind.RESET)
      {
      dataProviderChanged = true;
      invalidateProperties();
      invalidateSize();
      //trace("[MenuBar] reset event");
      }
      }

      //bItemsSizeChanged = true;
      invalidateDisplayList();
      }

      voici la source du probleme : http://flash.media-box.net/index.php?showtopic=64311

      avec un exemple ...