<commit_before>////////////////////////////////////////////////////////////////////////////////
//
//  ADOBE SYSTEMS INCORPORATED
//  Copyright 2010 Adobe Systems Incorporated
//  All Rights Reserved.
//
//  NOTICE: Adobe permits you to use, modify, and distribute this file
//  in accordance with the terms of the license agreement accompanying it.
//
////////////////////////////////////////////////////////////////////////////////

// TODO (chiedozi): TabbedViewNavigator should override setActive and activate
// the correct ViewNavigator.
package spark.components
{
import flash.display.Stage;
import flash.events.Event;
import flash.events.IEventDispatcher;
import flash.events.MouseEvent;

import mx.core.ISelectableList;
import mx.core.IVisualElement;
import mx.core.UIComponent;
import mx.core.mx_internal;
import mx.effects.IEffect;
import mx.effects.Parallel;
import mx.events.CollectionEvent;
import mx.events.CollectionEventKind;
import mx.events.EffectEvent;
import mx.events.FlexEvent;
import mx.events.PropertyChangeEvent;
import mx.events.PropertyChangeEventKind;
import mx.managers.LayoutManager;
import mx.resources.ResourceManager;

import spark.components.supportClasses.ButtonBarBase;
import spark.components.supportClasses.ViewNavigatorBase;
import spark.effects.Animate;
import spark.effects.animation.MotionPath;
import spark.effects.animation.SimpleMotionPath;
import spark.events.ElementExistenceEvent;
import spark.events.IndexChangeEvent;
import spark.events.RendererExistenceEvent;

use namespace mx_internal;

//--------------------------------------
//  Events
//--------------------------------------

/**
 *  Dispatched when the current view navigator changes as a result of
 *  a change to the <code>selectedIndex</code> property or a change 
 *  to the selected tab in the TabBar control.
 * 
 *  @eventType spark.events.IndexChangeEvent.CHANGE
 *  
 *  @langversion 3.0
 *  @playerversion AIR 2.5
 *  @productversion Flex 4.5
 */
[Event(name="change", type="spark.events.IndexChangeEvent")]

/**
 *  Dispatched before the selected view navigator is changed.  
 *  Canceling this event prevents the active view navigator
 *  from changing.
 * 
 *  @eventType spark.events.IndexChangeEvent.CHANGING
 *  
 *  @langversion 3.0
 *  @playerversion AIR 2.5
 *  @productversion Flex 4.5
 */
[Event(name="changing", type="spark.events.IndexChangeEvent")]

/**
 *  Dispatched when the collection of view navigators managed by the
 *  TabbedViewNavigator changes.
 * 
 *  @eventType mx.events.CollectionEvent.COLLECTION_CHANGE
 *  
 *  @langversion 3.0
 *  @playerversion AIR 2.5
 *  @productversion Flex 4.5
 */
[Event(name="collectionChange", type="mx.events.CollectionEvent")]

/**
 *  Dispatched when the view navigator's selected index changes.  
 *  When this event is dispatched, the <code>selectedIndex</code> 
 *  and <code>selectedNavigator</code> properties reference the 
 *  newly selected view navigator.
 * 
 *  @eventType mx.events.FlexEvent.VALUE_COMMIT
 *  
 *  @langversion 3.0
 *  @playerversion AIR 2.5
 *  @productversion Flex 4.5
 */
[Event(name="valueCommit", type="mx.events.FlexEvent")]

//--------------------------------------
//  Other metadata
//--------------------------------------

[IconFile("TabbedViewNavigator.png")]

/**
 *  The TabbedViewNavigator class is a container that manages a collection
 *  of view navigator containers.  
 *  Only one view navigator is active and visible at a time.  
 *  This class includes a TabBar control that provides the ability to toggle between
 *  the collection of view navigators.  
 *
 *  <p>The following images shows a TabbedViewNavigator with three sections: 
 *  Employees, Contacts, and Search:</p>
 *
 * <p>
 *  <img src="../../images/tvn_sections_with_ab_tvn.png" alt="Tabbed view navigator" />
 * </p>
 *
 *  <p>The TabbedViewNavigatorApplication container automatically creates 
 *  a single TabbedViewNavigator container for the entire application. 
 *  You can reference the TabbedViewNavigator object by using the <code>navigator</code>
 *  property of the TabbedViewNavigatorApplication container.</p>
 * 
 *  <p>The active or selected navigator can be changed by clicking the corresponding
 *  tab in the TabBar or by changing the <code>selectedIndex</code> property of
 *  the component.</p>
 * 
 *  <p>The contents of a child view navigator is destroyed when it is deactivate, 
 *  and dynamically created when activated.</p>  
 * 
 *  @see spark.components.View
 *  @see spark.components.ViewNavigator
 *  @see spark.components.TabBar
 *
 *  @includeExample examples/TabbedViewNavigatorExample.mxml -noswf
 * <commit_msg>Transferred from the Adobe Open Source Subversion Repository<commit_after>////////////////////////////////////////////////////////////////////////////////
//
//  ADOBE SYSTEMS INCORPORATED
//  Copyright 2010 Adobe Systems Incorporated
//  All Rights Reserved.
//
//  NOTICE: Adobe permits you to use, modify, and distribute this file
//  in accordance with the terms of the license agreement accompanying it.
//
////////////////////////////////////////////////////////////////////////////////

// TODO (chiedozi): TabbedViewNavigator should override setActive and activate
// the correct ViewNavigator.
package spark.components
{
import flash.display.Stage;
import flash.events.Event;
import flash.events.IEventDispatcher;
import flash.events.MouseEvent;

import mx.core.ISelectableList;
import mx.core.IVisualElement;
import mx.core.UIComponent;
import mx.core.mx_internal;
import mx.effects.IEffect;
import mx.effects.Parallel;
import mx.events.CollectionEvent;
import mx.events.CollectionEventKind;
import mx.events.EffectEvent;
import mx.events.FlexEvent;
import mx.events.PropertyChangeEvent;
import mx.events.PropertyChangeEventKind;
import mx.managers.LayoutManager;
import mx.resources.ResourceManager;

import spark.components.supportClasses.ButtonBarBase;
import spark.components.supportClasses.ViewNavigatorBase;
import spark.effects.Animate;
import spark.effects.animation.MotionPath;
import spark.effects.animation.SimpleMotionPath;
import spark.events.ElementExistenceEvent;
import spark.events.IndexChangeEvent;
import spark.events.RendererExistenceEvent;

use namespace mx_internal;

//--------------------------------------
//  Events
//--------------------------------------

/**
 *  Dispatched when the current view navigator changes as a result of
 *  a change to the <code>selectedIndex</code> property or a change 
 *  to the selected tab in the TabBar control.
 * 
 *  @eventType spark.events.IndexChangeEvent.CHANGE
 *  
 *  @langversion 3.0
 *  @playerversion AIR 2.5
 *  @productversion Flex 4.5
 */
[Event(name="change", type="spark.events.IndexChangeEvent")]

/**
 *  Dispatched before the selected view navigator is changed.  
 *  Canceling this event prevents the active view navigator
 *  from changing.
 * 
 *  @eventType spark.events.IndexChangeEvent.CHANGING
 *  
 *  @langversion 3.0
 *  @playerversion AIR 2.5
 *  @productversion Flex 4.5
 */
[Event(name="changing", type="spark.events.IndexChangeEvent")]

/**
 *  Dispatched when the collection of view navigators managed by the
 *  TabbedViewNavigator changes.
 * 
 *  @eventType mx.events.CollectionEvent.COLLECTION_CHANGE
 *  
 *  @langversion 3.0
 *  @playerversion AIR 2.5
 *  @productversion Flex 4.5
 */
[Event(name="collectionChange", type="mx.events.CollectionEvent")]

/**
 *  Dispatched when the view navigator's selected index changes.  
 *  When this event is dispatched, the <code>selectedIndex</code> 
 *  and <code>selectedNavigator</code> properties reference the 
 *  newly selected view navigator.
 * 
 *  @eventType mx.events.FlexEvent.VALUE_COMMIT
 *  
 *  @langversion 3.0
 *  @playerversion AIR 2.5
 *  @productversion Flex 4.5
 */
[Event(name="valueCommit", type="mx.events.FlexEvent")]

//--------------------------------------
//  Other metadata
//--------------------------------------

[IconFile("TabbedViewNavigator.png")]

/**
 *  The TabbedViewNavigator class is a container that manages a collection
 *  of view navigator containers.  
 *  Only one view navigator is active and visible at a time.  
 *  This class includes a TabBar control that provides the ability to toggle between
 *  the collection of view navigators.  
 *
 *  <p>The following image shows a TabbedViewNavigator with three sections: 
 *  Employees, Contacts, and Search:</p>
 *
 * <p>
 *  <img src="../../images/tvn_sections_with_ab_tvn.png" alt="Tabbed view navigator" />
 * </p>
 *
 *  <p>The TabbedViewNavigatorApplication container automatically creates 
 *  a single TabbedViewNavigator container for the entire application. 
 *  You can reference the TabbedViewNavigator object by using the <code>navigator</code>
 *  property of the TabbedViewNavigatorApplication container.</p>
 * 
 *  <p>The active or selected navigator can be changed by clicking the corresponding
 *  tab in the TabBar or by changing the <code>selectedIndex</code> property of
 *  the component.</p>
 * 
 *  <p>The contents of a child view navigator is destroyed when it is deactivate, 
 *  and dynamically created when activated.</p>  
 * 
 *  @see spark.components.View
 *  @see spark.components.ViewNavigator
 *  @see spark.components.TabBar
 *
 *  @includeExample examples/TabbedViewNavigatorExample.mxml -noswf
 * 
{'fraction_non_alphanumeric': 0.1565180102915952, 'fraction_numerical': 0.006003430531732418, 'mean_word_length': 3.0988576449912126, 'pattern_counts': {'":': 0, '<': 45, '<?xml version=': 0, '>': 45, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 2}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '536949', 'n_tokens_mistral': 2663, 'n_tokens_neox': 2581, 'n_words': 765}