예제 #1
0
 private void AfterSelect(TreeNode node)
 {
     if (!LockEdition && m_controleEdition != null)
     {
         m_controleEdition.MajChamps();
         m_nodeEdite.Text = ((CFolderConsultationHierarchique)m_nodeEdite.Tag).Libelle;
     }
     if (m_controleEdition != null)
     {
         ((Control)m_controleEdition).Visible = false;
     }
     m_controleEdition = null;
     m_nodeEdite       = null;
     if (node != null)
     {
         CFolderConsultationHierarchique folder = node.Tag as CFolderConsultationHierarchique;
         if (folder != null)
         {
             Type tpFolder = folder.GetType();
             IPanelEditionFolderConsultation panelEdition = null;
             if (!m_dicoControles.TryGetValue(tpFolder, out panelEdition))
             {
                 Type tpEditeur = null;
                 if (m_dicTypeToTypeEditeur.TryGetValue(tpFolder, out tpEditeur))
                 {
                     panelEdition = Activator.CreateInstance(tpEditeur) as IPanelEditionFolderConsultation;
                     if (panelEdition != null)
                     {
                         Control ctrl = panelEdition as Control;
                         ctrl.Parent = m_panelEdition;
                         m_panelEdition.Controls.Add(ctrl);
                         ctrl.Dock = DockStyle.Fill;
                         m_dicoControles[tpFolder] = panelEdition;
                     }
                 }
             }
             if (panelEdition != null)
             {
                 ((Control)panelEdition).Visible = true;
                 panelEdition.InitChamps(folder);
                 ((IControlALockEdition)panelEdition).LockEdition = !m_extModeEdition.ModeEdition;
             }
             m_controleEdition = panelEdition;
             m_nodeEdite       = node;
         }
     }
 }