Index: Core/Common/src/Core.Common.Controls.TreeView/TreeViewControl.cs =================================================================== diff -u -rb3db013105d10992eeefea39f5ecbdacdd57b4d4 -rd52ae535aea52b4e43aa6837305502e6cd911a92 --- Core/Common/src/Core.Common.Controls.TreeView/TreeViewControl.cs (.../TreeViewControl.cs) (revision b3db013105d10992eeefea39f5ecbdacdd57b4d4) +++ Core/Common/src/Core.Common.Controls.TreeView/TreeViewControl.cs (.../TreeViewControl.cs) (revision d52ae535aea52b4e43aa6837305502e6cd911a92) @@ -31,6 +31,7 @@ public event EventHandler TreeNodeDoubleClick; public event EventHandler NodeUpdated; // TODO; Way to explicit! public event EventHandler NodeDataDeleted; // TODO; Way to explicit! + public event EventHandler SelectedNodeChanged; public TreeViewControl() { @@ -60,6 +61,7 @@ treeView.DragOver += TreeViewDragOver; treeView.ItemDrag += TreeViewItemDrag; treeView.DragLeave += TreeViewDragLeave; + treeView.AfterSelect += TreeViewAfterSelect; } /// @@ -142,6 +144,11 @@ } } + public void SelectNodeForData(object dataObject) + { + treeView.SelectedNode = GetNodeByTag(dataObject); + } + /// /// This method searches all nodes in the for a node with a matching tag. /// @@ -698,6 +705,14 @@ ClearPlaceHolders(); } + private void TreeViewAfterSelect(object sender, TreeViewEventArgs e) + { + if (SelectedNodeChanged != null) + { + SelectedNodeChanged(treeView.SelectedNode, EventArgs.Empty); + } + } + private void DrawPlaceholder(TreeNode node, PlaceholderLocation location) { if (lastPlaceholderNode == node && lastPlaceholderLocation == location) Index: Core/Common/src/Core.Common.Gui/Forms/IProjectExplorer.cs =================================================================== diff -u -r7f1e4c8c634d60e05912f3fbbc72b21cd3404dc1 -rd52ae535aea52b4e43aa6837305502e6cd911a92 --- Core/Common/src/Core.Common.Gui/Forms/IProjectExplorer.cs (.../IProjectExplorer.cs) (revision 7f1e4c8c634d60e05912f3fbbc72b21cd3404dc1) +++ Core/Common/src/Core.Common.Gui/Forms/IProjectExplorer.cs (.../IProjectExplorer.cs) (revision d52ae535aea52b4e43aa6837305502e6cd911a92) @@ -26,6 +26,6 @@ { public interface IProjectExplorer : IView { - TreeView TreeView { get; } + TreeViewControl TreeViewControl { get; } } } \ No newline at end of file Index: Core/Common/src/Core.Common.Gui/RingtoetsGui.cs =================================================================== diff -u -rb3db013105d10992eeefea39f5ecbdacdd57b4d4 -rd52ae535aea52b4e43aa6837305502e6cd911a92 --- Core/Common/src/Core.Common.Gui/RingtoetsGui.cs (.../RingtoetsGui.cs) (revision b3db013105d10992eeefea39f5ecbdacdd57b4d4) +++ Core/Common/src/Core.Common.Gui/RingtoetsGui.cs (.../RingtoetsGui.cs) (revision d52ae535aea52b4e43aa6837305502e6cd911a92) @@ -393,7 +393,7 @@ return; } - var node = ProjectExplorer.TreeView.TreeViewController.GetNodeByTag(view.Data); + var node = ProjectExplorer.TreeViewControl.GetNodeByTag(view.Data); if (node != null) { DocumentViews.SetTooltip(view, node.FullPath); Index: Core/Common/test/Core.Common.Integration.Test/Ringtoets/Application.Ringtoets/RingtoetsGuiIntegrationTest.cs =================================================================== diff -u -r05a035ad71638422c128aba30e06cdcb58ac5609 -rd52ae535aea52b4e43aa6837305502e6cd911a92 --- Core/Common/test/Core.Common.Integration.Test/Ringtoets/Application.Ringtoets/RingtoetsGuiIntegrationTest.cs (.../RingtoetsGuiIntegrationTest.cs) (revision 05a035ad71638422c128aba30e06cdcb58ac5609) +++ Core/Common/test/Core.Common.Integration.Test/Ringtoets/Application.Ringtoets/RingtoetsGuiIntegrationTest.cs (.../RingtoetsGuiIntegrationTest.cs) (revision d52ae535aea52b4e43aa6837305502e6cd911a92) @@ -1,4 +1,3 @@ -using System.Linq; using System.Windows.Controls; using Core.Common.Base.Storage; @@ -88,29 +87,6 @@ mocks.VerifyAll(); } - [Test] - [RequiresSTA] - public void SelectingProjectNodeSetsSelectedItemToProject() - { - var mocks = new MockRepository(); - var projectStore = mocks.Stub(); - mocks.ReplayAll(); - - using (var gui = new RingtoetsGui(new MainWindow(), projectStore)) - { - gui.Plugins.Add(new ProjectExplorerGuiPlugin()); - gui.Run(); - - var projectExplorer = gui.ToolWindowViews.OfType().First(); - - var treeView = projectExplorer.TreeView; - treeView.SelectedNode = treeView.Nodes[0]; // project node - - Assert.AreEqual(gui.Project, gui.Selection); - } - mocks.VerifyAll(); - } - private static void StartWithCommonPlugins() { var mocks = new MockRepository(); Index: Core/Plugins/src/Core.Plugins.ProjectExplorer/ProjectExplorer.Designer.cs =================================================================== diff -u -r0d7895f07d2c1b15457ffdc8e8762780a5837030 -rd52ae535aea52b4e43aa6837305502e6cd911a92 --- Core/Plugins/src/Core.Plugins.ProjectExplorer/ProjectExplorer.Designer.cs (.../ProjectExplorer.Designer.cs) (revision 0d7895f07d2c1b15457ffdc8e8762780a5837030) +++ Core/Plugins/src/Core.Plugins.ProjectExplorer/ProjectExplorer.Designer.cs (.../ProjectExplorer.Designer.cs) (revision d52ae535aea52b4e43aa6837305502e6cd911a92) @@ -18,23 +18,20 @@ this.components = new System.ComponentModel.Container(); System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(ProjectExplorer)); this.treeViewPanel = new System.Windows.Forms.Panel(); - this.projectTreeView = new Core.Common.Controls.TreeView.TreeView(); + this.treeViewControl = new Core.Common.Controls.TreeView.TreeViewControl(); this.treeViewPanel.SuspendLayout(); this.SuspendLayout(); // // treeViewPanel // - this.treeViewPanel.Controls.Add(this.projectTreeView); + this.treeViewPanel.Controls.Add(this.treeViewControl); resources.ApplyResources(this.treeViewPanel, "treeViewPanel"); this.treeViewPanel.Name = "treeViewPanel"; // - // projectTreeView + // treeViewControl // - this.projectTreeView.AllowDrop = true; - resources.ApplyResources(this.projectTreeView, "projectTreeView"); - this.projectTreeView.HideSelection = false; - this.projectTreeView.LabelEdit = true; - this.projectTreeView.Name = "projectTreeView"; + resources.ApplyResources(this.treeViewControl, "treeViewControl"); + this.treeViewControl.Name = "treeViewControl"; // // ProjectExplorer // @@ -51,6 +48,6 @@ #endregion private System.Windows.Forms.Panel treeViewPanel; - private Common.Controls.TreeView.TreeView projectTreeView; + private Common.Controls.TreeView.TreeViewControl treeViewControl; } } Index: Core/Plugins/src/Core.Plugins.ProjectExplorer/ProjectExplorer.cs =================================================================== diff -u -r78b15d3290c831ef1d7070aa1ccb48f57a15961f -rd52ae535aea52b4e43aa6837305502e6cd911a92 --- Core/Plugins/src/Core.Plugins.ProjectExplorer/ProjectExplorer.cs (.../ProjectExplorer.cs) (revision 78b15d3290c831ef1d7070aa1ccb48f57a15961f) +++ Core/Plugins/src/Core.Plugins.ProjectExplorer/ProjectExplorer.cs (.../ProjectExplorer.cs) (revision d52ae535aea52b4e43aa6837305502e6cd911a92) @@ -27,7 +27,6 @@ using Core.Common.Gui.Forms; using Core.Common.Gui.Selection; using Core.Plugins.ProjectExplorer.Properties; -using TreeView = Core.Common.Controls.TreeView.TreeView; namespace Core.Plugins.ProjectExplorer { @@ -68,39 +67,39 @@ private void BindTreeInteractionEvents() { - TreeView.TreeViewController.TreeNodeDoubleClick += TreeViewDoubleClick; - TreeView.TreeViewController.NodeDataDeleted += ProjectDataDeleted; - TreeView.AfterSelect += TreeViewSelectedNodeChanged; + treeViewControl.TreeNodeDoubleClick += TreeViewDoubleClick; + treeViewControl.NodeDataDeleted += ProjectDataDeleted; + treeViewControl.SelectedNodeChanged += TreeViewSelectedNodeChanged; } private void RegisterTreeNodeInfos(IEnumerable treeNodeInfos) { foreach (TreeNodeInfo info in treeNodeInfos) { - TreeView.TreeViewController.RegisterTreeNodeInfo(info); + treeViewControl.RegisterTreeNodeInfo(info); } } public object Data { get { - return TreeView.TreeViewController.Data; + return treeViewControl.Data; } set { - if (!TreeView.IsDisposed) + if (!treeViewControl.IsDisposed) { - TreeView.TreeViewController.Data = value; + treeViewControl.Data = value; } } } - public TreeView TreeView + public TreeViewControl TreeViewControl { get { - return projectTreeView; + return treeViewControl; } } @@ -116,15 +115,15 @@ } Data = null; - TreeView.Dispose(); + treeViewControl.Dispose(); applicationSelection.SelectionChanged -= GuiSelectionChanged; base.Dispose(disposing); } - private void TreeViewSelectedNodeChanged(object sender, TreeViewEventArgs e) + private void TreeViewSelectedNodeChanged(object sender, EventArgs e) { - applicationSelection.Selection = e.Node.Tag; + applicationSelection.Selection = ((TreeNode) sender).Tag; } private void TreeViewDoubleClick(object sender, EventArgs e) @@ -144,11 +143,7 @@ return; } - TreeNode node = TreeView.TreeViewController.GetNodeByTag(applicationSelection.Selection); - if (node != null) - { - TreeView.SelectedNode = node; - } + TreeViewControl.SelectNodeForData(applicationSelection.Selection); } } } \ No newline at end of file Index: Core/Plugins/src/Core.Plugins.ProjectExplorer/ProjectExplorer.resx =================================================================== diff -u -r0d7895f07d2c1b15457ffdc8e8762780a5837030 -rd52ae535aea52b4e43aa6837305502e6cd911a92 --- Core/Plugins/src/Core.Plugins.ProjectExplorer/ProjectExplorer.resx (.../ProjectExplorer.resx) (revision 0d7895f07d2c1b15457ffdc8e8762780a5837030) +++ Core/Plugins/src/Core.Plugins.ProjectExplorer/ProjectExplorer.resx (.../ProjectExplorer.resx) (revision d52ae535aea52b4e43aa6837305502e6cd911a92) @@ -118,36 +118,36 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - + Fill - + 0 - + 0, 0 - + 0 - + 375, 352 - + 0 - - projectTreeView + + treeViewControl - + Core.Common.Controls.TreeView.TreeView, Core.Common.Controls.TreeView, Version=0.5.0.1894, Culture=neutral, PublicKeyToken=null - + treeViewPanel - + 0 Index: Core/Plugins/src/Core.Plugins.ProjectExplorer/ProjectExplorerViewController.cs =================================================================== diff -u -re5b51f8c239f5bb4f4a3dce0399dbdd26ecc4132 -rd52ae535aea52b4e43aa6837305502e6cd911a92 --- Core/Plugins/src/Core.Plugins.ProjectExplorer/ProjectExplorerViewController.cs (.../ProjectExplorerViewController.cs) (revision e5b51f8c239f5bb4f4a3dce0399dbdd26ecc4132) +++ Core/Plugins/src/Core.Plugins.ProjectExplorer/ProjectExplorerViewController.cs (.../ProjectExplorerViewController.cs) (revision d52ae535aea52b4e43aa6837305502e6cd911a92) @@ -4,7 +4,6 @@ using Core.Common.Controls.TreeView; using Core.Common.Gui; using Core.Common.Gui.Commands; -using Core.Common.Gui.Forms.ViewManager; using Core.Common.Gui.Selection; namespace Core.Plugins.ProjectExplorer @@ -64,7 +63,7 @@ if (!IsViewActive()) { projectExplorer = new ProjectExplorer(applicationSelection, viewCommands, treeNodeInfos); - projectExplorer.TreeView.TreeViewController.NodeUpdated += (s, e) => documentViewController.UpdateToolTips(); + projectExplorer.TreeViewControl.NodeUpdated += (s, e) => documentViewController.UpdateToolTips(); toolViewController.OpenToolView(projectExplorer);