## DefineLayout

### Description

Defines the layout of controls on a property page (including a property page defined for a custom operator).

Use this callback to define how the property page will appear. This is where you define the controls (such as buttons, tabs, text fields, and combo boxes) and the overall layout (such as where the lines break, the spacing between controls, and the width and alignment of controls).

This callback is fired immediately after the Define callback is fired for the first time in a Softimage session. You can also force it to fire when you use the PPG.Refresh method.

### Applies To

Custom Operators Custom Properties

### Syntax

    public class <plugin-item_name>

    {

    	public bool DefineLayout( Context in_context )

    	{

    		...

    	}

    }

    CStatus <plugin-item_name>_DefineLayout( CRef& in_context )

    {

    	...

    }

    function <plugin-item_name>_DefineLayout( in_context )

    {

    	...

    }

    def <plugin-item_name>_DefineLayout( in_context ):

    	...

    Function <plugin-item_name>_DefineLayout( in_context )

    	...

    End Function

    sub <plugin-item_name>_DefineLayout

    {

    	my $in_context = shift;

    }

<plugin-item-name> is the name specified in the call to PluginRegistrar.RegisterProperty or PluginRegistrar.RegisterOperator, with any spaces converted to underscores. For example, if you register a property with the name "My Property", the callback function names start with "My_Property".

### Parameters

Parameter | Language | Type | Description
--- | --- | --- | ---
in_context | Scripting and C# | Context (scripting) | Context.Source returns the PPGLayout.
| C++ | CRef& | A reference to the PPGLayout.

### See Also

- PluginRegistrar.RegisterProperty
- PluginRegistrar.RegisterOperator
- Define
- CustomProperty.AddParameter2
- CustomProperty.AddFCurveParameter
- CustomProperty.AddGridParameter
- CustomProperty.AddProxyParameter
- CustomProperty.AddParameterFromDef
- Property Callbacks
- Operator Callbacks