MaxCustomControls::ExplorerControl Class Reference


Detailed Description

Base UI View component for representing a tree-structure hierarchy of TraversalNodes.

More specific views can be created for particular data sets by extending this class to included specialized handling. The Scene Explorer expresses one such instance, where this Control is specialized for the scene node data set.

The Explorer framework has been designed to handle more generic situations, however, and as such this Explorer can be used to represent any kind of hierarchy that a third-party client might wish to represent. The ExplorerControl class provides the following functionality:

  • A tree-list or flat-list view of a hierarchy of nodes.
  • The capability to add editable Properties to these nodes that are represented as additional, sortable columns in the tree-list.
  • Basic and Advanced Search capabilities. Basic search is provided by a Find input TextBox at the top of the control and performs a search (either strict, wildcard-based or regular expression-based) on the TraversalNode list of the tree-list. Advanced Search is a separate component which can be added to the Explorer dialog (either as a button or a menu item) which interacts with the DataFacade associated with the ExplorerControl.
  • A standard set of user interface mechanisms that provides a unified workflow for Explorer implementations. This includes node drag-and-drop functionality, node filters, selection options (such as Select Children, etc), and mouse / keyboard input interactions (drag select, hotkeys, selection focus on find, and other smaller details.) As much as possible, the View has been separated from the Model so that a common approach to hierarchy browsing can be applied to a wide-range of hierarchies.

By default, the control consists of a central tree-list view, and a toolbar of controls, including a Find field, an Explorer Instance combo-box (for dynamically naming and swapping explorers) buttons to Select All, None or Invert the current selection, and a button to lock editing of cells in the Explorer.

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

List of all members.

Classes

class   ToolStripPopulateInfo

Public Member Functions

  ExplorerControl ()
  Constructor.
  ExplorerControl (String aName, ExplorerFramework.DataFacade aDataSource)
  Constructor - initializes the control with an instance name and a model DataFacade.
virtual void  UpdateColors ()
  Updates the colours of the elements of the ExplorerControl according to the Max platform CUI settings.
void  RaiseRoutedKeyEvent (RoutedKeyEventArgs e)
  Raise a RoutedKeyEvent event.
virtual ICustomizationState  SaveState ()
  Takes care of creating and filling the state object that is used to serialize this ExplorerControl.
virtual bool  LoadState (ICustomizationState iState)
  Given a State object, loads the ExplorerControls customization state.
void  SortByColumnFieldName (String fieldName, SortOrder order)
  Sort the tree list by the visible column with the given field name in the given order.
void  SortByColumnCaption (String caption, SortOrder order)
  Sort the tree list by the visible column with the given caption in the given order.
void  SetControlName (String aName)
  A method for setting the instance name that does not trigger NameChanged and NameChanging events.
void  RequestNameChanged (String previousName, String newName)
  Raises the NameChanged event.
bool  RequestNameChanging (String previousName, String newName)
  Raises the NameChanging event.
void  RequestViewModified ()
  Raises a ViewModified event.
virtual void  LaunchColumnCustomization ()
  Opens the Column Chooser customization modeless dialog.
void  HandleListChanged (Object sender, ListChangedEventArgs e)
  Handles a change to the DataFacade list contents and regenerates the TreeList columns when necessary.
CommandMenuItem  AddContextMenuCommand (ExplorerFramework.Command command)
  Adds a Command item to the context menu for the TreeList.
virtual void  SetFocusToFindField ()
  Sets the keyboard focus to the Find field of the control.
virtual int  GetSelectedNodeCount ()
  Gets the number of nodes being held by the internal TreeList control.
virtual bool  IsNodeSelected (TraversalNode node)
  Tests whether the passed in TraversalNode's corresponding list node is selected in the TreeList.
virtual void  SelectNode (TraversalNode node)
  Adds the passed-in node to the current TreeList selection.
virtual void  DeselectNode (TraversalNode node)
  Removes the passed-in node from the current selection set.
virtual void  SelectNodes (IEnumerable< TraversalNode > nodeList)
  Adds the list of nodes passed-in to the current selection.
virtual void  DeselectNodes (IEnumerable< TraversalNode > nodeList)
  Removes the list of nodes passed-in to the current selection.
virtual void  ClearNodeSelection ()
  Clears the current TreeList selection set.
virtual void  SetSelectedNodes (IEnumerable< TraversalNode > nodeList)
  Clears the current selection and sets the passed in nodes as the current TreeList selection.
virtual TraversalNode[]  GetSelectedNodes ()
  Gets an array that contains the nodes that are currently selected.
virtual ExplorerTreeListHitInfo  CalcExplorerTreeListHitInfo (Point position)
  <exclude>
void  ScrollTreeList (int rowCount)
  <exclude>
void  RevealNodes (IEnumerable< TraversalNode > nodeList)
  Given a list of nodes, the control will make sure that none of the nodes passed-in is hidden in a collapsed parent node.
void  SelectAll ()
  Selects all nodes in the TreeList.
void  InvertSelection ()
  Inverts the current selection set.
void  RaiseSelectOptionsChanged ()
  Raises the SelectOptionsChanged event, with no parameters.

Protected Member Functions

virtual void  OnListDoubleClick (EventArgs e)
  Raises the ListDoubleClick event.
virtual void  OnRoutedKeyEvent (RoutedKeyEventArgs e)
  Raises the RoutedKeyEvent event.
virtual ExplorerCustomizationState  CreateState ()
  A factory method for creating the state object that represents this explorer.
virtual void  OnNameChanged (ValueChangedEventArgs< String > e)
  Raises the NameChanged event.
virtual bool  OnNameChanging (ValueChangingEventArgs< String > e)
  Raises the NameChanging event.
virtual void  OnViewModified (EventArgs args)
  Raises the ViewChanged event.
virtual void  OnEditingEnabledChanged (ValueChangedEventArgs< bool > e)
  Raises the EditingEnabledChanged event.
void  OnDropOnNode (TraversalNodeEventArgs e)
  Raises the DropOnNode event.
void  OnDragOverNode (TraversalNodeActionQueryEventArgs e)
  Raises the DragOverNode event.
void  OnBeforeDragNode (BeforeDragDropNodeEventArgs e)
  Raise the BeforeDragNode event.
void  OnQueryContinueDrag (QueryContinueDragNodeEventArgs e)
  Raise QueryContinueDrag event.
void  OnDragCancelNode (EventArgs e)
  Raise DragCancelNode event.
void  OnShowHierarchyChanged (ValueChangedEventArgs< bool > e)
  Raises the ShowHierarchy event.
virtual void  OnExplorerCellValueChanged (ExplorerCellValueChangedEventArgs e)
  Raises the ExplorerCellValueChanged event.
virtual void  OnSelectOptionsChanged (EventArgs e)
  Raises the SelectOptionsChanged event.
virtual void  OnUserSelectionChanged (EventArgs e)
  Raises the UserSelectionChanged event.
virtual
AdvancedSearch.AdvancedFilter 
CreateAdvancedFilter ()
  Create a specific advanced filter instance for a derived class of ExplorerControl.
override void  Dispose (bool disposing)
  Clean up any resources being used.

Properties

String  InstanceName [get, set]
  This explorer's name.
virtual String  ExplorerName [get]
  The name of the explorer.
ToolStripComboBox  InstanceSelector [get]
  The control (a combo box) which allows the user to select new Views.
bool  InstanceSelectorVisible [get, set]
  Should the view selector be visible?
virtual TraversalNode  FocusedNode [get]
  Which node (if any) has the current selection.
Size  ExplorerTreeListSize [get]
  <exclude>
virtual BackgroundCommandRunner  BackgroundCommandRunner [get]
  A utility object that allows clients to run background (off-thread) commands.
virtual DataFacade  DataFacade [get]
  The model object for this control.
virtual ContextMenuStrip  TreeListContextMenuStrip [get, set]
  The right-click context menu for the TreeList.
bool  EditingEnabled [get, set]
  Controls whether a user can edit the property values of specific nodes.
bool  LockButtonVisible [get, set]
  Controls whether the editing enabled "lock button" is visible or not.
bool  MultipleSelectionEnabled [get, set]
  Sets the option on the TreeList which determines whether multiple selections are allowed or not.
bool  DragAndDropEnabled [get, set]
  Sets the option on the TreeList that determines whether drag-and-drop of node items is enabled.
bool  ShowHierarchy [get, set]
  Toggles the hierarchy / flat node view on the TreeList.
virtual QuickRegexFindHandler  FindHandler [get, set]
  The handler that is used to do search matches with regular expressions.
IconPropertyReader  RowIconProperty [get, set]
  A reader who's responsibility it is to generate an icon per row according to a preset standard.
virtual bool  SelectChildren [get, set]
  Determines whether, when selecting nodes, all child nodes under the selected node will be selected as well.
ToolStripContainer  ToolStripContainer [get]
  Contains all of the sub-components of this control.
System.Windows.Forms.ToolStripTextBox  SearchBox [get]
  The Find field.
System.Windows.Forms.ToolStripLabel  FindLabel [get]
  The label for the Find field.
System.Windows.Forms.ToolStripComboBox  InstanceNameSelector [get]
  The combo box view selector.
System.Windows.Forms.ToolStripButton  SelectAllButton [get]
  The Select All button.
System.Windows.Forms.ToolStripButton  SelectNoneButton [get]
  The Select None button.
System.Windows.Forms.ToolStripButton  InvertSelectionButton [get]
  The Select Invert button.
System.Windows.Forms.ToolStripLabel  ViewLabel [get]
  The label for the view selector.
System.Windows.Forms.ToolStripButton  LockButton [get]
  The lock editing button.

Events

EventHandler< EventArgs >  ListDoubleClick
  Raised when the treelist is double-clicked in a valid double-click location.
EventHandler< RoutedKeyEventArgs RoutedKeyEvent
  Raised when a key event is to be bubbled up from a child component to any interested party (such as the parent form, for example.)
EventHandler
< ValueChangedEventArgs
< String > > 
NameChanged
  Raised when the View name for this instance has changed.
EventHandler
< ValueChangingEventArgs
< String > > 
NameChanging
  Raised when the instance name is about to change.
EventHandler< EventArgs >  ViewModified
  Raised to indicate that a UI refresh is required.
EventHandler
< ValueChangedEventArgs< bool > > 
EditingEnabledChanged
  Raised when the controls EditingEnabled property is changed.
EventHandler
< TraversalNodeEventArgs > 
DropOnNode
  An event raised when a node drop occurs - the completion of a node drag-and-drop.
EventHandler
< TraversalNodeActionQueryEventArgs > 
DragOverNode
  An event raised when a node DragOver occurs - when a node is dragged over any node from the same explorer.
EventHandler
< BeforeDragDropNodeEventArgs
BeforeDragNode
  This event is raised before drag and drop.
new EventHandler
< QueryContinueDragNodeEventArgs
QueryContinueDrag
  This is event is raised during the whole drag and drop process.
EventHandler< EventArgs >  DragCancelNode
  This event occurs when user cancel a drag operation.
EventHandler
< ValueChangedEventArgs< bool > > 
ShowHierarchyChanged
  Raised when the ShowHierarchy property is changed.
EventHandler< EventArgs >  UserSelectionChanged
  Raised when a selection change occurs due to a direct user action.
EventHandler
< ExplorerCellValueChangedEventArgs
ExplorerCellValueChanged
  Raised when a value of a cell is changed.
EventHandler< EventArgs >  SelectOptionsChanged
  Raised when any property deemed as a SelectOption is changed.

Constructor & Destructor Documentation

MaxCustomControls::ExplorerControl::ExplorerControl ( ) [inline]

Constructor.

If this contructor is used, then the client should make sure to set both the InstanceName and DataFacade properties. The second property is particular as this control will not have any data associated with it without a DataFacade object.

MaxCustomControls::ExplorerControl::ExplorerControl ( String  aName,
ExplorerFramework.DataFacade  aDataSource 
) [inline]

Constructor - initializes the control with an instance name and a model DataFacade.

Parameters:
aName An instance name for this explorer.
aDataSource The underlying DataFacade (model) on which this ExplorerControl (view) is based.

Member Function Documentation

virtual void MaxCustomControls::ExplorerControl::UpdateColors ( ) [inline, virtual]

Updates the colours of the elements of the ExplorerControl according to the Max platform CUI settings.

Implements the CuiUpdatable interface.

Implements MaxCustomControls::CuiUpdatable.

Reimplemented in MaxCustomControls::BaseMaterialControls::RichMaterialExplorerControl, and MaxCustomControls::SceneExplorerControls::RichSceneExplorerControl.

virtual void MaxCustomControls::ExplorerControl::OnListDoubleClick ( EventArgs  e ) [inline, protected, virtual]

Raises the ListDoubleClick event.

Parameters:
e The event args to pass to the event handlers.

Reimplemented in MaxCustomControls::SceneExplorerControls::RichSceneExplorerControl.

virtual void MaxCustomControls::ExplorerControl::OnRoutedKeyEvent ( RoutedKeyEventArgs  e ) [inline, protected, virtual]

Raises the RoutedKeyEvent event.

Parameters:
e The event args to pass to the event handlers.
void MaxCustomControls::ExplorerControl::RaiseRoutedKeyEvent ( RoutedKeyEventArgs  e ) [inline]

Raise a RoutedKeyEvent event.

Parameters:
e The arguments to pass to the handlers of the RoutedKeyEvent event.
virtual ExplorerCustomizationState MaxCustomControls::ExplorerControl::CreateState ( ) [inline, protected, virtual]

A factory method for creating the state object that represents this explorer.

Clients deriving from this class should override this method and return their own derived State object.

Returns:
An empty State object that is used to persist and serialize the state of this object.

Reimplemented in MaxCustomControls::BaseMaterialControls::RichMaterialExplorerControl, MaxCustomControls::MaterialBrowserControls::RichMaterialBrowserControl, MaxCustomControls::MaterialExplorerControls::SceneMaterialExplorerControl, MaxCustomControls::MaterialExplorerControls::SelectedMaterialExplorerControl, and MaxCustomControls::SceneExplorerControls::RichSceneExplorerControl.

virtual ICustomizationState MaxCustomControls::ExplorerControl::SaveState ( ) [inline, virtual]

Takes care of creating and filling the state object that is used to serialize this ExplorerControl.

Clients deriving from this class should override this method and fill in configuration details in their own state class returned from the CreateState() method.

Returns:
A filled State object that is used to persist and serialize the state of this object.

Implements MaxCustomControls::ISerializable.

Reimplemented in MaxCustomControls::BaseMaterialControls::RichMaterialExplorerControl, MaxCustomControls::MaterialBrowserControls::RichMaterialBrowserControl, MaxCustomControls::MaterialExplorerControls::SceneMaterialExplorerControl, MaxCustomControls::MaterialExplorerControls::SelectedMaterialExplorerControl, and MaxCustomControls::SceneExplorerControls::RichSceneExplorerControl.

virtual bool MaxCustomControls::ExplorerControl::LoadState ( ICustomizationState  iState ) [inline, virtual]

Given a State object, loads the ExplorerControls customization state.

Clients deriving from this class should override this method and load configuration details in their own state class returned from the CreateState() method.

Parameters:
iState A State object that contains the customization properties that will be loaded.

Implements MaxCustomControls::ISerializable.

Reimplemented in MaxCustomControls::BaseMaterialControls::RichMaterialExplorerControl, MaxCustomControls::MaterialBrowserControls::RichMaterialBrowserControl, MaxCustomControls::MaterialExplorerControls::SceneMaterialExplorerControl, MaxCustomControls::MaterialExplorerControls::SelectedMaterialExplorerControl, and MaxCustomControls::SceneExplorerControls::RichSceneExplorerControl.

void MaxCustomControls::ExplorerControl::SortByColumnFieldName ( String  fieldName,
SortOrder  order 
) [inline]

Sort the tree list by the visible column with the given field name in the given order.

If no column is found for the given field name or if that column is not visible, this method has no effect.

Parameters:
fieldName Name of the field represented by the column to sort.
order Desired sort order.
void MaxCustomControls::ExplorerControl::SortByColumnCaption ( String  caption,
SortOrder  order 
) [inline]

Sort the tree list by the visible column with the given caption in the given order.

If no column is found for the given caption or if that column is not visible, this method has no effect.

Parameters:
caption Caption for the column to sort.
order Desired sort order.
void MaxCustomControls::ExplorerControl::SetControlName ( String  aName ) [inline]

A method for setting the instance name that does not trigger NameChanged and NameChanging events.

Sets the instance name without triggering the NameChanged and NameChanging events.

Parameters:
aName The new, unchecked instance name.
void MaxCustomControls::ExplorerControl::RequestNameChanged ( String  previousName,
String  newName 
) [inline]

Raises the NameChanged event.

Parameters:
previousName The current name of this instance.
newName The new name to change to.
virtual void MaxCustomControls::ExplorerControl::OnNameChanged ( ValueChangedEventArgs< String >  e ) [inline, protected, virtual]

Raises the NameChanged event.

Parameters:
e The arguments passed to the handlers of this event.
bool MaxCustomControls::ExplorerControl::RequestNameChanging ( String  previousName,
String  newName 
) [inline]

Raises the NameChanging event.

The result of this call indicates whether any handler wishes to block this change.

Parameters:
previousName The current name of this instance.
newName The new name to change to.
Returns:
true if no handler blocks the name change
virtual bool MaxCustomControls::ExplorerControl::OnNameChanging ( ValueChangingEventArgs< String >  e ) [inline, protected, virtual]

Raises the NameChanging event.

Parameters:
e The args passed to the handler. A handler can block the name change by setting the value of AllowValueChange on the args to false.
Returns:
The final value of AllowValueChange after all handlers have been called to signal the event.
virtual void MaxCustomControls::ExplorerControl::OnViewModified ( EventArgs  args ) [inline, protected, virtual]

Raises the ViewChanged event.

Parameters:
args The event args passed to the event handlers.
void MaxCustomControls::ExplorerControl::RequestViewModified ( ) [inline]

Raises a ViewModified event.

virtual void MaxCustomControls::ExplorerControl::LaunchColumnCustomization ( ) [inline, virtual]

Opens the Column Chooser customization modeless dialog.

void MaxCustomControls::ExplorerControl::HandleListChanged ( Object  sender,
ListChangedEventArgs  e 
) [inline]

Handles a change to the DataFacade list contents and regenerates the TreeList columns when necessary.

Parameters:
sender The source of the event.
e The arguments for this event - contains information regarding the type of change made.
CommandMenuItem MaxCustomControls::ExplorerControl::AddContextMenuCommand ( ExplorerFramework.Command  command ) [inline]

Adds a Command item to the context menu for the TreeList.

Parameters:
command A Command object that is added to the Right-click context menu.
Returns:
A wrapping CommandMenuItem object.
virtual void MaxCustomControls::ExplorerControl::SetFocusToFindField ( ) [inline, virtual]

Sets the keyboard focus to the Find field of the control.

virtual int MaxCustomControls::ExplorerControl::GetSelectedNodeCount ( ) [inline, virtual]

Gets the number of nodes being held by the internal TreeList control.

Returns:
The number of nodes (hidden or visible) held by this control.
virtual bool MaxCustomControls::ExplorerControl::IsNodeSelected ( TraversalNode  node ) [inline, virtual]

Tests whether the passed in TraversalNode's corresponding list node is selected in the TreeList.

Parameters:
node A TraversalNode that has a corresponding node in the internal control TreeList.
Returns:
true if the corresponding TreeList node is selected
virtual void MaxCustomControls::ExplorerControl::SelectNode ( TraversalNode  node ) [inline, virtual]

Adds the passed-in node to the current TreeList selection.

Parameters:
node A model node to add to the current selection.
virtual void MaxCustomControls::ExplorerControl::DeselectNode ( TraversalNode  node ) [inline, virtual]

Removes the passed-in node from the current selection set.

Parameters:
node The model node to remove from the current selection.
virtual void MaxCustomControls::ExplorerControl::SelectNodes ( IEnumerable< TraversalNode >  nodeList ) [inline, virtual]

Adds the list of nodes passed-in to the current selection.

Parameters:
nodeList A list enumerator that points to the nodes to add to the current selection.
virtual void MaxCustomControls::ExplorerControl::DeselectNodes ( IEnumerable< TraversalNode >  nodeList ) [inline, virtual]

Removes the list of nodes passed-in to the current selection.

Parameters:
nodeList A list enumerator that points to the nodes to remove to the current selection.
virtual void MaxCustomControls::ExplorerControl::ClearNodeSelection ( ) [inline, virtual]

Clears the current TreeList selection set.

virtual void MaxCustomControls::ExplorerControl::SetSelectedNodes ( IEnumerable< TraversalNode >  nodeList ) [inline, virtual]

Clears the current selection and sets the passed in nodes as the current TreeList selection.

Parameters:
nodeList A list enumerator that points to the nodes to set as the current selection.
virtual TraversalNode [] MaxCustomControls::ExplorerControl::GetSelectedNodes ( ) [inline, virtual]

Gets an array that contains the nodes that are currently selected.

Note that the list of nodes is copied into this array and that manipulating the resulting array will not manipulate the current selection set.

Returns:
A newly created array that contains a copy of the list of nodes that are currently selected in the TreeList.
virtual ExplorerTreeListHitInfo MaxCustomControls::ExplorerControl::CalcExplorerTreeListHitInfo ( Point  position ) [inline, virtual]

<exclude>

Calculate the hit info of the ExplorerTreeList contained in the ExplorerControl. Used internally.

Parameters:
position Screen Position to do the hit test.
Returns:
Return an ExplorerTreeListHitInfo instance.
void MaxCustomControls::ExplorerControl::ScrollTreeList ( int  rowCount ) [inline]

<exclude>

Use this method to scroll the tree list by rowCount. Used internally.

Parameters:
rowCount Tell how many row you want to scroll. Negative value means scroll up while positive value means scroll down.
void MaxCustomControls::ExplorerControl::RevealNodes ( IEnumerable< TraversalNode >  nodeList ) [inline]

Given a list of nodes, the control will make sure that none of the nodes passed-in is hidden in a collapsed parent node.

Parameters:
nodeList An enumerator to a list of nodes to ensure are in visible hierarchies.
void MaxCustomControls::ExplorerControl::SelectAll ( ) [inline]

Selects all nodes in the TreeList.

void MaxCustomControls::ExplorerControl::InvertSelection ( ) [inline]

Inverts the current selection set.

If the selection set is currently empty, then all nodes are selected. If the selection set contains all nodes, then the selection is cleared. Otherwise, all nodes that are selected are removed from the selection set and vice-versa.

virtual void MaxCustomControls::ExplorerControl::OnEditingEnabledChanged ( ValueChangedEventArgs< bool >  e ) [inline, protected, virtual]

Raises the EditingEnabledChanged event.

Parameters:
e Containst the old and new values of EditingEnabled.
void MaxCustomControls::ExplorerControl::OnDropOnNode ( TraversalNodeEventArgs  e ) [inline, protected]

Raises the DropOnNode event.

Parameters:
e Contains info about the drag-and-drop event.
void MaxCustomControls::ExplorerControl::OnDragOverNode ( TraversalNodeActionQueryEventArgs  e ) [inline, protected]

Raises the DragOverNode event.

Parameters:
e Contains info about the drag-and-drop event.
void MaxCustomControls::ExplorerControl::OnBeforeDragNode ( BeforeDragDropNodeEventArgs  e ) [inline, protected]

Raise the BeforeDragNode event.

void MaxCustomControls::ExplorerControl::OnQueryContinueDrag ( QueryContinueDragNodeEventArgs  e ) [inline, protected]

Raise QueryContinueDrag event.

void MaxCustomControls::ExplorerControl::OnDragCancelNode ( EventArgs  e ) [inline, protected]

Raise DragCancelNode event.

void MaxCustomControls::ExplorerControl::OnShowHierarchyChanged ( ValueChangedEventArgs< bool >  e ) [inline, protected]

Raises the ShowHierarchy event.

Parameters:
e The args which contain the old and new values of the property.
virtual void MaxCustomControls::ExplorerControl::OnExplorerCellValueChanged ( ExplorerCellValueChangedEventArgs  e ) [inline, protected, virtual]

Raises the ExplorerCellValueChanged event.

Parameters:
e Contains the old and new values of the edit.
virtual void MaxCustomControls::ExplorerControl::OnSelectOptionsChanged ( EventArgs  e ) [inline, protected, virtual]

Raises the SelectOptionsChanged event.

Parameters:
e not used
void MaxCustomControls::ExplorerControl::RaiseSelectOptionsChanged ( ) [inline]

Raises the SelectOptionsChanged event, with no parameters.

virtual void MaxCustomControls::ExplorerControl::OnUserSelectionChanged ( EventArgs  e ) [inline, protected, virtual]

Raises the UserSelectionChanged event.

Parameters:
e not used
virtual AdvancedSearch.AdvancedFilter MaxCustomControls::ExplorerControl::CreateAdvancedFilter ( ) [inline, protected, virtual]

Create a specific advanced filter instance for a derived class of ExplorerControl.

The base implementation returns null;

Reimplemented in MaxCustomControls::SceneExplorerControls::RichSceneExplorerControl.

override void MaxCustomControls::ExplorerControl::Dispose ( bool  disposing ) [inline, protected]

Property Documentation

String MaxCustomControls::ExplorerControl::InstanceName [get, set]

This explorer's name.

Changing the name will raise first a NameChanging event, then a NameChanged event. A client can block a name change by setting the AllowValueChange value of the event args parameter passed to the NameChanging handler to false.

virtual String MaxCustomControls::ExplorerControl::ExplorerName [get]

The name of the explorer.

ToolStripComboBox MaxCustomControls::ExplorerControl::InstanceSelector [get]

The control (a combo box) which allows the user to select new Views.

bool MaxCustomControls::ExplorerControl::InstanceSelectorVisible [get, set]

Should the view selector be visible?

This property should be used over toggling the Visible property on the InstanceSelector. This property will hide the label and the ToolStrip separator as well.

virtual TraversalNode MaxCustomControls::ExplorerControl::FocusedNode [get]

Which node (if any) has the current selection.

If no node is currently focused, then this is null.

Size MaxCustomControls::ExplorerControl::ExplorerTreeListSize [get]

<exclude>

Get the size of the ExplorerTreeList control. Used internally.

virtual BackgroundCommandRunner MaxCustomControls::ExplorerControl::BackgroundCommandRunner [get]

A utility object that allows clients to run background (off-thread) commands.

virtual DataFacade MaxCustomControls::ExplorerControl::DataFacade [get]

The model object for this control.

See also:
ExplorerFramework.DataFacade
virtual ContextMenuStrip MaxCustomControls::ExplorerControl::TreeListContextMenuStrip [get, set]

The right-click context menu for the TreeList.

bool MaxCustomControls::ExplorerControl::EditingEnabled [get, set]

Controls whether a user can edit the property values of specific nodes.

bool MaxCustomControls::ExplorerControl::LockButtonVisible [get, set]

Controls whether the editing enabled "lock button" is visible or not.

bool MaxCustomControls::ExplorerControl::MultipleSelectionEnabled [get, set]

Sets the option on the TreeList which determines whether multiple selections are allowed or not.

bool MaxCustomControls::ExplorerControl::DragAndDropEnabled [get, set]

Sets the option on the TreeList that determines whether drag-and-drop of node items is enabled.

bool MaxCustomControls::ExplorerControl::ShowHierarchy [get, set]

Toggles the hierarchy / flat node view on the TreeList.

virtual QuickRegexFindHandler MaxCustomControls::ExplorerControl::FindHandler [get, set]
IconPropertyReader MaxCustomControls::ExplorerControl::RowIconProperty [get, set]

A reader who's responsibility it is to generate an icon per row according to a preset standard.

virtual bool MaxCustomControls::ExplorerControl::SelectChildren [get, set]

Determines whether, when selecting nodes, all child nodes under the selected node will be selected as well.

ToolStripContainer MaxCustomControls::ExplorerControl::ToolStripContainer [get, protected]

Contains all of the sub-components of this control.

System.Windows.Forms.ToolStripTextBox MaxCustomControls::ExplorerControl::SearchBox [get, protected]

The Find field.

System.Windows.Forms.ToolStripLabel MaxCustomControls::ExplorerControl::FindLabel [get, protected]

The label for the Find field.

System.Windows.Forms.ToolStripComboBox MaxCustomControls::ExplorerControl::InstanceNameSelector [get, protected]

The combo box view selector.

System.Windows.Forms.ToolStripButton MaxCustomControls::ExplorerControl::SelectAllButton [get, protected]

The Select All button.

System.Windows.Forms.ToolStripButton MaxCustomControls::ExplorerControl::SelectNoneButton [get, protected]

The Select None button.

System.Windows.Forms.ToolStripButton MaxCustomControls::ExplorerControl::InvertSelectionButton [get, protected]

The Select Invert button.

System.Windows.Forms.ToolStripLabel MaxCustomControls::ExplorerControl::ViewLabel [get, protected]

The label for the view selector.

System.Windows.Forms.ToolStripButton MaxCustomControls::ExplorerControl::LockButton [get, protected]

The lock editing button.


Event Documentation

EventHandler<EventArgs> MaxCustomControls::ExplorerControl::ListDoubleClick

Raised when the treelist is double-clicked in a valid double-click location.

EventHandler<RoutedKeyEventArgs> MaxCustomControls::ExplorerControl::RoutedKeyEvent

Raised when a key event is to be bubbled up from a child component to any interested party (such as the parent form, for example.)

EventHandler<ValueChangedEventArgs<String> > MaxCustomControls::ExplorerControl::NameChanged

Raised when the View name for this instance has changed.

EventHandler<ValueChangingEventArgs<String> > MaxCustomControls::ExplorerControl::NameChanging

Raised when the instance name is about to change.

The change can be blocked by a listening handler by setting the value of the event args' AllowValueChange property to false.

EventHandler<EventArgs> MaxCustomControls::ExplorerControl::ViewModified

Raised to indicate that a UI refresh is required.

EventHandler<ValueChangedEventArgs<bool> > MaxCustomControls::ExplorerControl::EditingEnabledChanged

Raised when the controls EditingEnabled property is changed.

EventHandler<TraversalNodeEventArgs> MaxCustomControls::ExplorerControl::DropOnNode

An event raised when a node drop occurs - the completion of a node drag-and-drop.

EventHandler<TraversalNodeActionQueryEventArgs> MaxCustomControls::ExplorerControl::DragOverNode

An event raised when a node DragOver occurs - when a node is dragged over any node from the same explorer.

During drag and drop, ExplorerControl won't set cursor automatically. If user need change the cursor, he should set Cursor himself during related event.

EventHandler<BeforeDragDropNodeEventArgs> MaxCustomControls::ExplorerControl::BeforeDragNode

This event is raised before drag and drop.

new EventHandler<QueryContinueDragNodeEventArgs> MaxCustomControls::ExplorerControl::QueryContinueDrag

This is event is raised during the whole drag and drop process.

During drag and drop, ExplorerControl won't set cursor automatically. If user need change the cursor, he should set Cursor himself during related event.

EventHandler<EventArgs> MaxCustomControls::ExplorerControl::DragCancelNode

This event occurs when user cancel a drag operation.

EventHandler<ValueChangedEventArgs<bool> > MaxCustomControls::ExplorerControl::ShowHierarchyChanged

Raised when the ShowHierarchy property is changed.

EventHandler<EventArgs> MaxCustomControls::ExplorerControl::UserSelectionChanged

Raised when a selection change occurs due to a direct user action.

EventHandler<ExplorerCellValueChangedEventArgs> MaxCustomControls::ExplorerControl::ExplorerCellValueChanged

Raised when a value of a cell is changed.

An event is raised for each cell who's value is changed, even in a batch edit.

EventHandler<EventArgs> MaxCustomControls::ExplorerControl::SelectOptionsChanged

Raised when any property deemed as a SelectOption is changed.


MaxCustomControls::ExplorerControl MaxCustomControls::ExplorerControl MaxCustomControls::ExplorerControl MaxCustomControls::ExplorerControl MaxCustomControls::ExplorerControl MaxCustomControls::ExplorerControl MaxCustomControls::ExplorerControl MaxCustomControls::ExplorerControl MaxCustomControls::ExplorerControl MaxCustomControls::ExplorerControl
MaxCustomControls::ExplorerControl MaxCustomControls::ExplorerControl MaxCustomControls::ExplorerControl MaxCustomControls::ExplorerControl MaxCustomControls::ExplorerControl MaxCustomControls::ExplorerControl MaxCustomControls::ExplorerControl MaxCustomControls::ExplorerControl MaxCustomControls::ExplorerControl MaxCustomControls::ExplorerControl