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);
}
}