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);
}