Beispiel #1
0
        /// ///////////////////////////////////////////////////
        public CResultAErreur MAJ_Champs()
        {
            CResultAErreur result = CResultAErreur.True;

            if (m_bIsLock)
            {
                return(result);
            }

            foreach (DictionaryEntry entry in m_tableCreateurs)
            {
                CCreateur2iFormulaire            createur = (CCreateur2iFormulaire)entry.Value;
                Crownwood.Magic.Controls.TabPage page     = (Crownwood.Magic.Controls.TabPage)entry.Key;
                if (m_tablePagesInit.ContainsKey(page) &&
                    m_tablePagesInit[page])
                {
                    result = createur.MAJ_Champs();
                    if (!result)
                    {
                        return(result);
                    }
                }
            }

            return(result);
        }
Beispiel #2
0
 /// ///////////////////////////////////////////////////
 private void OnMyChangeLockEdition()
 {
     foreach (Crownwood.Magic.Controls.TabPage page in TabPages)
     {
         CCreateur2iFormulaire createur = (CCreateur2iFormulaire)m_tableCreateurs[page];
         if (createur != null)
         {
             createur.LockEdition = LockEdition;
         }
     }
     if (OnChangeLockEdition != null)
     {
         OnChangeLockEdition(this, new EventArgs());
     }
 }
Beispiel #3
0
        /// ///////////////////////////////////////////////////
        private void InitPageWithObjetCourant(Crownwood.Magic.Controls.TabPage page)
        {
            if (m_tablePagesInit.ContainsKey(page) &&
                m_tablePagesInit[page])
            {
                return;
            }
            if (m_tableCreateurs[page] == null)
            {
                CreateControles(page);
            }
            ERestriction          restrictionFormulaire = m_tablePageToRestriction[page];
            CCreateur2iFormulaire createur = (CCreateur2iFormulaire)m_tableCreateurs[page];

            createur.ReadOnly    = (restrictionFormulaire & ERestriction.ReadOnly) == ERestriction.ReadOnly;
            createur.LockEdition = m_bIsLock || (restrictionFormulaire & ERestriction.ReadOnly) == ERestriction.ReadOnly;
            if (createur != null)
            {
                createur.ElementEdite = m_elementEdite;
            }
            m_tablePagesInit[page] = true;
        }
Beispiel #4
0
        /// ///////////////////////////////////////////////////
        private void CreateControles(Crownwood.Magic.Controls.TabPage page)
        {
            if (m_tableCreateurs[page] != null || ElementEdite == null)
            {
                return;
            }
            C2iWnd wnd   = m_tablePageTo2iWnd[page];
            Panel  panel = new Panel();

            panel.BackColor  = wnd.BackColor;
            panel.ForeColor  = wnd.ForeColor;
            panel.Font       = wnd.Font;
            panel.Location   = new Point(0, 0);
            panel.Size       = wnd.Size;
            panel.AutoScroll = true;
            page.Controls.Add(panel);
            panel.SuspendLayout();
            CCreateur2iFormulaire createur;

            IObjetDonneeAIdNumeriqueAuto objetDonnee = ElementEdite as IObjetDonneeAIdNumeriqueAuto;

            if (objetDonnee != null)
            {
                createur = new CCreateur2iFormulaire(objetDonnee.ContexteDonnee.IdSession, ElementEdite, page);
            }
            else
            {
                createur = new CCreateur2iFormulaire(CSessionClient.GetSessionUnique().IdSession, ElementEdite, page);
            }

            createur.CreateChilds(panel, wnd, m_champTooltip);
            panel.ResumeLayout();
            panel.Size             = page.ClientSize;
            m_tableCreateurs[page] = createur;
            page.ResumeLayout();
            panel.Dock = DockStyle.Fill;
        }
Beispiel #5
0
        public void UpdateOnglets()
        {
            if (!LockEdition)
            {
                //valide les modifs car on va tout supprimer
                MAJ_Champs();
            }
            m_bIsInitializing = true;
            Hashtable tablePagesToHide = new Hashtable();

            foreach (Crownwood.Magic.Controls.TabPage page in TabPages)
            {
                m_tablePagesInit[page] = false;
                tablePagesToHide[page] = true;
            }

            if (m_elementEdite == null)
            {
                return;
            }

            /* YK : On obtient la session de l'objet en cours d'édition au lieur de la session par défaut */
            CSessionClient session = null;
            IObjetDonneeAIdNumeriqueAuto objetDonnee = m_elementEdite as IObjetDonneeAIdNumeriqueAuto;

            if (objetDonnee != null)
            {
                session = CSessionClient.GetSessionForIdSession(objetDonnee.ContexteDonnee.IdSession);
            }
            else
            {
                session = CSessionClient.GetSessionUnique();
            }

            ArrayList lstFormulaires = new ArrayList(m_elementEdite.GetFormulaires());

            lstFormulaires.Sort(new CSorterFormulaires());
            //Lit les champs liés et leurs valeurs
            StringBuilder bl = new StringBuilder();

            foreach (CFormulaire formulaire in lstFormulaires)
            {
                bl.Append(formulaire.Id);
                bl.Append(",");
            }
            if (bl.Length > 0)
            {
                bl.Remove(bl.Length - 1, 1);
                CListeObjetsDonnees lst = new CListeObjetsDonnees(((CFormulaire)lstFormulaires[0]).ContexteDonnee, typeof(CFormulaire));
                lst.Filtre = new CFiltreData(CFormulaire.c_champId + " in (" + bl.ToString() + ")");
                lst.AssureLectureFaite();
                lst.ReadDependances("RelationsChamps", "RelationsChamps.Champ", "RelationsChamps.Champ.ListeValeurs");
            }


            foreach (CFormulaire formulaire in lstFormulaires)
            {
                CRestrictionUtilisateurSurType restriction = new CRestrictionUtilisateurSurType(m_elementEdite.GetType());
                if (session.GetInfoUtilisateur() != null)
                {
                    int?nIdVersion = null;
                    IObjetAContexteDonnee objetAContexte = m_elementEdite as IObjetAContexteDonnee;
                    if (objetAContexte != null)
                    {
                        nIdVersion = objetAContexte.ContexteDonnee.IdVersionDeTravail;
                    }
                    restriction = session.GetInfoUtilisateur().GetRestrictionsSurObjet(m_elementEdite, nIdVersion);
                }

                ERestriction restrictionFormulaire = restriction.GetRestriction(formulaire.CleRestriction);

                if ((restrictionFormulaire & ERestriction.Hide) != ERestriction.Hide)
                {
                    Crownwood.Magic.Controls.TabPage page     = (Crownwood.Magic.Controls.TabPage)m_tableIdFormulaireToTabPage[formulaire.Id];
                    CCreateur2iFormulaire            createur = null;

                    if (page == null)
                    {
                        C2iWndFenetre wnd = formulaire.Formulaire;
                        if (wnd != null)
                        {
                            page = new Crownwood.Magic.Controls.TabPage(wnd.Text);
                            page.SuspendLayout();
                            if (wnd.Text == "")
                            {
                                page.Title = formulaire.Libelle;
                            }
                            TabPages.Add(page);
                            m_tableCreateurs[page]   = null;
                            m_tablePageTo2iWnd[page] = wnd;
                            m_tableIdFormulaireToTabPage[formulaire.Id] = page;
                        }
                    }
                    else
                    {
                        createur = (CCreateur2iFormulaire)m_tableCreateurs[page];
                    }

                    if (page != null)
                    {
                        m_tablePageToRestriction[page] = restrictionFormulaire;
                        if (!TabPages.Contains(page))
                        {
                            TabPages.Add(page);
                        }
                        tablePagesToHide.Remove(page);
                    }
                }
            }

            /*CChampCustom[] champs = ElementEdite.GetChampsHorsFormulaire();
             * if ( champs.Length != 0 )
             * {
             *      UpdatePageChamps( nRest );
             *      if ( m_pageGrid != null )
             *              tablePagesToHide.Remove(m_pageGrid);
             * }*/
            foreach (Crownwood.Magic.Controls.TabPage pageToDel in tablePagesToHide.Keys)
            {
                TabPages.Remove(pageToDel);
            }

            if (TabPages.Count == 1)
            {
                this.HideTabsMode = Crownwood.Magic.Controls.TabControl.HideTabsModes.HideAlways;
            }
            else
            {
                this.HideTabsMode = Crownwood.Magic.Controls.TabControl.HideTabsModes.ShowAlways;
            }
            if (SelectedTab != null)
            {
                InitPageWithObjetCourant(SelectedTab);
            }
            m_bIsInitializing = false;
        }