WPFCustomControls::Customization::ViewModel::ViewModelNode Class Reference

List of all members.

Classes

class   ViewModelNodeEnumerator
  Iterator class for a tree of ViewModelNodes.

Public Member Functions

  ViewModelNode (RibbonViewModel model)
void  MarkDirty ()
void  ExpandNode ()
void  UpdateIsContextual ()
bool  IsChildOf (ViewModelNode aNode)
  Recurses over hierarchy to check if this node is in the sub-tree of a passed in node.
void  AddChild (ViewModelNode node)
void  RemoveChild (ViewModelNode node)
void  InsertChild (int index, ViewModelNode node)
ViewModelNode  InsertSibling (Object sibling, bool insertAbove)
ViewModelNode  InsertSibling (ViewModelNode node, bool insertAbove)
void  RemoveSelf ()
int  IndexInParent ()
bool  IsFirstChild ()
bool  IsLastChild ()
bool  IsOnlyChild ()
ViewModelNode  FindRoot ()
  Gets the root node of this tree.
IEnumerator< ViewModelNode GetEnumerator ()
  Returns an iterator that, starting with this node, iterates down all nodes in the sub-tree that has this node as a root.

Static Public Attributes

static readonly DependencyProperty  IsSelectedProperty
static readonly DependencyProperty  IsExpandedProperty
static readonly DependencyProperty  IsVisibleProperty
static readonly DependencyProperty  HasChildrenProperty
static readonly DependencyProperty  SourceItemProperty
static readonly DependencyProperty  IsContextualProperty
static readonly DependencyProperty  IsHighlightedProperty
static readonly DependencyProperty  IsExportDisplayedProperty
static readonly DependencyProperty  ChildSourceProperty
  Source list for the next level in the data hierarchy.
static readonly DependencyProperty  ChildNodeFactoryProperty
  Builds ViewModelNodes given child source items.

Protected Member Functions

virtual void  OnIsSelectedChanged (EventArgs args)
virtual void  OnIsExpandedChanged (EventArgs args)
virtual void  OnIsVisibleChanged (EventArgs args)

Properties

bool  IsHighlighted [get, set]
bool  IsSelected [get, set]
bool  IsExpanded [get, set]
bool  IsVisible [get, set]
bool  IsExportDisplayed [get, set]
bool  HasChildren [get, set]
bool  IsContextual [get, set]
ViewModelNode  Parent [get, set]
Object  SourceItem [get, set]
bool  DropNodeAsChild [get, set]
ObservableCollection
< ViewModelNode
Children [get, set]
IList  ChildSource [get, set]
  Source list for the next level in the data hierarchy.
ViewModelNodeFactory  ChildNodeFactory [get, set]
  Builds ViewModelNodes given child source items.

Events

EventHandler< EventArgs >  IsSelectedChanged
EventHandler< EventArgs >  IsExpandedChanged
EventHandler< EventArgs >  IsVisibleChanged

Constructor & Destructor Documentation

WPFCustomControls::Customization::ViewModel::ViewModelNode::ViewModelNode ( RibbonViewModel  model ) [inline]

Member Function Documentation

virtual void WPFCustomControls::Customization::ViewModel::ViewModelNode::OnIsSelectedChanged ( EventArgs  args ) [inline, protected, virtual]
virtual void WPFCustomControls::Customization::ViewModel::ViewModelNode::OnIsExpandedChanged ( EventArgs  args ) [inline, protected, virtual]
virtual void WPFCustomControls::Customization::ViewModel::ViewModelNode::OnIsVisibleChanged ( EventArgs  args ) [inline, protected, virtual]
void WPFCustomControls::Customization::ViewModel::ViewModelNode::MarkDirty ( ) [inline]
void WPFCustomControls::Customization::ViewModel::ViewModelNode::ExpandNode ( ) [inline]
void WPFCustomControls::Customization::ViewModel::ViewModelNode::UpdateIsContextual ( ) [inline]
bool WPFCustomControls::Customization::ViewModel::ViewModelNode::IsChildOf ( ViewModelNode  aNode ) [inline]

Recurses over hierarchy to check if this node is in the sub-tree of a passed in node.

Parameters:
aNode The node to check whether this node is a child of.
Returns:
true if this node is in the sub-tree of the passed in node.
void WPFCustomControls::Customization::ViewModel::ViewModelNode::AddChild ( ViewModelNode  node ) [inline]
void WPFCustomControls::Customization::ViewModel::ViewModelNode::RemoveChild ( ViewModelNode  node ) [inline]
void WPFCustomControls::Customization::ViewModel::ViewModelNode::InsertChild ( int  index,
ViewModelNode  node 
) [inline]
ViewModelNode WPFCustomControls::Customization::ViewModel::ViewModelNode::InsertSibling ( Object  sibling,
bool  insertAbove 
) [inline]
ViewModelNode WPFCustomControls::Customization::ViewModel::ViewModelNode::InsertSibling ( ViewModelNode  node,
bool  insertAbove 
) [inline]
void WPFCustomControls::Customization::ViewModel::ViewModelNode::RemoveSelf ( ) [inline]
int WPFCustomControls::Customization::ViewModel::ViewModelNode::IndexInParent ( ) [inline]
bool WPFCustomControls::Customization::ViewModel::ViewModelNode::IsFirstChild ( ) [inline]
bool WPFCustomControls::Customization::ViewModel::ViewModelNode::IsLastChild ( ) [inline]
bool WPFCustomControls::Customization::ViewModel::ViewModelNode::IsOnlyChild ( ) [inline]
ViewModelNode WPFCustomControls::Customization::ViewModel::ViewModelNode::FindRoot ( ) [inline]

Gets the root node of this tree.

Returns:
The root node, or this object, if it is the root.
IEnumerator<ViewModelNode> WPFCustomControls::Customization::ViewModel::ViewModelNode::GetEnumerator ( ) [inline]

Returns an iterator that, starting with this node, iterates down all nodes in the sub-tree that has this node as a root.

Returns:
An iterator used to traverse the subtree that has this is a root.

Member Data Documentation

Initial value:
 DependencyProperty.Register(
            "IsSelected",
            typeof(bool),
            typeof(ViewModelNode),
            new FrameworkPropertyMetadata(
                false,
                new PropertyChangedCallback(IsSelectedPropertyChanged)))
Initial value:
 DependencyProperty.Register(
            "IsExpanded",
            typeof(bool),
            typeof(ViewModelNode),
            new FrameworkPropertyMetadata(
                false,
                new PropertyChangedCallback(IsExpandedPropertyChanged)
            ))
Initial value:
 DependencyProperty.Register(
            "IsVisible",
            typeof(bool),
            typeof(ViewModelNode),
            new FrameworkPropertyMetadata(
                true,
                new PropertyChangedCallback(IsVisiblePropertyChanged)
            ))
Initial value:
 DependencyProperty.Register(
            "HasChildren",
            typeof(bool),
            typeof(ViewModelNode),
            new FrameworkPropertyMetadata(
                false
            ))
Initial value:
 DependencyProperty.Register(
            "SourceItem",
            typeof(Object),
            typeof(ViewModelNode),
            new PropertyMetadata(null, HandleSourceItemPropertyChanged))
Initial value:
 DependencyProperty.Register(
            "IsContextual",
            typeof(bool),
            typeof(ViewModelNode),
            new PropertyMetadata(false))
Initial value:
 DependencyProperty.Register(
            "IsHighlighted",
            typeof(bool),
            typeof(ViewModelNode),
            new PropertyMetadata(false))
Initial value:
 DependencyProperty.Register(
            "IsExportDisplayed",
            typeof(bool),
            typeof(ViewModelNode),
            new PropertyMetadata(false))
Initial value:
 DependencyProperty.Register(
            "ChildSource",
            typeof(IList),
            typeof(ViewModelNode),
            new PropertyMetadata(null, new PropertyChangedCallback(HandleChildSourcePropertyChanged)))

Source list for the next level in the data hierarchy.

This node's child source items.

If this node has children, it must also have a ChildNodeFactory to specify how ViewModelNodes are built for its children.

Initial value:
 
            DependencyProperty.Register(
                "ChildNodeFactory",
                typeof(ViewModelNodeFactory),
                typeof(ViewModelNode))

Builds ViewModelNodes given child source items.


Property Documentation

bool WPFCustomControls::Customization::ViewModel::ViewModelNode::IsHighlighted [get, set]
bool WPFCustomControls::Customization::ViewModel::ViewModelNode::IsSelected [get, set]
bool WPFCustomControls::Customization::ViewModel::ViewModelNode::IsExpanded [get, set]
bool WPFCustomControls::Customization::ViewModel::ViewModelNode::IsVisible [get, set]
bool WPFCustomControls::Customization::ViewModel::ViewModelNode::IsExportDisplayed [get, set]
bool WPFCustomControls::Customization::ViewModel::ViewModelNode::HasChildren [get, set]
bool WPFCustomControls::Customization::ViewModel::ViewModelNode::IsContextual [get, set]
ViewModelNode WPFCustomControls::Customization::ViewModel::ViewModelNode::Parent [get, set]
Object WPFCustomControls::Customization::ViewModel::ViewModelNode::SourceItem [get, set]
bool WPFCustomControls::Customization::ViewModel::ViewModelNode::DropNodeAsChild [get, set]
ObservableCollection<ViewModelNode> WPFCustomControls::Customization::ViewModel::ViewModelNode::Children [get, set]
IList WPFCustomControls::Customization::ViewModel::ViewModelNode::ChildSource [get, set]

Source list for the next level in the data hierarchy.

This node's child source items.

If this node has children, it must also have a ChildNodeFactory to specify how ViewModelNodes are built for its children.

ViewModelNodeFactory WPFCustomControls::Customization::ViewModel::ViewModelNode::ChildNodeFactory [get, set]

Builds ViewModelNodes given child source items.


Event Documentation

EventHandler<EventArgs> WPFCustomControls::Customization::ViewModel::ViewModelNode::IsSelectedChanged
EventHandler<EventArgs> WPFCustomControls::Customization::ViewModel::ViewModelNode::IsExpandedChanged
EventHandler<EventArgs> WPFCustomControls::Customization::ViewModel::ViewModelNode::IsVisibleChanged

WPFCustomControls::Customization::ViewModel::ViewModelNode WPFCustomControls::Customization::ViewModel::ViewModelNode WPFCustomControls::Customization::ViewModel::ViewModelNode WPFCustomControls::Customization::ViewModel::ViewModelNode WPFCustomControls::Customization::ViewModel::ViewModelNode WPFCustomControls::Customization::ViewModel::ViewModelNode WPFCustomControls::Customization::ViewModel::ViewModelNode WPFCustomControls::Customization::ViewModel::ViewModelNode WPFCustomControls::Customization::ViewModel::ViewModelNode WPFCustomControls::Customization::ViewModel::ViewModelNode
WPFCustomControls::Customization::ViewModel::ViewModelNode WPFCustomControls::Customization::ViewModel::ViewModelNode WPFCustomControls::Customization::ViewModel::ViewModelNode WPFCustomControls::Customization::ViewModel::ViewModelNode WPFCustomControls::Customization::ViewModel::ViewModelNode WPFCustomControls::Customization::ViewModel::ViewModelNode WPFCustomControls::Customization::ViewModel::ViewModelNode WPFCustomControls::Customization::ViewModel::ViewModelNode WPFCustomControls::Customization::ViewModel::ViewModelNode WPFCustomControls::Customization::ViewModel::ViewModelNode