} // GetDbPath() private void ShowLexemes() { int iNumLexemes = 0; if (m_Dictionary.eCountLexemes(ref iNumLexemes) != EM_ReturnCode.H_NO_ERROR) { MessageBox.Show(this, "Not in the dictionary.", "Zal Synthesizer"); return; } TabPage tabPageLexemes = new TabPage(m_sSearchString); tabPageLexemes.AutoScroll = true; LexemeDataPanel ldpFocused = null; int iLexeme = 0; CLexemeManaged lex = null; EM_ReturnCode eRet = (EM_ReturnCode)m_Dictionary.eGetFirstLexeme(ref lex); do { if (CErrorCode.bError(eRet)) { continue; } if (eRet != EM_ReturnCode.H_NO_ERROR) { MessageBox.Show(this, "Unable to retrieve lexeme data.", "Zal Synthesizer"); return; } if (lex.sSourceForm() == m_sSearchString) { LexemeDataPanel ldp = new LexemeDataPanel(); m_hashLexemes.Add(ldp, lex); SubscribeToLexemeEvents(ldp); ldp.Location = new System.Drawing.Point(0, iLexeme * ldp.Size.Height + 4); ldp.sInitialForm = lex.sSourceForm(); ldp.sGraphicStem = lex.sGraphicStem(); ldp.iInflectionId = lex.iInflectionId(); ldp.sMainSymbol = lex.sMainSymbol(); ldp.sType = lex.iType().ToString(); ldp.sStressType = (m_hashAccent[lex.eAccentType1()].ToString()); if (lex.eAccentType2() != EM_AccentType.AT_UNDEFINED) { ldp.sStressType += "/" + m_hashAccent[lex.eAccentType2()]; } tabPageLexemes.Controls.Add(ldp); ldp.Left += 20; ldp.Top += 20; if (0 == iLexeme) { ldpFocused = ldp; } ArrayList alTabs = new ArrayList(); m_lexemeToTabs.Add(lex, alTabs); ++iLexeme; } eRet = (EM_ReturnCode)m_Dictionary.eGetNextLexeme(ref lex); } while (EM_ReturnCode.H_NO_ERROR == eRet); tabControl.Controls.Add(tabPageLexemes); tabControl.SelectTab(tabPageLexemes); ldpFocused.FocusShowButton(); } // ShowLexemes()