Index: Core/Plugins/src/Core.Plugins.Chart/ChartPlugin.cs =================================================================== diff -u -r4f023f921130657163dbbad9b13e765e6d37cbb5 -rfd4cbd71819fffafb21e8022e9781cc0924031cc --- Core/Plugins/src/Core.Plugins.Chart/ChartPlugin.cs (.../ChartPlugin.cs) (revision 4f023f921130657163dbbad9b13e765e6d37cbb5) +++ Core/Plugins/src/Core.Plugins.Chart/ChartPlugin.cs (.../ChartPlugin.cs) (revision fd4cbd71819fffafb21e8022e9781cc0924031cc) @@ -144,10 +144,14 @@ private void UpdateComponentsForView(IChartView chartView) { + if (ReferenceEquals(currentChartView, chartView)) + { + return; + } + currentChartView = chartView; IChartControl chartControl = chartView?.Chart; - chartLegendController.Update(chartControl); chartingRibbon.Chart = chartControl; } Index: Core/Plugins/src/Core.Plugins.Chart/ChartingRibbon.xaml.cs =================================================================== diff -u -r93036b575ee81b4517b29db51f1eadf81454fb93 -rfd4cbd71819fffafb21e8022e9781cc0924031cc --- Core/Plugins/src/Core.Plugins.Chart/ChartingRibbon.xaml.cs (.../ChartingRibbon.xaml.cs) (revision 93036b575ee81b4517b29db51f1eadf81454fb93) +++ Core/Plugins/src/Core.Plugins.Chart/ChartingRibbon.xaml.cs (.../ChartingRibbon.xaml.cs) (revision fd4cbd71819fffafb21e8022e9781cc0924031cc) @@ -40,6 +40,8 @@ public ChartingRibbon() { InitializeComponent(); + + HideChartingTab(); } /// Index: Core/Plugins/src/Core.Plugins.Map/MapPlugin.cs =================================================================== diff -u -r4f023f921130657163dbbad9b13e765e6d37cbb5 -rfd4cbd71819fffafb21e8022e9781cc0924031cc --- Core/Plugins/src/Core.Plugins.Map/MapPlugin.cs (.../MapPlugin.cs) (revision 4f023f921130657163dbbad9b13e765e6d37cbb5) +++ Core/Plugins/src/Core.Plugins.Map/MapPlugin.cs (.../MapPlugin.cs) (revision fd4cbd71819fffafb21e8022e9781cc0924031cc) @@ -158,6 +158,11 @@ private void UpdateComponentsForView(IMapView mapView) { + if (ReferenceEquals(currentMapView, mapView)) + { + return; + } + currentMapView = mapView; IMapControl mapControl = mapView?.Map; Index: Core/Plugins/src/Core.Plugins.Map/MapRibbon.xaml.cs =================================================================== diff -u -r67284323e2785c651633d9c52049ba12a9c70e6a -rfd4cbd71819fffafb21e8022e9781cc0924031cc --- Core/Plugins/src/Core.Plugins.Map/MapRibbon.xaml.cs (.../MapRibbon.xaml.cs) (revision 67284323e2785c651633d9c52049ba12a9c70e6a) +++ Core/Plugins/src/Core.Plugins.Map/MapRibbon.xaml.cs (.../MapRibbon.xaml.cs) (revision fd4cbd71819fffafb21e8022e9781cc0924031cc) @@ -40,6 +40,8 @@ public MapRibbon() { InitializeComponent(); + + HideMapTab(); } /// Index: Core/Plugins/test/Core.Plugins.Chart.Test/ChartPluginTest.cs =================================================================== diff -u -r2073bede3b869ff6824840863de62cf2584cf484 -rfd4cbd71819fffafb21e8022e9781cc0924031cc --- Core/Plugins/test/Core.Plugins.Chart.Test/ChartPluginTest.cs (.../ChartPluginTest.cs) (revision 2073bede3b869ff6824840863de62cf2584cf484) +++ Core/Plugins/test/Core.Plugins.Chart.Test/ChartPluginTest.cs (.../ChartPluginTest.cs) (revision fd4cbd71819fffafb21e8022e9781cc0924031cc) @@ -87,7 +87,6 @@ var viewHost = mocks.Stub(); gui.Stub(g => g.ViewHost).Return(viewHost); - viewHost.Expect(vm => vm.ToolViews).Return(new IView[0]); viewHost.Expect(vm => vm.AddToolView(Arg.Is.NotNull, Arg.Matches(vl => vl == ToolViewLocation.Left))); viewHost.Expect(vm => vm.SetImage(null, null)).IgnoreArguments(); viewHost.Expect(vm => vm.ActiveDocumentView).Return(null); Index: Core/Plugins/test/Core.Plugins.Chart.Test/ChartingRibbonTest.cs =================================================================== diff -u -r93036b575ee81b4517b29db51f1eadf81454fb93 -rfd4cbd71819fffafb21e8022e9781cc0924031cc --- Core/Plugins/test/Core.Plugins.Chart.Test/ChartingRibbonTest.cs (.../ChartingRibbonTest.cs) (revision 93036b575ee81b4517b29db51f1eadf81454fb93) +++ Core/Plugins/test/Core.Plugins.Chart.Test/ChartingRibbonTest.cs (.../ChartingRibbonTest.cs) (revision fd4cbd71819fffafb21e8022e9781cc0924031cc) @@ -38,13 +38,18 @@ { [Test] [Apartment(ApartmentState.STA)] - public void DefaultConstructor_Always_CreatesControl() + public void DefaultConstructor_Always_CreatesControlWithContextualGroupCollapsed() { - // Setup + // Call var ribbon = new ChartingRibbon(); - // Call & Assert - Assert.IsInstanceOf(ribbon.GetRibbonControl()); + // Assert + Ribbon ribbonControl = ribbon.GetRibbonControl(); + Assert.IsInstanceOf(ribbonControl); + + var contextualGroup = ribbonControl.FindName("ChartingContextualGroup") as RibbonContextualTabGroup; + Assert.IsNotNull(contextualGroup); + Assert.AreEqual(Visibility.Collapsed, contextualGroup.Visibility); } [Test] Index: Core/Plugins/test/Core.Plugins.Map.Test/MapPluginTest.cs =================================================================== diff -u -re17a7164604a5325b47c5d2fddbe2d667a444bb9 -rfd4cbd71819fffafb21e8022e9781cc0924031cc --- Core/Plugins/test/Core.Plugins.Map.Test/MapPluginTest.cs (.../MapPluginTest.cs) (revision e17a7164604a5325b47c5d2fddbe2d667a444bb9) +++ Core/Plugins/test/Core.Plugins.Map.Test/MapPluginTest.cs (.../MapPluginTest.cs) (revision fd4cbd71819fffafb21e8022e9781cc0924031cc) @@ -89,7 +89,6 @@ var viewHost = mocks.Stub(); gui.Stub(g => g.ViewHost).Return(viewHost); - viewHost.Expect(vm => vm.ToolViews).Return(new IView[0]); viewHost.Expect(vm => vm.AddToolView(Arg.Is.NotNull, Arg.Matches(vl => vl == ToolViewLocation.Left))); viewHost.Expect(vm => vm.SetImage(null, null)).IgnoreArguments(); viewHost.Expect(vm => vm.ActiveDocumentView).Return(null); Index: Core/Plugins/test/Core.Plugins.Map.Test/MapRibbonTest.cs =================================================================== diff -u -r67284323e2785c651633d9c52049ba12a9c70e6a -rfd4cbd71819fffafb21e8022e9781cc0924031cc --- Core/Plugins/test/Core.Plugins.Map.Test/MapRibbonTest.cs (.../MapRibbonTest.cs) (revision 67284323e2785c651633d9c52049ba12a9c70e6a) +++ Core/Plugins/test/Core.Plugins.Map.Test/MapRibbonTest.cs (.../MapRibbonTest.cs) (revision fd4cbd71819fffafb21e8022e9781cc0924031cc) @@ -38,13 +38,18 @@ { [Test] [Apartment(ApartmentState.STA)] - public void DefaultContstructor_Always_CreatesControl() + public void DefaultConstructor_Always_CreatesControlWithContextualGroupCollapsed() { - // Setup + // Call var ribbon = new MapRibbon(); - // Call & Assert - Assert.IsInstanceOf(ribbon.GetRibbonControl()); + // Assert + Ribbon ribbonControl = ribbon.GetRibbonControl(); + Assert.IsInstanceOf(ribbonControl); + + var contextualGroup = ribbonControl.FindName("MapContextualGroup") as RibbonContextualTabGroup; + Assert.IsNotNull(contextualGroup); + Assert.AreEqual(Visibility.Collapsed, contextualGroup.Visibility); } [Test]