/// /////////////////////////////////////////////////// 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); }
/// /////////////////////////////////////////////////// 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()); } }
/// /////////////////////////////////////////////////// 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; }
/// /////////////////////////////////////////////////// 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; }
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; }