Browse Source

Added Shown and Hidden events to DynamicListRow.

git-svn-id: svn://svn.sharpdevelop.net/sharpdevelop/trunk@900 1ccf3a8d-04fe-1044-b7c0-cef0b8235c61
shortcuts
Daniel Grunwald 20 years ago
parent
commit
05e320ec30
  1. 18
      src/Main/Base/Project/Src/Gui/TreeGrid/DynamicList.cs
  2. 25
      src/Main/Base/Project/Src/Gui/TreeGrid/DynamicListRow.cs

18
src/Main/Base/Project/Src/Gui/TreeGrid/DynamicList.cs

@ -89,12 +89,30 @@ namespace ICSharpCode.SharpDevelop.Gui.TreeGrid @@ -89,12 +89,30 @@ namespace ICSharpCode.SharpDevelop.Gui.TreeGrid
{
e.Item.HeightChanged += RowHeightChanged;
e.Item.ItemChanged += RowItemChanged;
if (Visible && Parent != null)
e.Item.NotifyListVisibilityChange(this, true);
}
void OnRowRemoved(object sender, CollectionItemEventArgs<DynamicListRow> e)
{
e.Item.HeightChanged -= RowHeightChanged;
e.Item.ItemChanged -= RowItemChanged;
if (Visible)
e.Item.NotifyListVisibilityChange(this, false);
}
bool oldVisible = false;
protected override void OnVisibleChanged(EventArgs e)
{
base.OnVisibleChanged(e);
bool visible = Visible && Parent != null;
if (visible == oldVisible)
return;
oldVisible = visible;
foreach (DynamicListRow row in Rows) {
row.NotifyListVisibilityChange(this, visible);
}
}
void ColumnMinimumWidthChanged(object sender, EventArgs e)

25
src/Main/Base/Project/Src/Gui/TreeGrid/DynamicListRow.cs

@ -38,6 +38,31 @@ namespace ICSharpCode.SharpDevelop.Gui.TreeGrid @@ -38,6 +38,31 @@ namespace ICSharpCode.SharpDevelop.Gui.TreeGrid
}
}
public event EventHandler<DynamicListEventArgs> Shown;
public event EventHandler<DynamicListEventArgs> Hidden;
protected virtual void OnShown(DynamicListEventArgs e)
{
if (Shown != null) {
Shown(this, e);
}
}
protected virtual void OnHidden(DynamicListEventArgs e)
{
if (Hidden != null) {
Hidden(this, e);
}
}
internal void NotifyListVisibilityChange(DynamicList list, bool visible)
{
if (visible)
OnShown(new DynamicListEventArgs(list));
else
OnHidden(new DynamicListEventArgs(list));
}
/// <summary>
/// Fired when any item has changed.
/// </summary>

Loading…
Cancel
Save