object GetFocusedRowObject(IMasterDetailXafGridView view) {
     if (view is MasterDetailXafGridView && view.Window == null)
         return XtraGridUtils.GetFocusedRowObject(_collectionSourceBase, (ColumnView)view);
     int rowHandle = view.FocusedRowHandle;
     if (!((!view.IsDataRow(rowHandle) && !view.IsNewItemRow(rowHandle))))
         return view.GetRow(rowHandle);
     return XtraGridUtils.GetFocusedRowObject(_collectionSourceBase, (ColumnView)view);
 }
 IMasterDetailXafGridView GetFocusedGridView(IMasterDetailXafGridView view) {
     Frame masterFrame = view.MasterFrame;
     return masterFrame != null && masterFrame.View != null ? (IMasterDetailXafGridView)((GridListEditor)((ListView)masterFrame.View).Editor).Grid.FocusedView : view;
 }
 public ModelDetailRelationCalculator(IModelListView modelListView, IMasterDetailXafGridView xafGridView, List<MasterDetailRuleInfo> masterDetailRules) {
     _modelListView = modelListView;
     _xafGridView = xafGridView;
     _masterDetailRules = masterDetailRules;
 }
 IList GetSelectedObjects(IMasterDetailXafGridView focusedView) {
     int[] selectedRows = focusedView.GetSelectedRows();
     if ((selectedRows != null) && (selectedRows.Length > 0)) {
         IEnumerable<object> objects = selectedRows.Where(rowHandle => rowHandle > -1).Select(focusedView.GetRow).Where(obj => obj != null);
         return objects.ToList();
     }
     return new List<object>();
 }
 void CloseNestedWindow(IMasterDetailXafGridView baseView) {
     var window = baseView.Window as WinWindow;
     if (window != null && window.Form != null)
         window.Form.Close();
 }