//--------------------------------------------------------------- public void InitChamps(IConteneurEntitesSnmp conteneur, CTypeEntiteSnmp typeEntites) { m_panelEntites.SuspendDrawing(); m_conteneur = conteneur; m_typeEntites = typeEntites; HashSet <string> indexsOuverts = new HashSet <string>(); foreach (Control ctlr in new ArrayList(m_panelEntites.Controls)) { CPanelEditeEntiteSnmp panel = ctlr as CPanelEditeEntiteSnmp; if (panel != null && !panel.IsCollapse && panel.ElementEdite.IsValide()) { indexsOuverts.Add(panel.ElementEdite.Index); } ctlr.Visible = false; m_extModeEdition.SetModeEdition(ctlr, TypeModeEdition.Autonome); m_panelEntites.Controls.Remove(ctlr); try { ctlr.Dispose(); } catch { } } FillEntities(indexsOuverts); m_panelEntites.ResumeDrawing(); }
//--------------------------------------------------------------- private void FillEntities(HashSet <string> indexsOuverts) { if (m_typeEntites != null && m_typeEntites.ModeFormulaire.Code == EModeFormulairePourTypeEntite.FormulaireSurAgent) { if (m_typeEntites.FormulaireUnique != null) { CPanelFormulaireSurElement panel = new CPanelFormulaireSurElement(); panel.InitPanel(m_typeEntites.FormulaireUnique.Formulaire, m_conteneur); m_panelEntites.Controls.Add(panel); panel.Dock = DockStyle.Fill; panel.LockEdition = !m_extModeEdition.ModeEdition; m_extModeEdition.SetModeEdition(panel, TypeModeEdition.EnableSurEdition); } return; } CListeObjetsDonnees lst = m_conteneur.EntitesRacines; lst.Filtre = new CFiltreData(CTypeEntiteSnmp.c_champId + "=@1", m_typeEntites.Id); lst.Tri = CEntiteSnmp.c_champIndex; /*if (lst.Count == 1) * { * CEntiteSnmp entite = lst[0] as CEntiteSnmp; * CPanelChampsCustom panel = new CPanelChampsCustom(); * m_panelEntites.Controls.Add(panel); * panel.Dock = DockStyle.Fill; * panel.LockEdition = !m_extModeEdition.ModeEdition; * m_extModeEdition.SetModeEdition(panel, TypeModeEdition.EnableSurEdition); * panel.ElementEdite = entite; * } * else*/ { foreach (CEntiteSnmp entite in lst) { CPanelEditeEntiteSnmp panel = new CPanelEditeEntiteSnmp(); m_panelEntites.Controls.Add(panel); panel.Dock = DockStyle.Top; panel.Init(entite); panel.BringToFront(); panel.LockEdition = !m_extModeEdition.ModeEdition; m_extModeEdition.SetModeEdition(panel, TypeModeEdition.EnableSurEdition); if (indexsOuverts != null && indexsOuverts.Contains(entite.Index)) { panel.Extend(); } if (lst.Count == 1) { panel.Extend(); panel.TitleHeight = 0; } } } }
//--------------------------------------------------------------- public CResultAErreur MajChamps() { CResultAErreur result = CResultAErreur.True; foreach (Control ctrl in m_panelEntites.Controls) { CPanelChampsCustom panelChamps = ctrl as CPanelChampsCustom; if (panelChamps != null) { result = panelChamps.MAJ_Champs(); if (!result) { result.EmpileErreur(I.T("Erreur on entity @1|20312", panelChamps.ElementEdite.DescriptionElement)); return(result); } } CPanelEditeEntiteSnmp panelSlide = ctrl as CPanelEditeEntiteSnmp; if (panelSlide != null) { result = panelSlide.MajChamps(); if (!result) { result.EmpileErreur(I.T("Erreur on entity @1|20312", panelSlide.ElementEdite.DescriptionElement)); return(result); } } CPanelFormulaireSurElement panelFormulaire = ctrl as CPanelFormulaireSurElement; if (panelFormulaire != null) { result = panelFormulaire.AffecteValeursToElement(); if (!result) { result.EmpileErreur(I.T("Erreur on entity @1|20312", panelSlide.ElementEdite.DescriptionElement)); return(result); } } } return(result); }