Class IAutoEParamDlg

3DS Max Plug-In SDK

Class IAutoEParamDlg

See Also: Class ParamDlg, Class IParamMap2, Class IRendParams, Class ParamMap2UserDlgProc.

class IAutoEParamDlg : public EffectParamDlg

Description:

This class is available in release 3.0 and later only.

Auto ParamDlg class for Effects auto-UI, instanced by ClassDesc2::CreateParamDialog(). It maintains a table of secondary EffectParamDlg for master EffectParamDlg (e.g., the one returned from CreateParamDialog()) and will broadcast appropriate method calls to them as the master receives them.

Methods:

public:

Prototype:

virtual void InvalidateUI()=0;

Remarks:

This method causes the user interface controls to be re-drawn.

Prototype:

virtual int NumDlgs()=0;

Remarks:

Returns the number of secondary dialogs.

Prototype:

virtual void AddDlg(SFXParamDlg* dlg)=0;

Remarks:

Adds the specified dialog as another secondary dialog.

Parameters:

SFXParamDlg* dlg

Points to the parameter dialog to add.

Prototype:

virtual SFXParamDlg* GetDlg(int i)=0;

Remarks:

Returns a pointer to the 'i-th' secondary dialog.

Parameters:

int i

The zero based index of the dialog to return.

Prototype:

virtual void SetDlg(int i, SFXParamDlg* dlg)=0;

Remarks:

Sets the 'i-th' dialog to the one passed.

Parameters:

int i

The zero based index of the dialog to set.

SFXParamDlg* dlg

Points to the parameter dialog to set.

Prototype:

virtual void DeleteDlg(SFXParamDlg* dlg)=0;

Remarks:

This method is used for deleting secondary dialogs from a master IAutoEParamDlg. Use this along with AddDlg() if you are dynamically changing the set of rollups for the plugin, so that the P_AUTO_UI system can correctly manage all current secondary rollups.

Parameters:

SFXParamDlg* dlg

Points to the ParamDlg to delete.

Prototype:

virtual IParamMap2* GetMap()=0;

Remarks:

Returns a pointer to the parameter map2 of this primary (master) dialog.

The following function is not a method of this class but is available for use:

Function:

IAutoEParamDlg* CreateAutoEParamDlg(IRendParams *i, Effect* e, IParamBlock2* pb, ClassDesc2* cd, HINSTANCE inst, TCHAR* dlgTemplate, TCHAR* title, int rollFlags, ParamMap2UserDlgProc* dlgProc=NULL);

Remarks:

This function creates an AutoEParamDlg for render effects.

Parameters:

IRendParams *i

An interface pointer for rendering effects.

Effect* e

Points to the rendering effect calling this function.

IParamBlock2* pb

Points to the parameter block instance associated with the parameter map.

ClassDesc2* cd

The class descriptor2 for the plug-in creating the parameter map.

HINSTANCE inst

The plug-ins DLL instance handle.

TCHAR* dlgTemplate

Dialog template for the rollup page (created using the resource editor)

TCHAR* title

The title displayed in the rollup page title bar.

int rollFlags

A set of flags to control settings of the rollup page.

APPENDROLL_CLOSED

Starts the page in the rolled up state.

ParamMap2UserDlgProc* dlgProc=NULL

If there is some custom handling required by a particular control, the client can derive a class from ParamMap2UserDlgProc and set it as the parameter map's user callback.

Return Value:

A pointer to an interface for managing the parameter map2.