//---------------------------------------------------------------------------- private void UpdateVisuel() { if (m_source != null) { m_imageType.Image = m_source.GetImage(); Type tp = GetTypeEditeur(m_source.GetType()); if (m_currentEditeur != null && m_currentEditeur.GetType() != tp) { m_panelEditeur.Controls.Remove((Control)m_currentEditeur); m_currentEditeur = null; } IEditeurSourceSmartImport editeur = GetEditeur(m_source); if (editeur != null) { m_currentEditeur = editeur; ((Control)m_currentEditeur).Dock = DockStyle.Fill; m_panelEditeur.Controls.Add((Control)m_currentEditeur); editeur.SetIsDrawingImage(m_bIsDrawingImage); editeur.SetSource(m_source, m_currentItem); } } else { m_imageType.Image = CSourceSmartImport.GetImage(typeof(CSourceSmartImportNoImport)); if (m_currentEditeur != null) { m_panelEditeur.Controls.Remove((Control)m_currentEditeur); } m_currentEditeur = null; } UpdateVisuelOnlyOnCreate(); }
//---------------------------------------------------------------------------- private IEditeurSourceSmartImport GetEditeur(CSourceSmartImport source) { if (source == null) { return(null); } IEditeurSourceSmartImport editeur = null; if (!m_dicEditeurs.TryGetValue(source.GetType(), out editeur)) { Type tp = GetTypeEditeur(source.GetType()); if (tp != null) { editeur = Activator.CreateInstance(tp, new object[0]) as IEditeurSourceSmartImport; if (editeur != null) { m_dicEditeurs[source.GetType()] = editeur; editeur.SourceTable = m_sourceTable; editeur.ValueChanged += editeur_ValueChanged; } } } return(editeur); }