//------------------------------------------------------
        private void UpdateVisuel()
        {
            KeyValuePair <Type, string>?kv = m_cmbTypeCalcul.SelectedValue as KeyValuePair <Type, string>?;

            if (kv != null)
            {
                if (m_calculEnCours == null || m_calculEnCours.GetType() != kv.Value.Key)
                {
                    m_calculEnCours = Activator.CreateInstance(kv.Value.Key, new object[0]) as IDataHotelCalcul;
                }
                Type typeEditeur = CAllocateurEditeurCalculDataHotel.GetTypeEditeur(kv.Value.Key);
                m_panelCalcul.ClearAndDisposeControls();
                m_editeurEnCours = null;
                if (typeEditeur != null)
                {
                    IEditeurCalculHotel editeur = Activator.CreateInstance(typeEditeur, new object[0]) as IEditeurCalculHotel;
                    if (editeur != null)
                    {
                        Control ctrl = editeur as Control;
                        CWin32Traducteur.Translate(ctrl);
                        ctrl.Parent = m_panelCalcul;
                        ctrl.Dock   = DockStyle.Fill;
                        editeur.Init(m_calculEnCours, m_query, m_table);
                    }
                    m_editeurEnCours = editeur;
                }
            }
        }
 //-------------------------------------------------
 public static void AutoExec()
 {
     CAllocateurEditeurCalculDataHotel.RegisterEditeur(
         typeof(CDataHotelCalculDuration), typeof(CEditeurCalculHotelDuration),
         I.T("Duration|20047"));
 }