Index: src/Common/DelftTools.Controls/ViewInfoWrapper.cs =================================================================== diff -u -r8f6ae890fed8e8eae3a32f9c0498a10f82e0ddf9 -r5fc71a385897af92ccb092f2f969b5709afab85a --- src/Common/DelftTools.Controls/ViewInfoWrapper.cs (.../ViewInfoWrapper.cs) (revision 8f6ae890fed8e8eae3a32f9c0498a10f82e0ddf9) +++ src/Common/DelftTools.Controls/ViewInfoWrapper.cs (.../ViewInfoWrapper.cs) (revision 5fc71a385897af92ccb092f2f969b5709afab85a) @@ -10,13 +10,15 @@ public static class ViewInfoWrapper { public static ViewInfo Create(ViewInfo originalViewInfo, - Func getTargetData, - Func additionalDataCheck = null, - Action afterCreate = null) - where TView : IView + Func getTargetData, + Func additionalDataCheck = null, + Action afterCreate = null) + where TView : IView { if (getTargetData == null) + { throw new ArgumentNullException("getTargetData", "You must supply a getTargetData method"); + } additionalDataCheck = additionalDataCheck ?? (d => true); @@ -25,43 +27,57 @@ AdditionalDataCheck = (d) => { - if (!additionalDataCheck((TData) d)) return false; + if (!additionalDataCheck((TData) d)) + { + return false; + } var targetData = getTargetData((TData) d); - if (!(targetData is TTargetData)) return false; + if (!(targetData is TTargetData)) + { + return false; + } return (originalViewInfo.AdditionalDataCheck == null || originalViewInfo.AdditionalDataCheck((TTargetData) targetData)); }, AfterCreate = (v, d) => { if (originalViewInfo.AfterCreate != null) + { originalViewInfo.AfterCreate((TView) v, (TTargetData) getTargetData((TData) d)); + } if (afterCreate != null) + { afterCreate((TView) v, (TData) d); + } }, GetViewName = (v, o) => - originalViewInfo.GetViewName != null - ? originalViewInfo.GetViewName((TView) v, (TViewData) o) - : null, + originalViewInfo.GetViewName != null + ? originalViewInfo.GetViewName((TView) v, (TViewData) o) + : null, CloseForData = (v, o) => - originalViewInfo.CloseForData != null && - originalViewInfo.CloseForData((TView) v, - o is TTargetData ? (TTargetData) o : (TTargetData) getTargetData((TData)o)), + originalViewInfo.CloseForData != null && + originalViewInfo.CloseForData((TView) v, + o is TTargetData ? (TTargetData) o : (TTargetData) getTargetData((TData) o)), CompositeViewType = originalViewInfo.CompositeViewType, - DataType = typeof (TData), - ViewDataType = typeof (TViewData), + DataType = typeof(TData), + ViewDataType = typeof(TViewData), GetCompositeViewData = wrappedData => { if (originalViewInfo.GetCompositeViewData != null) + { return originalViewInfo.GetCompositeViewData((TTargetData) getTargetData((TData) wrappedData)); + } return null; }, GetViewData = d => { var targetData = (TTargetData) getTargetData((TData) d); if (originalViewInfo.GetViewData == null) + { return targetData; + } return originalViewInfo.GetViewData(targetData); }, OnActivateView = (v, d) =>