using System; using System.Collections.Generic; using System.Collections.ObjectModel; using System.Linq; using System.Text; namespace JD.Interfaces.Models { /// /// Interface representing the data behind a tree view item. /// public interface ITreeViewItemData { ObservableCollection Children { get; } bool HasChildren { get; } bool IsExpanded { get; set; } bool IsSelected { get; set; } bool IsFiltered { get; } ITreeViewItemData Parent { get; } ITreeViewItemData Root { get; } IEnumerable SelectedItems { get; } event EventHandler ExpandedChanged; event EventHandler SelectedChanged; // For use in a TreeList. int Level { get; } IList GetAllChildren(); ITreeViewItemData GetNextItem(); ITreeViewItemData GetPreviousItem(); ITreeViewItemData GetFirstChild(bool onlyNotFiltered); bool HasItemForParent(ITreeViewItemData potentialParentItem); } }