Пример #1
0
        /// <summary>
        /// Override method to handle launching of a chooser for selecting lexical entries.
        /// </summary>
        protected override void HandleChooser()
        {
            ILexRefType lrt = LexRefType.CreateFromDBObject(m_cache, m_obj.OwnerHVO);

            LexRefType.MappingTypes type = (LexRefType.MappingTypes)lrt.MappingType;
            BaseGoDlg dlg = null;

            switch (type)
            {
            case LexRefType.MappingTypes.kmtSensePair:
            case LexRefType.MappingTypes.kmtSenseAsymmetricPair:                     // Sense pair with different Forward/Reverse names
                dlg = new LinkEntryOrSenseDlg();
                (dlg as LinkEntryOrSenseDlg).SelectSensesOnly = true;
                break;

            case LexRefType.MappingTypes.kmtEntryPair:
            case LexRefType.MappingTypes.kmtEntryAsymmetricPair:                     // Entry pair with different Forward/Reverse names
                dlg = new GoDlg();
                break;

            case LexRefType.MappingTypes.kmtEntryOrSensePair:
            case LexRefType.MappingTypes.kmtEntryOrSenseAsymmetricPair:                     // Entry or sense pair with different Forward/Reverse
                dlg = new LinkEntryOrSenseDlg();
                (dlg as LinkEntryOrSenseDlg).SelectSensesOnly = false;
                break;
            }
            Debug.Assert(dlg != null);
            WindowParams wp = new WindowParams();

            //on creating Pair Lexical Relation have an Add button and Add in the title bar
            if (TargetHvo == 0)
            {
                wp.m_title = String.Format(LexEdStrings.ksIdentifyXEntry,
                                           lrt.Name.AnalysisDefaultWritingSystem);
                wp.m_btnText = LexEdStrings.ks_Add;
            }
            else             //Otherwise we are Replacing the item
            {
                wp.m_title   = String.Format(LexEdStrings.ksReplaceXEntry);
                wp.m_btnText = LexEdStrings.ks_Replace;
            }

            wp.m_label = LexEdStrings.ksFind_;

            dlg.SetDlgInfo(m_cache, wp, m_mediator);
            dlg.SetHelpTopic("khtpChooseLexicalRelationAdd");
            if (dlg.ShowDialog(FindForm()) == DialogResult.OK)
            {
                TargetHvo = dlg.SelectedID;
            }
            dlg.Dispose();
        }
Пример #2
0
        /// <summary>
        /// Override method to handle launching of a chooser for selecting lexical entries.
        /// </summary>
        protected override void HandleChooser()
        {
            ILexRefType lrt = LexRefType.CreateFromDBObject(m_cache, m_obj.OwnerHVO);

            LexRefType.MappingTypes type = (LexRefType.MappingTypes)lrt.MappingType;
            BaseGoDlg dlg    = null;
            string    sTitle = "";

            switch (type)
            {
            case LexRefType.MappingTypes.kmtSenseCollection:
                dlg = new LinkEntryOrSenseDlg();
                (dlg as LinkEntryOrSenseDlg).SelectSensesOnly = true;
                sTitle = String.Format(LexEdStrings.ksIdentifyXSense,
                                       lrt.Name.BestAnalysisAlternative.Text);
                break;

            case LexRefType.MappingTypes.kmtEntryCollection:
                dlg    = new GoDlg();
                sTitle = String.Format(LexEdStrings.ksIdentifyXLexEntry,
                                       lrt.Name.BestAnalysisAlternative.Text);
                break;

            case LexRefType.MappingTypes.kmtEntryOrSenseCollection:
                dlg    = new LinkEntryOrSenseDlg();
                sTitle = String.Format(LexEdStrings.ksIdentifyXLexEntryOrSense,
                                       lrt.Name.BestAnalysisAlternative.Text);
                break;
            }
            Debug.Assert(dlg != null);
            WindowParams wp = new WindowParams();

            wp.m_title   = sTitle;
            wp.m_label   = LexEdStrings.ksFind_;
            wp.m_btnText = LexEdStrings.ks_Add;             //for collection relation of items always have an Add button
            dlg.SetDlgInfo(m_cache, wp, m_mediator);
            dlg.SetHelpTopic("khtpChooseLexicalRelationAdd");
            if (dlg.ShowDialog(FindForm()) == DialogResult.OK)
            {
                AddItem(dlg.SelectedID);
            }
            dlg.Dispose();
        }