## PPG.CurrentTab

### Introduced

v4.0

### Description

Returns or sets the current tab visible on the property page as a String. The tab is identified by its label (see PPGLayout.AddTab).

### Examples

#### JScript Example

    // Demonstration of the ability to manipulate Tabs on

    // a PPG from within PPG logic code.

    //

    // It is possible to find out what tab is active,

    // change the tab, and to get notified when the tab changes.

    // Create a basic Custom PSet that doesn't even have any parameters,

    // just layout elements.

    var oPSet = ActiveSceneRoot.AddProperty( "CustomProperty",false,"TabDemo" )

    var oLayout = oPSet.PPGLayout

    oLayout.AddTab( "Tab 1" );

    oLayout.AddButton( "Tab1Button", "Next" );

    oLayout.AddTab( "Tab 2" );

    oLayout.AddButton( "Tab2Button", "Previous" );

    oLayout.AddTab( "LeaveMeAlone" ) ;

    oLayout.AddButton( "NeverSeen" );

    oLayout.Language = "JScript";

    oLayout.Logic = OnInit.toString() +

    		Tab1_OnTab.toString() +

    		Tab2_OnTab.toString() +

    		LeaveMeAlone_OnTab.toString() +

    		Tab1Button_OnClicked.toString() +

    		Tab2Button_OnClicked.toString() ;

    InspectObj( oPSet )

    //

    // The following is the logic code that

    // controls the behavior of the PPG.

    //

    function OnInit()

    {

    	// Note: Currently it is not possible to change

    	// tabs during the OnInit callback

    }

    function Tab1Button_OnClicked()

    {

    	// "Next" button

    	PPG.CurrentTab = "Tab 2" ;

    }

    function Tab2Button_OnClicked()

    {

    	// Move to the Previous tab

    	PPG.CurrentTab = "Tab 1" ;

    }

    function Tab1_OnTab()

    {

    	// Called when Tab1 gets clicked

    	// and when we first open the PPG.

    	// (But not called when we change

    	// the tab programmatically.)

    	// Notice how the space in the tab label ("Tab 1")

    	// has been removed to generate the callback name

    	// ("Tab1_OnTab")

    	Logmessage( "Current tab is: " + PPG.CurrentTab ) ;

    }

    function Tab2_OnTab()

    {

    	Logmessage( "Now current tab is: " + PPG.CurrentTab ) ;

    }

    function LeaveMeAlone_OnTab()

    {

    	// Rather a harsh user interface -

    	// prevent users from going to this

    	// tab.  This might be useful when implementing

    	// a Wizard-style workflow

    	PPG.CurrentTab = "Tab 1" ;

    }

### See Also

InspectObj PPG.Inspected