XSIDialog

Object Hierarchy

Introduced

v2.0

Description

This object allows you to launch a simple modal dialog contained a drop down list of strings. It is particularly useful when asking the user to select from a dynamically generated list of items.

An alternative approach is to use a Combo control on a CustomProperty (see PPGLayout.AddEnumControl).

Methods

Combo ComboEx    
       

Examples

1. VBScript Example

dim XSIDial, aItems

set XSIDial = CreateObject("XSIDial.XSIDialog" )

aItems = Array( "Item1", "Item2", "Item3" )

indx = XSIDial.ComboEx( "Window Title", aItems, 2 )

if ( indx = -1 ) then

	Application.LogMessage "User cancelled"

else

	Application.LogMessage "User selected: " & aItems( indx )

end if

2. JScript Example

/*

	Demonstrates how you can ask the user to pick an object

	based on a list of object names

*/

NewScene(null, false);

// Create 4 nulls, with one nested underneath another

GetPrim("Null", "FirstNull");

GetPrim("Null", "MiddleNull");

var oLastNull = GetPrim("Null", "LastNull");

oLastNull.AddPrimitive("Null", "HiddenNull");

// Look for our nulls based on the naming convention

var dummy;

var oNulls = ActiveSceneRoot.FindChildren( "*Null", dummy, dummy, true );

// Fill their names into a string

var aNames = new Array();

for ( i=0 ; i<oNulls.Count; i++ ) {

	aNames.push( oNulls.Item(i).FullName );

}

// Often it is convenient to sort objects

XSIUtils.QuickSort( aNames )

var oDial = new ActiveXObject( "XSIDial.XSIDialog" );

// Ask the user to pick a null

indx = oDial.Combo( "Pick a Null", aNames );

if ( indx != -1 ) {

	InspectObj( aNames[indx] );

}

See Also

CustomProperty