private void DisplayItemProperties(TreeNode node) { if (m_bIsFillingTree) { return; } object item = node != null?node.Tag:null; if (m_editeurEnCours != null) { ((Control)m_editeurEnCours).Visible = false; m_panelPropriétés.Controls.Remove((Control)m_editeurEnCours); } m_editeurEnCours = null; m_nodeEdite = null; if (item != null) { m_dicEditeursAlloues.TryGetValue(item.GetType(), out m_editeurEnCours); } if (m_editeurEnCours == null && item != null) { Type tpEditeur = CGestionnaireEditionItemCarte.GetTypeEditeur(item.GetType()); if (tpEditeur != null) { m_editeurEnCours = Activator.CreateInstance(tpEditeur) as IEditeurItemCarte; CWin32Traducteur.Translate(m_editeurEnCours); m_editeurEnCours.OnModification += m_editeurEnCours_OnModification; if (m_editeurEnCours != null) { m_dicEditeursAlloues[item.GetType()] = m_editeurEnCours; } } } if (m_editeurEnCours != null) { Control ctrl = m_editeurEnCours as Control; ctrl.Dock = DockStyle.Fill; ctrl.Parent = m_panelPropriétés; ctrl.Visible = true; m_editeurEnCours.Init(item); m_nodeEdite = node; m_editeurEnCours.LockEdition = !m_gestionnaireModeEdition.ModeEdition; } TreeNode nodeWithElementDeGpsCarte = GetNodeIElementDeGpsCarte(node);; if (nodeWithElementDeGpsCarte != null) { ShowMovePoints(nodeWithElementDeGpsCarte.Tag as IElementDeGPSCarte); } }
//--------------------------------------------------------- public static void Autoexec() { CGestionnaireEditionItemCarte.RegisterEditeur(typeof(CGPSLineSegment), typeof(CControleEditeGpsSegment)); }