MaxCustomControls::ExplorerContainer Class Reference


Detailed Description

Implements some basic functionality that is both useful and required by any Form that wishes to hold an ExplorerControl component.

Clients wishing to implement their own Explorer forms should derive a Form class from this class. Although this class is not strictly abstract, the ExplorerControl property is meant to be overridden and will throw an exception if called with its current implementation. This class is kept concrete to faciliate usage in the Visual Studio Designer.

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

List of all members.

Protected Member Functions

  ExplorerContainer ()
  Constructor that attaches handlers for activating, closing the form, and handler for dealing with hotkeys.
virtual void  HandleHotkey (object sender, KeyEventArgs e)
  Handler for dealing with Form hotkeys.
void  HandleSelectChildrenCheckedChanged (object sender, EventArgs e)
  Handler intended to be attached to the menu item for Select Children.
void  HandleInvertSelectionClick (object sender, EventArgs e)
  Handler for the InvertSelection action.
void  HandleSelectNoneClick (object sender, EventArgs e)
  Handler for the SelectNone action.
void  HandleSelectAllClick (object sender, EventArgs e)
  Handler for the SelectAll action.
void  HandleFindCaseSensitiveCheckedChanged (object sender, EventArgs e)
  Handler for the Find Case Sensitive action.
void  HandleFindUsingRegularExpressionsClicked (object sender, EventArgs e)
  Handler for the Find Using Regular Expressions action.
void  HandleFindUsingWildcardsClicked (object sender, EventArgs e)
  Handler for the Find Using Wildcards action.
void  UpdateFindStyleOptionMenuItems (ToolStripMenuItem findUsingRegularExpressionsMenuItem, ToolStripMenuItem findUsingWildcardsMenuItem)
  Utility method for updating the two find option menu items based on the current FindStyle property on ExplorerControl.
override bool  ProcessKeyPreview (ref Message m)
  Overridden to support routing key events to the main application.
override void  WndProc (ref Message m)
  Override WndProc to deal with WM_PAINT specially to overcome the redrawing issue when the explorer is registered as an extended viewport.

Properties

virtual ExplorerControl  ExplorerControl [get, set]
  The ExplorerControl being hosted by this container.
virtual NodeCommand  DragAndDropNodeCommand [get, set]
  The NodeCommand that is run when a successful drag-and-drop operation is performed.
virtual NodeCommandEventHandler  DragAndDropCommandHandler [get, set]
  The drag-and-drop event handler.

Constructor & Destructor Documentation

MaxCustomControls::ExplorerContainer::ExplorerContainer ( ) [inline, protected]

Constructor that attaches handlers for activating, closing the form, and handler for dealing with hotkeys.


Member Function Documentation

virtual void MaxCustomControls::ExplorerContainer::HandleHotkey ( object  sender,
KeyEventArgs  e 
) [inline, protected, virtual]

Handler for dealing with Form hotkeys.

Clients can override this method to handle their own hotkeys using the same mechanism that is used in the application Scene Explorer. If the client handler doesn't handle a key event, it should call base.HandleHotkey (this method) to allow the event to "bubble up" to this more generic handler.

Parameters:
sender The source of this event - "this"
e The arguments for this event. If the hotkey is being handled, then the Handled field should be marked as true.

Reimplemented in MaxCustomControls::SceneExplorerControls::SceneExplorerDialog.

void MaxCustomControls::ExplorerContainer::HandleSelectChildrenCheckedChanged ( object  sender,
EventArgs  e 
) [inline, protected]

Handler intended to be attached to the menu item for Select Children.

Modifies the SelectChildren property on the ExplorerControl.

Parameters:
sender Source of the event - the menu item
e not used
void MaxCustomControls::ExplorerContainer::HandleInvertSelectionClick ( object  sender,
EventArgs  e 
) [inline, protected]

Handler for the InvertSelection action.

Calls InvertSelection() on ExplorerControl.

Parameters:
sender Source of the event
e not used
void MaxCustomControls::ExplorerContainer::HandleSelectNoneClick ( object  sender,
EventArgs  e 
) [inline, protected]

Handler for the SelectNone action.

Calls ClearNodeSelection() on ExplorerControl.

Parameters:
sender Source of the event
e not used
void MaxCustomControls::ExplorerContainer::HandleSelectAllClick ( object  sender,
EventArgs  e 
) [inline, protected]

Handler for the SelectAll action.

Calls SelectAll() on ExplorerControl.

Parameters:
sender Source of the event
e not used
void MaxCustomControls::ExplorerContainer::HandleFindCaseSensitiveCheckedChanged ( object  sender,
EventArgs  e 
) [inline, protected]

Handler for the Find Case Sensitive action.

Changes the IsCaseSensitive property on ExplorerControl.

Parameters:
sender Source of the event
e not used
void MaxCustomControls::ExplorerContainer::HandleFindUsingRegularExpressionsClicked ( object  sender,
EventArgs  e 
) [inline, protected]

Handler for the Find Using Regular Expressions action.

Changes the FindStyle property on ExplorerControl.FindHandler.

Parameters:
sender Source of the event
e not used
void MaxCustomControls::ExplorerContainer::HandleFindUsingWildcardsClicked ( object  sender,
EventArgs  e 
) [inline, protected]

Handler for the Find Using Wildcards action.

Changes the FindStyle property on ExplorerControl.FindHandler.

Parameters:
sender Source of the event
e not used
void MaxCustomControls::ExplorerContainer::UpdateFindStyleOptionMenuItems ( ToolStripMenuItem  findUsingRegularExpressionsMenuItem,
ToolStripMenuItem  findUsingWildcardsMenuItem 
) [inline, protected]

Utility method for updating the two find option menu items based on the current FindStyle property on ExplorerControl.

Parameters:
findUsingRegularExpressionsMenuItem The menu item for Find Using Regular Expressions.
findUsingWildcardsMenuItem The menu item for Find Using Wildcards.
override bool MaxCustomControls::ExplorerContainer::ProcessKeyPreview ( ref Message  m ) [inline, protected]

Overridden to support routing key events to the main application.

Parameters:
m Current key message.
Returns:
Same as the base implementation.
override void MaxCustomControls::ExplorerContainer::WndProc ( ref Message  m ) [inline, protected]

Override WndProc to deal with WM_PAINT specially to overcome the redrawing issue when the explorer is registered as an extended viewport.

Removing UserPaint flag causes user edit control in ToolStrip not to draw so it's not used.

Parameters:
m Current message to handle

Property Documentation

virtual ExplorerControl MaxCustomControls::ExplorerContainer::ExplorerControl [get, set]

The ExplorerControl being hosted by this container.

Must be overridden by deriving classes.

This implementation of this property throws a NotImplementedException. Deriving classes MUST override this method and supply their own implementation.

Reimplemented in MaxCustomControls::MaterialBrowserControls::ModalMaterialBrowser, MaxCustomControls::MaterialBrowserControls::ModelessMaterialBrowser, MaxCustomControls::MaterialExplorerControls::MaterialExplorerDialog, MaxCustomControls::SceneExplorerControls::ModalSceneExplorerDialog, and MaxCustomControls::SceneExplorerControls::SceneExplorerDialog.

virtual NodeCommand MaxCustomControls::ExplorerContainer::DragAndDropNodeCommand [get, set]

The NodeCommand that is run when a successful drag-and-drop operation is performed.

virtual NodeCommandEventHandler MaxCustomControls::ExplorerContainer::DragAndDropCommandHandler [get, set, protected]

The drag-and-drop event handler.

This member's functions should be attached to new ExplorerControls as they are set. This property is made protected to allow for clients to overload the behaviour of this handler methods.


MaxCustomControls::ExplorerContainer MaxCustomControls::ExplorerContainer MaxCustomControls::ExplorerContainer MaxCustomControls::ExplorerContainer MaxCustomControls::ExplorerContainer MaxCustomControls::ExplorerContainer MaxCustomControls::ExplorerContainer MaxCustomControls::ExplorerContainer MaxCustomControls::ExplorerContainer MaxCustomControls::ExplorerContainer
MaxCustomControls::ExplorerContainer MaxCustomControls::ExplorerContainer MaxCustomControls::ExplorerContainer MaxCustomControls::ExplorerContainer MaxCustomControls::ExplorerContainer MaxCustomControls::ExplorerContainer MaxCustomControls::ExplorerContainer MaxCustomControls::ExplorerContainer MaxCustomControls::ExplorerContainer MaxCustomControls::ExplorerContainer