Example #1
0
        protected override void ShowPreviewItems(ProgressState state)
        {
            m_bv.BrowseView.Vc.MultiColumnPreview = false;
            var          itemsToChange  = ItemsToChange(false);
            BulkEditItem bei            = m_beItems[m_itemIndex];
            var          phonFeatEditor = bei.BulkEditControl as PhonologicalFeatureEditor;

            if (phonFeatEditor == null)
            {             // User chose to remove the targeted feature
                bei.BulkEditControl.FakeDoit(itemsToChange, XMLViewsDataCache.ktagAlternateValue,
                                             XMLViewsDataCache.ktagItemEnabled, state);
            }
            else
            {
                if (!phonFeatEditor.SelectedItemIsFsFeatStruc)
                {                 // User chose one of the values of the targeted feature
                    phonFeatEditor.FakeDoit(itemsToChange, XMLViewsDataCache.ktagAlternateValue,
                                            XMLViewsDataCache.ktagItemEnabled, state);
                }
                else
                {                   // User built a FsFeatStruc with the features and values to change.
                    // This means we have to find the columns for each feature in the FsFeatStruc and
                    // then show the change for that feature in that column.
                    int    selectedHvo   = phonFeatEditor.SelectedHvo;
                    string selectedLabel = phonFeatEditor.SelectedLabel;

                    string[] featureValuePairs    = phonFeatEditor.FeatureValuePairsInSelectedFeatStruc;
                    var      featureAbbreviations = featureValuePairs.Select(s =>
                    {
                        int i = s.IndexOf(":");
                        return(s.Substring(0, i));
                    });
                    m_bv.BrowseView.Vc.MultiColumnPreview = true;
                    for (int iColumn = 0; iColumn < m_beItems.Count(); iColumn++)
                    {
                        if (m_beItems[iColumn] == null)
                        {
                            continue;
                        }

                        var pfe = m_beItems[iColumn].BulkEditControl as PhonologicalFeatureEditor;
                        if (pfe != null)
                        {
                            pfe.ClearPreviousPreviews(itemsToChange, XMLViewsDataCache.ktagAlternateValueMultiBase + iColumn + 1);
                            if (featureAbbreviations.Contains(pfe.FeatDefnAbbr))
                            {
                                int tempSelectedHvo = pfe.SelectedHvo;
                                pfe.SelectedHvo = selectedHvo;
                                string tempSelectedLabel = pfe.SelectedLabel;
                                pfe.SelectedLabel = selectedLabel;
                                pfe.FakeDoit(itemsToChange, XMLViewsDataCache.ktagAlternateValueMultiBase + iColumn + 1,
                                             XMLViewsDataCache.ktagItemEnabled, state);
                                pfe.SelectedHvo   = tempSelectedHvo;
                                pfe.SelectedLabel = tempSelectedLabel;
                            }
                        }
                    }
                }
            }
        }
Example #2
0
        protected override BulkEditItem MakeItem(XmlNode colSpec)
        {
            BulkEditItem bei = base.MakeItem(colSpec);

            if (bei == null)
            {
                return(null);
            }
            var besc = bei.BulkEditControl as PhonologicalFeatureEditor;

            if (besc != null)
            {
                besc.EnableTargetFeatureCombo +=
                    new EventHandler <TargetFeatureEventArgs>(BulkEditBarPhonologicalFeatures_EnableTargetFeatureCombo);
            }
            return(bei);
        }