/// //////////////////////////////////////////////////////// protected override CResultAErreur MySerialize(C2iSerializer serializer) { int nVersion = GetNumVersion(); CResultAErreur result = serializer.TraiteVersion(ref nVersion); if (!result) { return(result); } result = base.MySerialize(serializer); if (!result) { return(result); } I2iSerializable objet = m_formulaire; result = serializer.TraiteObject(ref objet); if (!result) { return(result); } m_formulaire = (C2iWndFenetre)objet; if (nVersion > 0) { serializer.TraiteBool(ref m_bCanCancel); serializer.TraiteString(ref m_strDescriptif); } return(result); }
//------------------------------------------------------------ /// <summary> /// Récupère la valeur d'un paramètre /// </summary> /// <param name="strParametre"></param> /// <returns></returns> /// <remarks> /// Chaque fenêtre peut posséder des paramètres. /// La valeur par défaut du paramètre peut être défini via une formule, /// cependant, en appellant "SetParameterValue" sur le C2iWnd, la valeur /// par défaut peut être remplacée par une valeur spécifique.<BR></BR> /// Si une fenêtre ne possède pas un paramètre, elle remonte sur les /// fenêtre parentes pour tenter de trouver la valeur du paramètre /// </remarks> public object GetParameter(string strParametre) { C2iWndFenetre wndFenetre = m_controleWnd != null ? m_controleWnd.WndAssociee as C2iWndFenetre : null; if (wndFenetre != null) { object val = wndFenetre.GetValeurForceeParametre(strParametre); if (val != null) { return(val); } strParametre = strParametre.ToUpper(); foreach (CFormuleNommee f in wndFenetre.Parameters) { if (f.Libelle.ToUpper() == strParametre && f.Formule != null) { CContexteEvaluationExpression ctx = new CContexteEvaluationExpression(m_controleWnd.EditedElement); CResultAErreur result = f.Formule.Eval(ctx); if (result) { return(result.Data); } } } } CEncaspuleurControleWndForFormules ctrl = WndContainer as CEncaspuleurControleWndForFormules; if (ctrl != null) { return(ctrl.GetParameter(strParametre)); } return(null); }
// //////////////////////////////////////////////////////////////////////////////////// /// <summary> /// Création des contrôles windows /// </summary> /// <param name="controlParent"></param> /// <param name="wndParent"></param> /// <param name="tooltip"></param> /// <returns></returns> public virtual CResultAErreur CreateControlePrincipalEtChilds( Control controlParent, C2iWnd wndParent, IFournisseurProprietesDynamiques fournisseur) { using (CWaitCursor waiter = new CWaitCursor()) { controlParent.SuspendDrawing(); CResultAErreur result = CResultAErreur.True; m_controlesPrincipaux.Clear(); IControleWndFor2iWnd ctrlPrincipal = CreateControle(wndParent, controlParent, fournisseur); if (ctrlPrincipal != null && ctrlPrincipal.Control != null) { C2iWndFenetre fen = wndParent as C2iWndFenetre; if (fen != null && fen.AutoSize) { ctrlPrincipal.Control.Dock = DockStyle.Top; } else { ctrlPrincipal.Control.Dock = DockStyle.Fill; } } if (ctrlPrincipal != null) { m_controlesPrincipaux.Add(ctrlPrincipal); } controlParent.ResumeDrawing(); return(result); } }
//------------------------------------------------------------------------- protected override CResultAErreur InitChamps() { CResultAErreur result = base.InitChamps(); AffecterTitre(I.T("Form @1|10000", Formulaire.Libelle)); if (result) { //CUtilASauvegardeProfilDesigner.InitialiserProfil( new CContexteSauvegardeProfilDesigner(m_panelEditionFormulaire)); ArrayList lst = new ArrayList(CRoleChampCustom.Roles); foreach (CRoleChampCustom role in lst.ToArray(typeof(CRoleChampCustom))) { if (role.CodeRole == sc2i.custom.CRoleFormulaireSurImpressionWin32.c_roleChampCustom) { lst.Remove(role); } } if (Formulaire.Role != null && Formulaire.Role.CodeRole == sc2i.custom.CRoleFormulaireSurImpressionWin32.c_roleChampCustom) { m_panelLibelle.Visible = false; } else { m_panelLibelle.Visible = true; } m_cmbRoleFormulaire.ListDonnees = lst; m_cmbRoleFormulaire.SelectedValue = Formulaire.Role; C2iWndFenetre fenetre = Formulaire.Formulaire; fenetre.ImageFond = m_imageFond; m_panelEditionFormulaire.ObjetEdite = fenetre; m_panelEditionFormulaire.FournisseurProprietes = m_fournisseurProprietes; RedefinitRoleAssocie(); m_panelEditionFormulaire.TypeEdite = m_typeAssocie; if (m_imageFond != null) { Formulaire.Formulaire.ImageFond = m_imageFond; } CListeObjetsDonnees listeRestrictions = new CListeObjetsDonnees(Formulaire.ContexteDonnee, typeof(CRestrictionChampCustom)); m_wndListeMasquer.Remplir(listeRestrictions); foreach (ListViewItem item in m_wndListeMasquer.Items) { CRestrictionChampCustom rest = (CRestrictionChampCustom)item.Tag; if ((Formulaire.RestrictionsMasquer & (int)Math.Pow(2, rest.ValeurFlag)) != 0) { item.Checked = true; } else { item.Checked = false; } } } return(result); }
//--------------------------------------------------------------- public bool EditeZoneMultiple(C2iWndFenetre fenetre, Type typeEdite, IFournisseurProprietesDynamiques fournisseur) { m_formulaire = fenetre; m_fournisseurProprietes = fournisseur; m_typeEdite = typeEdite; DialogResult result = ShowDialog(); return(true); }
//----------------------------------------------------------------------------------- public bool EditeZoneMultiple( C2iWndFenetre sousFormulaire, Type typeEdite, IFournisseurProprietesDynamiques fournisseur) { CFormEditionZoneMultiple form = new CFormEditionZoneMultiple(); bool bResult = form.EditeZoneMultiple(sousFormulaire, typeEdite, fournisseur); form.Dispose(); return(bResult); }
public void FillInventaireNonRecursifTest5() { // Test Inventaire d'un objet CFiltreDynamique filtreDyn = new CFiltreDynamique(); m_helper.FillInventaireNonRecursifTestHelper <C2iExpression>(filtreDyn); // Asserts Assert.AreEqual(3, m_helper.ListeResultInventaire.Count); // 3 Expressions constante false Assert.AreEqual(1, m_helper.ListeResultHorsInventaire.Count); // 1 Formulaire C2iWndFenetre qui utilise des C2iExpression m_helper.FillInventaireNonRecursifTestHelper <CFiltreData>(filtreDyn); Assert.AreEqual(0, m_helper.ListeResultInventaire.Count); // Assert.AreEqual(0, m_helper.ListeResultHorsInventaire.Count); // C2iWndFenetre fenetre = filtreDyn.FormulaireEdition as C2iWndFenetre; m_helper.FillInventaireNonRecursifTestHelper <C2iExpression>(fenetre); Assert.AreEqual(0, m_helper.ListeResultInventaire.Count); Assert.AreEqual(18, m_helper.ListeResultHorsInventaire.Count); m_helper.FillInventaireNonRecursifTestHelper <CFormuleNommee>(fenetre); Assert.AreEqual(3, m_helper.ListeResultInventaire.Count); Assert.AreEqual(0, m_helper.ListeResultHorsInventaire.Count); m_helper.FillInventaireNonRecursifTestHelper <C2iExpression>(fenetre); Assert.AreEqual(0, m_helper.ListeResultInventaire.Count); Assert.AreEqual(24, m_helper.ListeResultHorsInventaire.Count); // 18 + 3 Formules Nommees + 3 Def Methode Dynamique // Ajout de variables CVariableDynamiqueSaisie varX = new CVariableDynamiqueSaisie(); varX.Nom = "varX"; filtreDyn.AddVariable(varX); CVariableDynamiqueSaisie varY = new CVariableDynamiqueSaisie(); varX.Nom = "varY"; filtreDyn.AddVariable(varY); m_helper.FillInventaireNonRecursifTestHelper <IVariableDynamique>(filtreDyn); Assert.AreEqual(2, m_helper.ListeResultInventaire.Count); Assert.AreEqual(1, m_helper.ListeResultHorsInventaire.Count); m_helper.FillInventaireNonRecursifTestHelper <C2iExpression>(filtreDyn); Assert.AreEqual(3, m_helper.ListeResultInventaire.Count); Assert.AreEqual(5, m_helper.ListeResultHorsInventaire.Count); }
public CGroupeChamps(DataSet ds, CFormulaire formulaire, CTodoTimosWebApp todo, bool bIsInfosSecondaires, bool bIsEditable) { DataTable dt = ds.Tables[c_nomTable]; if (dt == null) { return; } DataRow row = dt.NewRow(); int nIdFormulaire = -1; string strTitreFormulaire = ""; int nOrdreAffichage = 0; if (formulaire != null) { m_formulaire = formulaire; nIdFormulaire = formulaire.Id; C2iWndFenetre fenetre = formulaire.Formulaire; if (fenetre != null && fenetre.Text != "") { strTitreFormulaire = fenetre.Text; } else { strTitreFormulaire = formulaire.Libelle; } nOrdreAffichage = formulaire.NumeroOrdre; } row[c_champId] = nIdFormulaire; row[c_champTitre] = strTitreFormulaire; row[c_champOrdreAffichage] = nOrdreAffichage; row[c_champIsInfosSecondaires] = bIsInfosSecondaires; row[c_champCanAddCaracteristiques] = false; row[c_champTitreCaracteristiques] = ""; row[c_champIsEditable] = bIsEditable; m_row = row; dt.Rows.Add(row); m_todo = todo; m_bIsInfosSecondaires = bIsInfosSecondaires; }
//--------------------------------- public CResultAErreur Serialize(C2iSerializer serializer) { int nVersion = GetNumVersion(); CResultAErreur result = serializer.TraiteVersion(ref nVersion); if (!result) { return(result); } serializer.AttacheObjet(typeof(IElementAVariablesDynamiquesBase), this); result = serializer.TraiteArrayListOf2iSerializable(m_listeVariables); if (!result) { return(result); } result = serializer.TraiteArrayListOf2iSerializable(m_listeDefinitionsJeux, this); if (!result) { return(result); } I2iSerializable objet = m_formulaireEdition; result = serializer.TraiteObject(ref objet); if (!result) { return(result); } m_formulaireEdition = (C2iWndFenetre)objet; serializer.TraiteInt(ref m_nNextIdVariable); serializer.DetacheObjet(typeof(IElementAVariablesDynamiquesBase), this); return(result); }
private void m_btnLoad_Click(object sender, EventArgs e) { OpenFileDialog dlg = new OpenFileDialog(); dlg.Filter = I.T("Form|*.form|All files|*.*|20017"); if (dlg.ShowDialog() == DialogResult.OK) { C2iWndFenetre fenetre = new C2iWndFenetre(); CResultAErreur result = CSerializerObjetInFile.ReadFromFile(fenetre, "FORM", dlg.FileName); if (!result) { CFormAlerte.Afficher(result.Erreur); return; } else { Init(TypeEdite, EntiteEditee, fenetre, FournisseurProprietes); } } }
protected override void MyCreateControle( CCreateur2iFormulaireV2 createur, C2iWnd wnd, Control parent, IFournisseurProprietesDynamiques fournisseurProprietes) { C2iWndFenetre fenetre = wnd as C2iWndFenetre; if (fenetre == null) { return; } CCreateur2iFormulaireV2.AffecteProprietesCommunes(fenetre, m_panel); m_panel.AutoScroll = true; if (fenetre.AutoSize) { m_panel.AutoSize = true; m_panel.AutoSizeMode = AutoSizeMode.GrowAndShrink; } parent.Controls.Add(m_panel); m_errorProvider.ContainerControl = m_panel.FindForm(); }
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; }
//------------------------------------------------------------------------------- private static void EditeFormulaire(Form frm, string strOnglet) { Control ctrl = frm; //Chope l'image du formulaire if (strOnglet != "") { ctrl = GetTabPage(frm, strOnglet); } bool bAvecImage = true; if (strOnglet != "" && ctrl == null) { if (strOnglet == c_idBas || strOnglet == c_idHaut || strOnglet == c_idGauche || strOnglet == c_idGauche) { ctrl = frm; bAvecImage = false; } } if (ctrl == null) { CFormAlerte.Afficher(I.T("Impossible to find page @1|30075", strOnglet), EFormAlerteType.Erreur); return; } Bitmap bmp = null; if (bAvecImage) { bmp = CScreenCopieur.GetWindowImage(ctrl); } CFormulaire formulaire = new CFormulaire(CSc2iWin32DataClient.ContexteCourant); if (!formulaire.ReadIfExists(new CFiltreData( CFormulaire.c_champLibelle + "=@1", GetIdentifiantForm(frm, strOnglet)))) { formulaire.CreateNew(); formulaire.Role = CRoleChampCustom.GetRole(CRoleFormulaireSurImpressionWin32.c_roleChampCustom); formulaire.Libelle = GetIdentifiantForm(frm, strOnglet); C2iWndFenetre wnd = formulaire.Formulaire; wnd.BackColor = ctrl.BackColor; formulaire.Formulaire = wnd; } Type tp = null; if (frm is CFormEditionStdTimos) { try { tp = ((CFormEditionStdTimos)frm).GetObjetEdite().GetType(); } catch { } } if (frm is CFormListeStandardTimos) { try { tp = ((CFormListeStandardTimos)frm).ListeObjets.TypeObjets; } catch {} } /* if (formulaire.IsNew()) * formulaire.TypeElementEdite = tp;*/ List <IControleFormulaireExterne> lstControles = CEncapsuleurControleToControleFormulaireExterne.GetControlesFormulaireExterne(ctrl); CTimosApp.Navigateur.AffichePage(new CFormEditionFormulaireAvance(formulaire, bmp, lstControles, tp)); }
public CMapDatabaseGenerator() { m_formulaireEdition = new C2iWndFenetre(); m_formulaireEdition.Size = new Size(350, 100); m_strLayerId = Guid.NewGuid().ToString(); }
//--------------------------------------------------------------------------------------- public CActionWeb(DataSet ds, CProcessInDb processDb, bool bIsGlobale) { DataTable dt = ds.Tables[c_nomTable]; if (dt == null) { return; } DataRow row = dt.NewRow(); int nId = -1; string strLibelle = ""; string strInstructions = ""; bool bHasForm = false; // Forecer toutes les valeurs par défaut à chaine vide foreach (DataColumn col in dt.Columns) { if (col.DataType == typeof(string)) { if (col.ColumnName.Contains("Label")) { row[col] = "hidden"; } else { row[col] = ""; } } } if (processDb != null) { nId = processDb.Id; strLibelle = processDb.Libelle; strInstructions = processDb.Description; int nIndexTextVar = 1; int nIndexIntVar = 1; int nIndexDateVar = 1; int nIndexBoolVar = 1; // Remplissage des variables CProcess process = processDb.Process; if (process != null) { CActionFormulaire actionFormulaire = null; foreach (CAction action in process.ListeActions) { if (action is CActionFormulaire) { // On trouve le premier bloc Formulaire actionFormulaire = (CActionFormulaire)action; break; } } if (actionFormulaire != null) { bHasForm = true; C2iWndFenetre fenetre = actionFormulaire.Formulaire; ArrayList lstChilds = fenetre.AllChilds(); List <C2iWndVariable> lstWndVariables = new List <C2iWndVariable>(); foreach (object objWnd in lstChilds) { if (objWnd is C2iWndVariable) { lstWndVariables.Add((C2iWndVariable)objWnd); } } lstWndVariables = lstWndVariables.OrderBy(v => v.WebNumOrder).ToList(); foreach (C2iWndVariable wndVariable in lstWndVariables) { CVariableDynamique variable = wndVariable.Variable as CVariableDynamique; if (wndVariable.WebLabel != "" && variable != null && variable is CVariableDynamiqueSaisie) { CVariableDynamiqueSaisie variableSaisie = (CVariableDynamiqueSaisie)variable; bool bIsChoixParmis = variableSaisie.IsChoixParmis(); StringBuilder sbValeurs = new StringBuilder(); if (bIsChoixParmis) { foreach (CValeurVariableDynamiqueSaisie val in variableSaisie.Valeurs) { sbValeurs.Append(val.Value + "#" + val.Display + "#"); } sbValeurs.Remove(sbValeurs.Length - 1, 1); } //string valeurs = sbValeurs.ToString(); switch (variableSaisie.TypeDonnee2i.TypeDonnee) { case TypeDonnee.tEntier: if (nIndexIntVar <= 3) { row["IdVarInt" + nIndexIntVar] = variable.IdVariable; row["LabelVarInt" + nIndexIntVar] = wndVariable.WebLabel; row["ValeursVarInt" + nIndexIntVar] = sbValeurs.ToString(); nIndexIntVar++; } break; case TypeDonnee.tDouble: if (nIndexTextVar <= 9) { row["IdVarText" + nIndexTextVar] = variable.IdVariable; row["LabelVarText" + nIndexTextVar] = wndVariable.WebLabel; row["ValeursVarText" + nIndexTextVar] = sbValeurs.ToString(); nIndexTextVar++; } break; case TypeDonnee.tString: if (nIndexTextVar <= 9) { row["IdVarText" + nIndexTextVar] = variable.IdVariable; row["LabelVarText" + nIndexTextVar] = wndVariable.WebLabel; row["ValeursVarText" + nIndexTextVar] = sbValeurs.ToString(); nIndexTextVar++; } break; case TypeDonnee.tDate: if (nIndexDateVar <= 3) { row["IdVarDate" + nIndexDateVar] = variable.IdVariable; row["LabelVarDate" + nIndexDateVar] = wndVariable.WebLabel; nIndexDateVar++; } break; case TypeDonnee.tBool: if (nIndexBoolVar <= 3) { row["IdVarBool" + nIndexBoolVar] = variable.IdVariable; row["LabelVarBool" + nIndexBoolVar] = wndVariable.WebLabel; nIndexBoolVar++; } break; case TypeDonnee.tObjetDonneeAIdNumeriqueAuto: break; default: break; } } } } else { // C'est un process sans formulaire bHasForm = false; } } } row[c_champId] = nId; row[c_champLibelle] = strLibelle; row[c_champInstructions] = strInstructions; row[c_champIsGlobale] = bIsGlobale; row[c_champHasForm] = bHasForm; m_row = row; dt.Rows.Add(row); }
public void InitPanel(C2iWnd formulaire, object elementEdite) { if (elementEdite == null) { return; } C2iWndFenetre fenetre = formulaire as C2iWndFenetre; bool bAutoSize = false; if (fenetre != null) { bAutoSize = fenetre.AutoSize; } m_createur = null; C2iWnd wnd = formulaire; //Supprime le panel stockant les controls if (m_panelFormulaire != null) { m_panelFormulaire.Visible = false; m_panelFormulaire.Dispose(); m_panelFormulaire = null; } if (wnd != null) { m_panelFormulaire = new Panel(); m_panelFormulaire.Parent = this; if (bAutoSize) { m_panelFormulaire.Dock = DockStyle.Top; AutoSizeMode = AutoSizeMode.GrowAndShrink; AutoSize = true; m_panelFormulaire.AutoSizeMode = AutoSizeMode; m_panelFormulaire.AutoSize = AutoSize; } else { m_panelFormulaire.Dock = DockStyle.Top; m_panelFormulaire.AutoSize = false; m_panelFormulaire.Height = formulaire.Size.Height; } m_panelFormulaire.BackColor = wnd.BackColor; m_panelFormulaire.ForeColor = wnd.ForeColor; m_panelFormulaire.Visible = true; m_panelFormulaire.Font = wnd.Font; foreach (GetCreateurForObjectDelegate del in m_listGetCreateurs) { del(elementEdite, ref m_createur); if (m_createur != null) { break; } } if (m_createur == null) { /* * if (objetDonnee != null) * m_createur = new CCreateur2iFormulaireObjetDonnee(objetDonnee.ContexteDonnee.IdSession); * else*/ m_createur = new CCreateur2iFormulaireV2(); } IFournisseurProprietesDynamiques fournisseur = m_createur.FournisseurProprietes; if (elementEdite is IFournisseurProprietesDynamiques) { fournisseur = (IFournisseurProprietesDynamiques)elementEdite; } if (fournisseur == null) { fournisseur = new CFournisseurGeneriqueProprietesDynamiques(); } m_createur.ControleValeursAvantValidation = true; m_createur.CreateControlePrincipalEtChilds(m_panelFormulaire, wnd, fournisseur); m_createur.ElementEdite = elementEdite; m_createur.LockEdition = m_bLockEdition; } }
public void UpdateOnglets() { this.SuspendDrawing(); try { /*if (!LockEdition) * { * //valide les modifs car on va tout supprimer * MAJ_Champs(); * }*/ Crownwood.Magic.Controls.TabPage pageSelect = this.SelectedTab; m_bIsInitializing = true; Hashtable tablePagesToHide = new Hashtable(); ArrayList pages = new ArrayList(TabPages); foreach (Crownwood.Magic.Controls.TabPage page in pages) { m_tablePagesInit[page] = false; tablePagesToHide[page] = true; TabPages.Remove(page); } 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; IObjetDonneeAIdNumerique objetDonnee = m_elementEdite as IObjetDonneeAIdNumerique; if (objetDonnee != null) { session = CSessionClient.GetSessionForIdSession(objetDonnee.ContexteDonnee.IdSession); } else { session = CSessionClient.GetSessionUnique(); } ArrayList lstFormulaires = new ArrayList(m_listeFormulaires); 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) { Crownwood.Magic.Controls.TabPage page = null; m_tableIdFormulaireToTabPage.TryGetValue(formulaire.Id, out page); CCreateur2iFormulaireObjetDonnee createur = null; if (page == null) { C2iWndFenetre wnd = formulaire.Formulaire; if (wnd != null) { page = new Crownwood.Magic.Controls.TabPage(wnd.Text); page.Name = formulaire.IdUniversel; if (wnd.Text == "") { page.Title = formulaire.Libelle; } TabPages.Add(page); if (m_tableCreateurs.ContainsKey(page)) { m_tableCreateurs.Remove(page); } m_tablePageTo2iWnd[page] = wnd; m_tableIdFormulaireToTabPage[formulaire.Id] = page; m_tablePageToIdFormulaire[page] = formulaire.Id; } } else { m_tableCreateurs.TryGetValue(page, out createur); } if (page != null) { 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) { if (TabPages.Contains(pageToDel)) { 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 (TabPages.Contains(pageSelect)) { SelectedTab = pageSelect; } if (SelectedTab != null) { InitPageWithObjetCourant(SelectedTab); } } finally { this.ResumeDrawing(); } m_bIsInitializing = false; }