Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mono/monodevelop.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/main/src
diff options
context:
space:
mode:
authorGreg Munn <gregm@microsoft.com>2019-07-25 21:29:01 +0300
committerGreg Munn <gregm@microsoft.com>2019-07-25 21:29:01 +0300
commit83e250b8430cdd8a79779c3c34d7825398f8729e (patch)
treecac2985b27e07535f4749e02b07e65a77aff49cf /main/src
parent812d2ecbd59ad1c4c978c7f0b82095b3d7574824 (diff)
[ObjectValue] Some more refactoring to invert controller and view communication
Diffstat (limited to 'main/src')
-rw-r--r--main/src/addins/MonoDevelop.Debugger/MonoDevelop.Debugger/ObjectValue/Gtk/GtkObjectValueTreeView.cs23
-rw-r--r--main/src/addins/MonoDevelop.Debugger/MonoDevelop.Debugger/ObjectValue/IObjectValueTreeView.cs17
-rw-r--r--main/src/addins/MonoDevelop.Debugger/MonoDevelop.Debugger/ObjectValue/ObjectValueTreeViewController.cs8
3 files changed, 35 insertions, 13 deletions
diff --git a/main/src/addins/MonoDevelop.Debugger/MonoDevelop.Debugger/ObjectValue/Gtk/GtkObjectValueTreeView.cs b/main/src/addins/MonoDevelop.Debugger/MonoDevelop.Debugger/ObjectValue/Gtk/GtkObjectValueTreeView.cs
index d24cb57222..8e49c4a734 100644
--- a/main/src/addins/MonoDevelop.Debugger/MonoDevelop.Debugger/ObjectValue/Gtk/GtkObjectValueTreeView.cs
+++ b/main/src/addins/MonoDevelop.Debugger/MonoDevelop.Debugger/ObjectValue/Gtk/GtkObjectValueTreeView.cs
@@ -356,6 +356,18 @@ namespace MonoDevelop.Debugger
}
/// <summary>
+ /// Triggered when the view tries to expand a node. This may trigger a load of
+ /// the node's children
+ /// </summary>
+ public event EventHandler<ObjectValueNodeEventArgs> NodeExpand;
+
+ /// <summary>
+ /// Triggered when the view tries to collapse a node.
+ /// </summary>
+
+ public event EventHandler<ObjectValueNodeEventArgs> NodeCollapse;
+
+ /// <summary>
/// Triggered when the view requests a node to fetch more of it's children
/// </summary>
public event EventHandler<ObjectValueNodeEventArgs> NodeLoadMoreChildren;
@@ -538,6 +550,9 @@ namespace MonoDevelop.Debugger
}
// TODO: if we don't want the scrolling, we can probably get rid of this
+ /// <summary>
+ /// Informs the view that the node was expanded and children have been loaded.
+ /// </summary>
public void OnNodeExpanded (ObjectValueNode node)
{
if (disposed)
@@ -924,8 +939,6 @@ namespace MonoDevelop.Debugger
return base.OnTestExpandRow (iter, path);
}
- public event EventHandler<ObjectValueNodeEventArgs> NodeExpanded;
-
protected override void OnRowExpanded (TreeIter iter, TreePath path)
{
var node = GetNodeAtIter (iter);
@@ -937,11 +950,9 @@ namespace MonoDevelop.Debugger
HideValueButton (iter);
- NodeExpanded?.Invoke (this, new ObjectValueNodeEventArgs (node));
+ NodeExpand?.Invoke (this, new ObjectValueNodeEventArgs (node));
}
- public event EventHandler<ObjectValueNodeEventArgs> NodeCollapsed;
-
protected override void OnRowCollapsed (TreeIter iter, TreePath path)
{
var node = GetNodeAtIter (iter);
@@ -951,7 +962,7 @@ namespace MonoDevelop.Debugger
if (compactView)
RecalculateWidth ();
- NodeCollapsed?.Invoke (this, new ObjectValueNodeEventArgs (node));
+ NodeCollapse?.Invoke (this, new ObjectValueNodeEventArgs (node));
// TODO: all this scrolling kind of seems awkward
//ScrollToCell (path, expCol, true, 0f, 0f);
diff --git a/main/src/addins/MonoDevelop.Debugger/MonoDevelop.Debugger/ObjectValue/IObjectValueTreeView.cs b/main/src/addins/MonoDevelop.Debugger/MonoDevelop.Debugger/ObjectValue/IObjectValueTreeView.cs
index e249f6ac44..2bc96db71c 100644
--- a/main/src/addins/MonoDevelop.Debugger/MonoDevelop.Debugger/ObjectValue/IObjectValueTreeView.cs
+++ b/main/src/addins/MonoDevelop.Debugger/MonoDevelop.Debugger/ObjectValue/IObjectValueTreeView.cs
@@ -77,13 +77,21 @@ namespace MonoDevelop.Debugger
void LoadEvaluatedNode (ObjectValueNode node, ObjectValueNode [] replacementNodes);
/// <summary>
+ /// Triggered when the view tries to expand a node. This may trigger a load of
+ /// the node's children
+ /// </summary>
+ event EventHandler<ObjectValueNodeEventArgs> NodeExpand;
+
+ /// <summary>
+ /// Triggered when the view tries to collapse a node.
+ /// </summary>
+ event EventHandler<ObjectValueNodeEventArgs> NodeCollapse;
+
+ /// <summary>
/// Triggered when the view requests a node to fetch more of it's children
/// </summary>
event EventHandler<ObjectValueNodeEventArgs> NodeLoadMoreChildren;
- event EventHandler<ObjectValueNodeEventArgs> NodeExpanded;
- event EventHandler<ObjectValueNodeEventArgs> NodeCollapsed;
-
/// <summary>
/// Triggered when the view needs the node to be refreshed
/// </summary>
@@ -131,6 +139,9 @@ namespace MonoDevelop.Debugger
/// </summary>
event EventHandler<ObjectValueExpressionEventArgs> ExpressionEdited;
+ /// <summary>
+ /// Informs the view that the node was expanded and children have been loaded.
+ /// </summary>
void OnNodeExpanded (ObjectValueNode node);
/// <summary>
diff --git a/main/src/addins/MonoDevelop.Debugger/MonoDevelop.Debugger/ObjectValue/ObjectValueTreeViewController.cs b/main/src/addins/MonoDevelop.Debugger/MonoDevelop.Debugger/ObjectValue/ObjectValueTreeViewController.cs
index f5f011b30d..0aa41ee25a 100644
--- a/main/src/addins/MonoDevelop.Debugger/MonoDevelop.Debugger/ObjectValue/ObjectValueTreeViewController.cs
+++ b/main/src/addins/MonoDevelop.Debugger/MonoDevelop.Debugger/ObjectValue/ObjectValueTreeViewController.cs
@@ -204,8 +204,8 @@ namespace MonoDevelop.Debugger
};
- view.NodeExpanded += OnViewNodeExpanded;
- view.NodeCollapsed += OnViewNodeCollapsed;
+ view.NodeExpand += OnViewNodeExpand;
+ view.NodeCollapse += OnViewNodeCollapse;
view.NodeLoadMoreChildren += OnViewNodeLoadMoreChildren;
view.ExpressionAdded += OnViewExpressionAdded;
view.ExpressionEdited += OnViewExpressionEdited;
@@ -543,7 +543,7 @@ namespace MonoDevelop.Debugger
}
#region View event handlers
- void OnViewNodeExpanded (object sender, ObjectValueNodeEventArgs e)
+ void OnViewNodeExpand (object sender, ObjectValueNodeEventArgs e)
{
ExpandNodeAsync (e.Node).Ignore ();
}
@@ -551,7 +551,7 @@ namespace MonoDevelop.Debugger
/// <summary>
/// Marks a node as not expanded
/// </summary>
- void OnViewNodeCollapsed (object sender, ObjectValueNodeEventArgs e)
+ void OnViewNodeCollapse (object sender, ObjectValueNodeEventArgs e)
{
e.Node.IsExpanded = false;
}