namespace UIWidgets.Examples
{
using UIWidgets;
///
/// TreeViewSample component.
///
public class TreeViewSampleComponent : TreeViewComponentBase
{
ITreeViewSampleItem item;
///
/// Item.
///
public ITreeViewSampleItem Item
{
get
{
return item;
}
set
{
if (item != null)
{
item.OnChange -= UpdateView;
}
item = value;
if (item != null)
{
item.OnChange += UpdateView;
}
UpdateView();
}
}
///
/// Set data.
///
/// Node.
/// Depth.
public override void SetData(TreeNode node, int depth)
{
base.SetData(node, depth);
Item = (node == null) ? null : node.Item;
}
///
/// Update view.
///
protected virtual void UpdateView()
{
if (Item == null)
{
Icon.sprite = null;
TextAdapter.text = string.Empty;
}
else
{
Item.Display(this);
}
}
///
/// Remove listeners.
///
protected override void OnDestroy()
{
base.OnDestroy();
if (item != null)
{
item.OnChange -= UpdateView;
}
}
}
}