[Amis-vcs] SF.net SVN: amis: [2426] branches/amis3
Brought to you by:
julienq,
marisademeglio
From: <dan...@us...> - 2008-03-18 03:42:07
|
Revision: 2426 http://amis.svn.sourceforge.net/amis/?rev=2426&view=rev Author: daniel_weck Date: 2008-03-17 20:42:12 -0700 (Mon, 17 Mar 2008) Log Message: ----------- enabled arrow key interactive navigation of publication summary, corrected a typo in the XML Modified Paths: -------------- branches/amis3/AmisGuiMFC2/include/gui/dialogs/PublicationSummaryDialog.h branches/amis3/AmisGuiMFC2/src/gui/dialogs/PublicationSummaryDialog.cpp branches/amis3/AmisGuiMFC2/src/gui/self-voicing/TTSPlayer.cpp branches/amis3/DefaultLangpack/amisAccessibleUi.xml Modified: branches/amis3/AmisGuiMFC2/include/gui/dialogs/PublicationSummaryDialog.h =================================================================== --- branches/amis3/AmisGuiMFC2/include/gui/dialogs/PublicationSummaryDialog.h 2008-03-18 03:10:52 UTC (rev 2425) +++ branches/amis3/AmisGuiMFC2/include/gui/dialogs/PublicationSummaryDialog.h 2008-03-18 03:42:12 UTC (rev 2426) @@ -47,6 +47,8 @@ protected: virtual BOOL OnInitDialog(); afx_msg void OnPaint(); + + afx_msg void OnLvnItemchangedSummary(NMHDR *pNMHDR, LRESULT *pResult); virtual void DoDataExchange(CDataExchange*); DECLARE_MESSAGE_MAP() Modified: branches/amis3/AmisGuiMFC2/src/gui/dialogs/PublicationSummaryDialog.cpp =================================================================== --- branches/amis3/AmisGuiMFC2/src/gui/dialogs/PublicationSummaryDialog.cpp 2008-03-18 03:10:52 UTC (rev 2425) +++ branches/amis3/AmisGuiMFC2/src/gui/dialogs/PublicationSummaryDialog.cpp 2008-03-18 03:42:12 UTC (rev 2426) @@ -38,7 +38,8 @@ BEGIN_MESSAGE_MAP(PublicationSummaryDialog, CDialog) ON_WM_KEYUP() ON_WM_KEYDOWN() - ON_WM_PAINT() + ON_WM_PAINT() + ON_NOTIFY(LVN_ITEMCHANGED, IDC_SUMMARYLIST, OnLvnItemchangedSummary) END_MESSAGE_MAP() PublicationSummaryDialog::PublicationSummaryDialog(CWnd* pParent /*=NULL*/) @@ -86,11 +87,19 @@ if (p_wnd) { int id = p_wnd->GetDlgCtrlID(); + + if (id = IDC_SUMMARYLIST && (pMsg->wParam == VK_UP || pMsg->wParam == VK_DOWN)) + { + return CDialog::PreTranslateMessage(pMsg); + } + + //inexplicably, the default behavior for pressing enter in a dialog is to close it. //we're overriding this here. if (pMsg->wParam == VK_RETURN) { //do nothing + //return CDialog::PreTranslateMessage(pMsg); } } } @@ -295,6 +304,44 @@ return value; } + +void PublicationSummaryDialog::OnLvnItemchangedSummary(NMHDR *pNMHDR, LRESULT *pResult) +{ + LPNMLISTVIEW pNMLV = reinterpret_cast<LPNMLISTVIEW>(pNMHDR); + if (pNMLV->iItem != -1) { + if (pNMLV->uNewState == 3) { + + CListCtrl* p_ctrl_list = (CListCtrl*)this->GetDlgItem(IDC_SUMMARYLIST); + //int i = p_ctrl_list->GetSelectionMark(); // Should = pNMLV->iItem + int i = pNMLV->iItem; + + Dialog* p_dlg = DataTree::Instance()->findDialog(IDD_PUBLICATIONSUMMARY); + + if (p_dlg != NULL) + { + DialogControl* p_ctrl = p_dlg->findControl(IDC_SUMMARYLIST); + if (p_ctrl != NULL) + { + LabelList* p_list = p_ctrl->getLabelList(); + if (p_list != NULL) + { + Prompt* p_prompt = p_list->getLabel(i)->getPrompt(); + if (p_prompt != NULL) + { + AudioSequence* seq = new AudioSequence(); + AudioSequencePlayer::Instance()->fillSequencePrompt(seq, p_prompt, NULL); + if (seq->IsEmpty()) {delete seq;}else{ + AudioSequencePlayer::Instance()->Play(seq); + } + } + } + } + } + } + } + *pResult = 0; +} + void PublicationSummaryDialog::resolvePromptVariables(Prompt* pPrompt) { PromptVar* p_var = NULL; @@ -519,8 +566,8 @@ void PublicationSummaryDialog::appendToList(CListCtrl* pList, CString field, wstring value) { - //don't add empty items - if (value.size() == 0) return; + //don't add empty items (no anymore: to match self-voicing exactly, and to support interactive navigation in the list) + //if (value.size() == 0) return; int idx = pList->GetItemCount(); pList->InsertItem(idx, _T("")); pList->SetItemText(idx, 0, field); Modified: branches/amis3/AmisGuiMFC2/src/gui/self-voicing/TTSPlayer.cpp =================================================================== --- branches/amis3/AmisGuiMFC2/src/gui/self-voicing/TTSPlayer.cpp 2008-03-18 03:10:52 UTC (rev 2425) +++ branches/amis3/AmisGuiMFC2/src/gui/self-voicing/TTSPlayer.cpp 2008-03-18 03:42:12 UTC (rev 2426) @@ -86,11 +86,12 @@ USES_CONVERSION; #endif - TRACE(L"******"); + TRACE(L"\n*-*=*+*"); TRACE(str); if (IsSpeaking()) { TRACE("????????"); } + TRACE("\n"); #ifdef USE_WSTRING @@ -104,6 +105,7 @@ void TTSPlayer::Stop() { + TRACE(_T("\nStop TTS\r\n") ); m_iV->Speak(NULL, SPF_ASYNC | SPF_PURGEBEFORESPEAK, NULL); m_isSpeaking = FALSE; @@ -141,13 +143,13 @@ switch( event.eEventId ) { case SPEI_START_INPUT_STREAM: - TRACE(_T("StartStream event\r\n") ); + TRACE(_T("\nStartStream event\r\n") ); ((TTSPlayer *)lParam)->m_isSpeaking = TRUE; break; case SPEI_END_INPUT_STREAM: - TRACE(_T("EndStream event\r\n") ); + TRACE(_T("\nEndStream event\r\n") ); ((TTSPlayer *)lParam)->m_isSpeaking = FALSE; @@ -156,7 +158,7 @@ break; case SPEI_VOICE_CHANGE: - TRACE(_T("Voicechange event\r\n") ); + TRACE(_T("\nVoicechange event\r\n") ); break; Modified: branches/amis3/DefaultLangpack/amisAccessibleUi.xml =================================================================== --- branches/amis3/DefaultLangpack/amisAccessibleUi.xml 2008-03-18 03:10:52 UTC (rev 2425) +++ branches/amis3/DefaultLangpack/amisAccessibleUi.xml 2008-03-18 03:42:12 UTC (rev 2426) @@ -1396,7 +1396,7 @@ <promptItem refid="ok_button_description"/> </description> </control> - <control mfcid="IDC_SUMMARY" widget="list"> + <control mfcid="IDC_SUMMARYLIST" widget="list"> <caption mfcid="IDC_LISTCAPTION"> <!--changed text--> <text id="t214">Information about this publication and your current position:</text> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |