MaxCustomControls::ICuiDockableContent Interface Reference


Detailed Description

By implementing this interface (which includes ICuiAction), and placing the class in a DLL that is deposited in bin, 3ds Max will dynamically load this class as an action in its CUI interface.

When the action is executed, content returned by ICuiDockableContent will be loaded into a CUIFrame Win32 dockable window and launched.

This interface is provided as a means to quickly add a .NET WPF-based User Interface solution to 3ds Max. In particular, this method supports creating a WPF Control which can then be instantiated within 3ds Max.

In brief, a developer can create a WPF Control project, model a control and program the functionality, and finally declare an action class that implements this interface and who creates an instance of this Control. The Control will fill the CUIFrame, but otherwise will behave as if it was created within a WPF dialog.

Inheritance diagram for MaxCustomControls::ICuiDockableContent:
Inheritance graph
[legend]

List of all members.

Public Member Functions

Object  CreateDockableContent ()
  This method is called by the managed assembly loading process process when it is ready to create and show the managed user control.
void  SetContentDockMode (Object dockableContent, DockStates.Dock dockMode)
  This is a callback function that 3ds Max calls when the CUI frame is docked or floated from the main application frame.

Properties

String  WindowTitle [get]
  The name that the CUIFrame should assume.
Type  ContentType [get]
  The Type of the user control that is created by this action.
bool  InvalidateOnMoved [get]
  Return true if moving the CUIFrame should Invalidate the user control and force a repaint.
bool  DestroyOnClose [get, set]
  Return true if, when the CUIFrame dialog is closed, it should call DestroyWindow() on itself.
DockStates.Dock  DockingModes [get]
  The dock modes that this control supports.

Events

EventHandler< EventArgs >  ResettingConfiguration
  This should be raised when this component is asked to reset its configuration to factory defaults.
EventHandler
< CuiDockableContentConfigEventArgs
SavingConfiguration
  This should be raised when this component is currently saving out its current state.
EventHandler
< CuiDockableContentConfigEventArgs
LoadingConfiguration
  This should be raised when this component is currently loading in a persisted state.

Member Function Documentation

Object MaxCustomControls::ICuiDockableContent::CreateDockableContent ( )

This method is called by the managed assembly loading process process when it is ready to create and show the managed user control.

Returns:
An instance of the Control to create and place as the root object in a CUIFrame.

Implemented in MaxCustomControls::CuiDockableContentAdapter.

void MaxCustomControls::ICuiDockableContent::SetContentDockMode ( Object  dockableContent,
DockStates.Dock  dockMode 
)

This is a callback function that 3ds Max calls when the CUI frame is docked or floated from the main application frame.

Parameters:
dockableContent An instance of a Control returned by CreateDockableContent().
dockMode The new dock state of the CUIFrame.
See also:
CreateDockableContent()

Property Documentation

String MaxCustomControls::ICuiDockableContent::WindowTitle [get]

The name that the CUIFrame should assume.

This property should be localizable.

Implemented in MaxCustomControls::CuiDockableContentAdapter.

Type MaxCustomControls::ICuiDockableContent::ContentType [get]

The Type of the user control that is created by this action.

Implemented in MaxCustomControls::CuiDockableContentAdapter.

bool MaxCustomControls::ICuiDockableContent::InvalidateOnMoved [get]

Return true if moving the CUIFrame should Invalidate the user control and force a repaint.

Implemented in MaxCustomControls::CuiDockableContentAdapter.

bool MaxCustomControls::ICuiDockableContent::DestroyOnClose [get, set]

Return true if, when the CUIFrame dialog is closed, it should call DestroyWindow() on itself.

Alternatively, if false is returned here, the window will simply be closed, but not destroyed. This would be useful if the content is expensive to create.

Implemented in MaxCustomControls::CuiDockableContentAdapter.

DockStates.Dock MaxCustomControls::ICuiDockableContent::DockingModes [get]

The dock modes that this control supports.

Implemented in MaxCustomControls::CuiDockableContentAdapter.


Event Documentation

EventHandler<EventArgs> MaxCustomControls::ICuiDockableContent::ResettingConfiguration

This should be raised when this component is asked to reset its configuration to factory defaults.

Implemented in MaxCustomControls::CuiDockableContentAdapter.

EventHandler<CuiDockableContentConfigEventArgs> MaxCustomControls::ICuiDockableContent::SavingConfiguration

This should be raised when this component is currently saving out its current state.

Implemented in MaxCustomControls::CuiDockableContentAdapter.

EventHandler<CuiDockableContentConfigEventArgs> MaxCustomControls::ICuiDockableContent::LoadingConfiguration

This should be raised when this component is currently loading in a persisted state.

Implemented in MaxCustomControls::CuiDockableContentAdapter.