public static IEditeurParametreIconeGantt GetEditeurForType(Type tp) { Type tpControl; if (!m_dicTypeParametreIcone_TypeEditeur.TryGetValue(tp, out tpControl)) { return(null); } object objControl = Activator.CreateInstance(tpControl); IEditeurParametreIconeGantt control = objControl as IEditeurParametreIconeGantt; if (control == null) { return(null); } return(control); }
//-------------------------------------------------------------- public CResultAErreur MajChamps() { CResultAErreur result = CResultAErreur.True; List <IParametreIconeGantt> lstIcones = new List <IParametreIconeGantt>(); foreach (Control ctrl in m_panelIcones.Controls) { IEditeurParametreIconeGantt editeur = ctrl as IEditeurParametreIconeGantt; if (editeur != null) { editeur.MajChamps(); lstIcones.Add(editeur.ParametreIconeGantt); } } m_parametre.ParametresIcones = lstIcones.ToArray(); return(result); }
//---------------------------------------------------------------------- private void AjouterControlIcone(IParametreIconeGantt param) { Type tpIcone = param.GetType(); m_dicTypeParametreIcone_presenceControl[tpIcone] = true; // Ajoute un controle correspondant au type à éditer IEditeurParametreIconeGantt newControl = CAllocateurEditeurParametreIconeGantt.GetEditeurForType(tpIcone); if (newControl != null) { ((Control)newControl).Dock = DockStyle.Top; newControl.DeleteIconeEventHendler += new EventHandler(newControl_DeleteIconeEventHendler); newControl.LockEdition = !m_extModeEdition.ModeEdition; newControl.Init(param); CWin32Traducteur.Translate(newControl); m_panelIcones.Controls.Add((Control)newControl); ((Control)newControl).BringToFront(); } }