void Initlize(EntityDef entity, EntityDef.Property property)
        {
            m_entity = entity;

            var strs = (from t in BaseType.AllTypes
                        select t.TypeName()).ToArray();

            m_cbb_type.Items.AddRange(strs);

            if (property == null)
            {
                m_property = new EntityDef.Property();
            }
            else
            {
                m_property = property;
            }

            m_txt_name.Text         = m_property.Name;
            m_cbb_type.SelectedItem = m_property.Type.TypeName();
            m_txt_default.Text      = m_property.Default == null ? "" : m_property.Default;
            m_txt_utype.Text        = m_property.Utype.HasValue ? m_property.Utype.ToString() : "";

            foreach (EntityDef.Flags item in Enum.GetValues(typeof(EntityDef.Flags)))
            {
                m_cbb_flags.Items.Add(item);
            }

            m_cbb_flags.SelectedItem = m_property.Flags;

            m_cb_persistent.Checked   = m_property.Persistent.HasValue ? m_property.Persistent.Value : false;
            m_txt_databaseLength.Text = m_property.DatabaseLength.HasValue ? m_property.DatabaseLength.ToString() : "";

            foreach (EntityDef.IndexType item in Enum.GetValues(typeof(EntityDef.IndexType)))
            {
                m_cbb_index.Items.Add(item);
            }

            m_cbb_index.Items.Add("");

            if (m_property.IndexType.HasValue)
            {
                m_cbb_index.SelectedItem = m_property.IndexType.Value;
            }
            else
            {
                m_cbb_index.SelectedItem = "";
            }
        }
        public PropertyWindow(EntityDef entity, EntityDef.Property property)
        {
            InitializeComponent();

            Initlize(entity, property);
        }