Object FindObjectToOpen(GridColumn column, int rowHandle) { Object result = null; if (column != null && GridListEditor != null && GridListEditor.GridView() != null) { Object currObject = XtraGridUtils.GetRow(GridListEditor.GridView(), rowHandle); ITypeInfo typeInfo = currObject != null ? XafTypesInfo.Instance.FindTypeInfo(currObject.GetType()) : _listView.ObjectTypeInfo; IMemberInfo memberInfo = typeInfo.FindMember(column.FieldName); Object lastObject = null; if (GridListEditor.GridView().ActiveEditor != null) { lastObject = GridListEditor.GridView().ActiveEditor.EditValue; } else if (currObject != null && memberInfo != null) { lastObject = FindLastObject(currObject, memberInfo); } if (memberInfo != null && (IsDetailViewExists(lastObject) && DataManipulationRight.CanRead(typeInfo.Type, memberInfo.Name, currObject, LinkToListViewController.FindCollectionSource( Controller.Frame), ObjectSpace))) { result = lastObject; } } return(result); }
public override void UpdateOpenObjectActionState(object objectToOpen) { base.UpdateOpenObjectActionState(objectToOpen); if (objectToOpen != null) { OpenObjectAction.Enabled[HasReadPermissionToTargetObjectEnabledKey] = DataManipulationRight.CanRead(objectToOpen.GetType(), null, objectToOpen, LinkToListViewController.FindCollectionSource(Controller.Frame), ObjectSpace); } }
private void ObjectSpace_Committed(Object sender, EventArgs e) { if (View.CurrentObject is Event) { LinkToListViewController linkToListViewController = Frame.GetController <LinkToListViewController>(); if ((linkToListViewController != null) && (linkToListViewController.Link != null) && (linkToListViewController.Link.ListView != null) && linkToListViewController.Link.ListView.IsRoot) { linkToListViewController.Link.ListView.ObjectSpace.Refresh(); } } }
protected override void OnViewControlsCreated() { base.OnViewControlsCreated(); if (SchedulerListEditor != null) { ((ListView)View).CollectionSource.CriteriaApplied += CollectionSourceOnCriteriaApplied; new SchedulerListEditorModelSynchronizer(SchedulerControl(), (IModelListViewOptionsScheduler)View.Model, Labels(), Statuses()).ApplyModel(); SchedulerListEditor.ResourceDataSourceCreating += SchedulerListEditorOnResourceDataSourceCreating; } var detailView = View as DetailView; if (detailView != null && View.ObjectTypeInfo.Implements<IEvent>()) { _linkToListViewController = Frame.GetController<LinkToListViewController>(); _linkToListViewController.LinkChanged+=LinkToListViewControllerOnLinkChanged; } }
protected override void OnViewControlsCreated() { base.OnViewControlsCreated(); if (SchedulerListEditor != null) { ((ListView)View).CollectionSource.CriteriaApplied += CollectionSourceOnCriteriaApplied; new SchedulerListEditorModelSynchronizer(SchedulerControl(), (IModelListViewOptionsScheduler)View.Model, Labels(), Statuses()).ApplyModel(); SchedulerListEditor.ResourceDataSourceCreating += SchedulerListEditorOnResourceDataSourceCreating; } var detailView = View as DetailView; if (detailView != null && View.ObjectTypeInfo.Implements <IEvent>()) { _linkToListViewController = Frame.GetController <LinkToListViewController>(); _linkToListViewController.LinkChanged += LinkToListViewControllerOnLinkChanged; } }
private void UpdateActionState( ) { string diagnosticInfo; addFromFileAction.Enabled.SetItemValue("Security", DataManipulationRight.CanCreate(View, View.ObjectTypeInfo.Type, LinkToListViewController.FindCollectionSource(Frame), out diagnosticInfo)); if (View != null && View.IsRoot) { addFromFileAction.Enabled.SetItemValue("ObjectSpaceNotModified", !ObjectSpace.IsModified); } else { addFromFileAction.Enabled.RemoveItem("ObjectSpaceNotModified"); } }