JD2022-TU1/main/tools/framework/JD.Interfaces/Models/ITreeViewItemData.cs

35 lines
1.1 KiB
C#

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