diff options
author | Marius Ungureanu <marius.ungureanu@xamarin.com> | 2016-03-27 13:07:40 +0300 |
---|---|---|
committer | Marius Ungureanu <marius.ungureanu@xamarin.com> | 2016-03-27 13:07:40 +0300 |
commit | 7fb96582e9f9a14394b654d0ada2e8bf5780364b (patch) | |
tree | e6f20a1b071235c48d0b061de42311b5902b86b1 /main/src/addins/MonoDevelop.GtkCore | |
parent | 18bb88f6c827e470837f239cd695d6af9ec769c8 (diff) |
[Ide] Experimental change from single addchild to packing children updates in tree view nodes
This change is going to bring speed improvements after the optimizations done to AppendValues inside Gtk# are released.
Batch calls to AddChild, as the collection insertion is guarded against multiple resorts on insertion.
Diffstat (limited to 'main/src/addins/MonoDevelop.GtkCore')
2 files changed, 3 insertions, 7 deletions
diff --git a/main/src/addins/MonoDevelop.GtkCore/MonoDevelop.GtkCore.NodeBuilders/WidgetNodeBuilder.cs b/main/src/addins/MonoDevelop.GtkCore/MonoDevelop.GtkCore.NodeBuilders/WidgetNodeBuilder.cs index c2710e2cf2..cf1ce14602 100644 --- a/main/src/addins/MonoDevelop.GtkCore/MonoDevelop.GtkCore.NodeBuilders/WidgetNodeBuilder.cs +++ b/main/src/addins/MonoDevelop.GtkCore/MonoDevelop.GtkCore.NodeBuilders/WidgetNodeBuilder.cs @@ -81,9 +81,7 @@ namespace MonoDevelop.GtkCore.NodeBuilders public override void BuildChildNodes (ITreeBuilder builder, object dataObject) { GuiBuilderWindow win = (GuiBuilderWindow) dataObject; - foreach (Stetic.ActionGroupInfo agroup in win.RootWidget.ActionGroups) { - builder.AddChild (agroup); - } + builder.AddChildren (win.RootWidget.ActionGroups); } public override bool HasChildNodes (ITreeBuilder builder, object dataObject) diff --git a/main/src/addins/MonoDevelop.GtkCore/MonoDevelop.GtkCore.NodeBuilders/WindowsFolderNodeBuilder.cs b/main/src/addins/MonoDevelop.GtkCore/MonoDevelop.GtkCore.NodeBuilders/WindowsFolderNodeBuilder.cs index 46f6f0f461..aea532fc77 100644 --- a/main/src/addins/MonoDevelop.GtkCore/MonoDevelop.GtkCore.NodeBuilders/WindowsFolderNodeBuilder.cs +++ b/main/src/addins/MonoDevelop.GtkCore/MonoDevelop.GtkCore.NodeBuilders/WindowsFolderNodeBuilder.cs @@ -75,10 +75,8 @@ namespace MonoDevelop.GtkCore.NodeBuilders GtkDesignInfo info = GtkDesignInfo.FromProject (p); if (!info.GuiBuilderProject.HasError) { builder.AddChild (new StockIconsNode (p)); - foreach (GuiBuilderWindow fi in info.GuiBuilderProject.Windows) - builder.AddChild (fi); - foreach (Stetic.ActionGroupInfo group in info.GuiBuilderProject.SteticProject.ActionGroups) - builder.AddChild (group); + builder.AddChildren (info.GuiBuilderProject.Windows); + builder.AddChildren (info.GuiBuilderProject.SteticProject.ActionGroups); } } |