예제 #1
0
        //----------------------------------------------------------------------------
        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();
        }
예제 #2
0
        //----------------------------------------------------------------------------
        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);
        }