Index: Core/Common/src/Core.Common.Gui/Forms/ViewManager/ViewResolver.cs =================================================================== diff -u -r593dcdd2ed0910dc71062e9fe5c38fe61a18ebdd -r1a47be2a9f0336ef0d0d5bd6971e8e1cc3cbbfa4 --- Core/Common/src/Core.Common.Gui/Forms/ViewManager/ViewResolver.cs (.../ViewResolver.cs) (revision 593dcdd2ed0910dc71062e9fe5c38fe61a18ebdd) +++ Core/Common/src/Core.Common.Gui/Forms/ViewManager/ViewResolver.cs (.../ViewResolver.cs) (revision 1a47be2a9f0336ef0d0d5bd6971e8e1cc3cbbfa4) @@ -133,7 +133,16 @@ { DoWithMatchingViews(data, viewList, v => viewList.Remove(v), - (v, o) => v.ViewInfo != null && v.ViewInfo.CloseForData(v, o)); + (v, o) => + { + var viewInfo = GetViewInfoForView(v); + if (viewInfo != null) + { + return viewInfo.CloseForData(v, o); + } + + return false; + }); } public Type GetDefaultViewType(object dataObject) @@ -159,6 +168,17 @@ : infos; } + public string GetViewName(IView view) + { + var viewInfo = GetViewInfoForView(view); + if (viewInfo != null) + { + return viewInfo.GetViewName(view, view.Data); + } + + return ""; + } + /// /// Checks consistency of ViewList / ViewResolver logic. Sometimes views are closed while being opened. /// @@ -213,7 +233,7 @@ .FirstOrDefault(rv => !rv.Locked && IsDataForView(rv, viewData) && - viewInfo.ViewDataType == rv.ViewInfo.ViewDataType); + viewInfo.ViewDataType == GetViewInfoForView(rv).ViewDataType); if (reusableView != null) { Index: Core/Common/src/Core.Common.Gui/IViewResolver.cs =================================================================== diff -u -r593dcdd2ed0910dc71062e9fe5c38fe61a18ebdd -r1a47be2a9f0336ef0d0d5bd6971e8e1cc3cbbfa4 --- Core/Common/src/Core.Common.Gui/IViewResolver.cs (.../IViewResolver.cs) (revision 593dcdd2ed0910dc71062e9fe5c38fe61a18ebdd) +++ Core/Common/src/Core.Common.Gui/IViewResolver.cs (.../IViewResolver.cs) (revision 1a47be2a9f0336ef0d0d5bd6971e8e1cc3cbbfa4) @@ -69,5 +69,7 @@ /// The viewType of the view info /// The matching view infos for data and view type IEnumerable GetViewInfosFor(object data, Type viewType = null); + + string GetViewName(IView view); } } \ No newline at end of file Index: Core/Common/src/Core.Common.Gui/RingtoetsGui.cs =================================================================== diff -u -rfa33f7c078c5d17f92f6a519f147a0a371593944 -r1a47be2a9f0336ef0d0d5bd6971e8e1cc3cbbfa4 --- Core/Common/src/Core.Common.Gui/RingtoetsGui.cs (.../RingtoetsGui.cs) (revision fa33f7c078c5d17f92f6a519f147a0a371593944) +++ Core/Common/src/Core.Common.Gui/RingtoetsGui.cs (.../RingtoetsGui.cs) (revision 1a47be2a9f0336ef0d0d5bd6971e8e1cc3cbbfa4) @@ -844,14 +844,9 @@ mainWindow.ValidateItems(); } - private static string GetViewName(IView view) - { - return (view.ViewInfo != null ? view.ViewInfo.GetViewName(view, view.Data) : null) ?? ""; - } - private void UpdateViewName(IView view) { - view.Text = GetViewName(view); + view.Text = DocumentViewsResolver.GetViewName(view); SetToolTipForView(view); }