/// <summary> /// Selection (active) une page. /// </summary> /// <param name="page">La page à selectionner</param> public void selectePage(EditorItem <T> page) { if (page == null) { return; } page.IsActive = true; }
/// <summary> /// Selection la page d'édition d'un objet donné si elle existe. /// Si la page n'existe pas, on la crée, on la rajoute aà l'éditeur et on la selectionne. /// </summary> /// <param name="anObject">L'objet dont la page doit être créée ou selectionnée</param> public EditorItem <T> addOrSelectPage(T anObject, bool readOnly = false, List <Domain.Right> rights = null) { EditorItem <T> page = getPage(anObject); if (page == null) { page = addPage(anObject, readOnly, rights); } selectePage(page); return(page); }
/// <summary> /// Crée et rajoute la page d'édition d'un objet donné. /// </summary> /// <param name="anObject">L'objet dont la page doit être rejoutée</param> /// <returns>La page créée</returns> protected virtual EditorItem <T> addPage(T anObject, bool readOnly = false, List <Domain.Right> rights = null) { if (!ApplicationManager.Instance.User.IsAdmin() && anObject != null && anObject.oid.HasValue) { RightService service = ApplicationManager.Instance.ControllerFactory.ServiceFactory.GetRightService(); rights = service.getUserRights(this.SubjectType.label, anObject.oid.Value); } EditorItem <T> page = getNewPage(); if (readOnly) { page.SetReadOnly(readOnly); } page.ChangeEventHandler = this.ChangeEventHandler; page.EditedObject = anObject; page.Title = anObject != null?anObject.ToString() : ""; page.Customize(rights, readOnly); page.displayObject(); page.IsActiveChanged += ActivePageChangedEventHandler; bool canAddNewPage = NewPage != null; if (canAddNewPage) { NewPage.IsActiveChanged -= newPageEventHandler; } try { if (canAddNewPage) { this.Children.Remove(NewPage); } this.Children.Add(page); if (canAddNewPage) { this.Children.Add(NewPage); } } catch (Exception) { } page.IsActive = true; if (canAddNewPage) { NewPage.IsActiveChanged += newPageEventHandler; } return(page); }
protected virtual void InitializeNewPage(String functionality) { PrivilegeObserver observer = new PrivilegeObserver(); bool create = observer.hasPrivilege(functionality, RightType.CREATE); if (create) { NewPage = getNewPage(); NewPage.CanClose = false; NewPage.CanFloat = false; NewPage.Title = "+"; newPageEventHandler = new EventHandler(this.OnNewPageSelected); NewPage.IsActiveChanged += newPageEventHandler; } }