/// ------------------------------------------------------------------------------------
        public DefineFeatureClassDlgBase(ClassListViewItem classInfo, ClassesDlg classDlg,
                                         FeatureListViewBase lvFeatures, FeatureMask emptyMask)
            : base(classInfo ?? new ClassListViewItem {
            ClassType = SearchClassType.Articulatory
        }, classDlg)
        {
            _lvFeatures = lvFeatures;
            _lvFeatures.Load();
            _lvFeatures.Dock            = DockStyle.Fill;
            _lvFeatures.Visible         = true;
            _lvFeatures.LabelEdit       = false;
            _lvFeatures.FeatureChanged += HandleFeatureChanged;
            _lvFeatures.TabIndex        = _textBoxClassName.TabIndex + 1;
            _lvFeatures.CurrentMask     = (m_classInfo.Mask ?? emptyMask);

            SetupPhoneViewers();
            SetupSplitters();
            SetupRadioButtons();
            UpdateCharacterViewers();
        }
        /// ------------------------------------------------------------------------------------
        public FeaturesDlgBase(FeaturesDlgViewModel viewModel, FeatureListViewBase listView) : this()
        {
            _viewModel = viewModel;
            _listView  = listView;

            BuildPhoneGrid();

            _buttonReset.Margin = new Padding(0, btnOK.Margin.Top, 0, btnOK.Margin.Bottom);
            tblLayoutButtons.Controls.Add(_buttonReset, 0, 0);

            _labelDistinctiveFeaturesSetValue.Text = GetDistinctiveFeaturesSetName();

            _listView.BackColor   = Color.White;
            _listView.ForeColor   = Color.Black;
            _listView.Dock        = DockStyle.Fill;
            _listView.Margin      = new Padding(0);
            _listView.BorderStyle = BorderStyle.None;
            _tableLayout.Controls.Add(_listView, 0, 2);
            _panelPhoneListHeading.ControlReceivingFocusOnMnemonic = _listView;
            _listView.Load();
            _listView.FeatureChanged += delegate { UpdateDisplay(); };
            _listView.DrawItemBackgroundAndGetForeColor = ListViewItemBackgroundPainter;
        }