コード例 #1
0
        /// <summary>
        /// Initialize the combo contents.
        /// </summary>
        public void SetupCombo()
        {
            CheckDisposed();

            ITsStrBldr builder = TsStrBldrClass.Create();

            m_fInitializing = true;
            int wordformHvo = m_owner.GetWordformHvoOfAnalysis();

            // Add the analyses, and recursively the other items.
            foreach (int hvoAnalysis in m_cache.GetVectorProperty(wordformHvo,
                                                                  (int)WfiWordform.WfiWordformTags.kflidAnalyses, false))
            {
                IWfiAnalysis wa = (IWfiAnalysis)CmObject.CreateFromDBObject(m_cache,
                                                                            hvoAnalysis,
                                                                            CmObject.GetTypeFromFullClassName(m_cache, "SIL.FieldWorks.FDO.Ling.WfiAnalysis"),
                                                                            false, false);
                Opinions o = wa.GetAgentOpinion(
                    m_cache.LangProject.DefaultUserAgent);
                // skip any analysis the user has disapproved.
                if (o != Opinions.disapproves)
                {
                    AddAnalysisItems(hvoAnalysis);
                    AddSeparatorLine();
                }
            }

            // Add option to clear the analysis altogeter.
            AddItem(wordformHvo, MakeSimpleString(ITextStrings.ksNewAnalysis), false, WfiWordform.kclsidWfiWordform);
            // Add option to reset to the default
            AddItem(0, MakeSimpleString(ITextStrings.ksUseDefaultAnalysis), false);

            m_fInitializing = false;
        }