コード例 #1
0
 /// <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;
 }
コード例 #2
0
        /// <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);
        }
コード例 #3
0
        /// <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);
        }
コード例 #4
0
        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;
            }
        }