=================================================================== RCS file: /home/cvs/OpenXM_contrib2/windows/asir32gui/asir32guiview.cpp,v retrieving revision 1.9 retrieving revision 1.12 diff -u -p -r1.9 -r1.12 --- OpenXM_contrib2/windows/asir32gui/asir32guiview.cpp 2005/03/09 07:34:20 1.9 +++ OpenXM_contrib2/windows/asir32gui/asir32guiview.cpp 2005/05/16 00:52:48 1.12 @@ -68,8 +68,17 @@ BEGIN_MESSAGE_MAP(CAsir32guiView, CEditView) ON_COMMAND(IDR_FONT, OnFont) ON_WM_CREATE() ON_COMMAND(ID_CONTRIBHELP, OnContribhelp) - ON_UPDATE_COMMAND_UI(ID_CONTRIBHELP, OnUpdateContribhelp) ON_WM_SIZE() + ON_COMMAND(ID_DSOLV, OnDsolv) + ON_COMMAND(ID_GNUPLOT, OnGnuplot) + ON_COMMAND(ID_OKDIFF, OnOkdiff) + ON_COMMAND(ID_OKDMODULE, OnOkdmodule) + ON_COMMAND(ID_OM, OnOm) + ON_COMMAND(ID_PFPCOH, OnPfpcoh) + ON_COMMAND(ID_PLUCKER, OnPlucker) + ON_COMMAND(ID_SM1, OnSm1) + ON_COMMAND(ID_TIGERS, OnTigers) + ON_COMMAND(ID_TODOPARAMETRIZE, OnTodoparametrize) //}}AFX_MSG_MAP // 標準印刷コマンド // ON_COMMAND(ID_FILE_PRINT, CEditView::OnFilePrint) @@ -306,7 +315,7 @@ void CAsir32guiView::Paste(void) { } hClip = GetClipboardData(CF_TEXT); src = (const char *)::GlobalLock(hClip); - if ( !src || (l = strlen(src)) >= sizeof(Buffer) ) { + if ( !src || (l=strlen(src)) >= sizeof(Buffer)-EndPos ) { ::CloseClipboard(); Beep(); return; } @@ -316,12 +325,13 @@ void CAsir32guiView::Paste(void) { buf[j] = 0; ::GlobalUnlock(hClip); ::CloseClipboard(); - if ( EndPos+j >= sizeof(Buffer)-1 ) { - Beep(); return; - } GetEditCtrl().ReplaceSel(buf); - strncpy(Buffer+EndPos,buf,j); - EndPos += j; CurrentPos = EndPos; + l = strlen(buf); + for ( i = EndPos-1; i >= CurrentPos; i-- ) + Buffer[i+l] = Buffer[i]; + for ( j = 0, i = CurrentPos; j < l; j++, i++ ) + Buffer[i] = buf[j]; + EndPos += l; CurrentPos += l; } #define CTRL(c) (c)&0x1f @@ -483,8 +493,8 @@ void CAsir32guiView::OnAsirhelp() char root[BUFSIZ],errmsg[BUFSIZ],helpfile[BUFSIZ]; get_rootdir(root,sizeof(root),errmsg); - sprintf(helpfile,"%s\\bin\\asirhelp.chm",root); - HtmlHelp(NULL, helpfile, HH_DISPLAY_TOPIC, 0); + sprintf(helpfile,"%s\\help\\asirhelp.chm",root); + ::HtmlHelp(NULL, helpfile, HH_DISPLAY_TOPIC, 0); } void CAsir32guiView::OnFileLog() @@ -586,30 +596,123 @@ void CAsir32guiView::OnContribhelp() char root[BUFSIZ],errmsg[BUFSIZ],helpfile[BUFSIZ]; get_rootdir(root,sizeof(root),errmsg); - sprintf(helpfile,"%s\\bin\\cmanhelp.chm",root); - HtmlHelp(NULL, helpfile, HH_DISPLAY_TOPIC, 0); + sprintf(helpfile,"%s\\help\\cmanhelp.chm",root); + ::HtmlHelp(NULL, helpfile, HH_DISPLAY_TOPIC, 0); } -void CAsir32guiView::OnUpdateContribhelp(CCmdUI* pCmdUI) +void CAsir32guiView::OnSize(UINT nType, int cx, int cy) { - // TODO: この位置に command update UI ハンドラ用のコードを追加してください + CEditView::OnSize(nType, cx, cy); + + // TODO: この位置にメッセージ ハンドラ用のコードを追加してください + UpdateMetrics(); +} + +void CAsir32guiView::OnDsolv() +{ + // TODO: この位置にコマンド ハンドラ用のコードを追加してください char root[BUFSIZ],errmsg[BUFSIZ],helpfile[BUFSIZ]; - if ( getenv("OpenXM_WIN_ROOT") ) { - get_rootdir(root,sizeof(root),errmsg); - sprintf(helpfile,"%s\\bin\\cmanhelp.chm",root); - if ( _access(helpfile,04) != -1 ) { - pCmdUI->Enable( TRUE ); - return; - } - } - pCmdUI->Enable( FALSE ); + get_rootdir(root,sizeof(root),errmsg); + sprintf(helpfile,"%s\\help\\dsolvhelp.chm",root); + ::HtmlHelp(NULL, helpfile, HH_DISPLAY_TOPIC, 0); } -void CAsir32guiView::OnSize(UINT nType, int cx, int cy) +void CAsir32guiView::OnGnuplot() { - CEditView::OnSize(nType, cx, cy); + // TODO: この位置にコマンド ハンドラ用のコードを追加してください + char root[BUFSIZ],errmsg[BUFSIZ],helpfile[BUFSIZ]; + + get_rootdir(root,sizeof(root),errmsg); + sprintf(helpfile,"%s\\help\\gnuplothelp.chm",root); + ::HtmlHelp(NULL, helpfile, HH_DISPLAY_TOPIC, 0); - // TODO: この位置にメッセージ ハンドラ用のコードを追加してください - UpdateMetrics(); +} + +void CAsir32guiView::OnOkdiff() +{ + // TODO: この位置にコマンド ハンドラ用のコードを追加してください + char root[BUFSIZ],errmsg[BUFSIZ],helpfile[BUFSIZ]; + + get_rootdir(root,sizeof(root),errmsg); + sprintf(helpfile,"%s\\help\\ok_diffhelp.chm",root); + ::HtmlHelp(NULL, helpfile, HH_DISPLAY_TOPIC, 0); + +} + +void CAsir32guiView::OnOkdmodule() +{ + // TODO: この位置にコマンド ハンドラ用のコードを追加してください + char root[BUFSIZ],errmsg[BUFSIZ],helpfile[BUFSIZ]; + + get_rootdir(root,sizeof(root),errmsg); + sprintf(helpfile,"%s\\help\\ok_dmodulehelp.chm",root); + ::HtmlHelp(NULL, helpfile, HH_DISPLAY_TOPIC, 0); + +} + +void CAsir32guiView::OnOm() +{ + // TODO: この位置にコマンド ハンドラ用のコードを追加してください + char root[BUFSIZ],errmsg[BUFSIZ],helpfile[BUFSIZ]; + + get_rootdir(root,sizeof(root),errmsg); + sprintf(helpfile,"%s\\help\\omhelp.chm",root); + ::HtmlHelp(NULL, helpfile, HH_DISPLAY_TOPIC, 0); + +} + +void CAsir32guiView::OnPfpcoh() +{ + // TODO: この位置にコマンド ハンドラ用のコードを追加してください + char root[BUFSIZ],errmsg[BUFSIZ],helpfile[BUFSIZ]; + + get_rootdir(root,sizeof(root),errmsg); + sprintf(helpfile,"%s\\help\\pfpcohhelp.chm",root); + ::HtmlHelp(NULL, helpfile, HH_DISPLAY_TOPIC, 0); + +} + +void CAsir32guiView::OnPlucker() +{ + // TODO: この位置にコマンド ハンドラ用のコードを追加してください + char root[BUFSIZ],errmsg[BUFSIZ],helpfile[BUFSIZ]; + + get_rootdir(root,sizeof(root),errmsg); + sprintf(helpfile,"%s\\help\\pluckerhelp.chm",root); + ::HtmlHelp(NULL, helpfile, HH_DISPLAY_TOPIC, 0); + +} + +void CAsir32guiView::OnSm1() +{ + // TODO: この位置にコマンド ハンドラ用のコードを追加してください + char root[BUFSIZ],errmsg[BUFSIZ],helpfile[BUFSIZ]; + + get_rootdir(root,sizeof(root),errmsg); + sprintf(helpfile,"%s\\help\\sm1help.chm",root); + ::HtmlHelp(NULL, helpfile, HH_DISPLAY_TOPIC, 0); + +} + +void CAsir32guiView::OnTigers() +{ + // TODO: この位置にコマンド ハンドラ用のコードを追加してください + char root[BUFSIZ],errmsg[BUFSIZ],helpfile[BUFSIZ]; + + get_rootdir(root,sizeof(root),errmsg); + sprintf(helpfile,"%s\\help\\tigershelp.chm",root); + ::HtmlHelp(NULL, helpfile, HH_DISPLAY_TOPIC, 0); + +} + +void CAsir32guiView::OnTodoparametrize() +{ + // TODO: この位置にコマンド ハンドラ用のコードを追加してください + char root[BUFSIZ],errmsg[BUFSIZ],helpfile[BUFSIZ]; + + get_rootdir(root,sizeof(root),errmsg); + sprintf(helpfile,"%s\\help\\todo_parametrizehelp.chm",root); + ::HtmlHelp(NULL, helpfile, HH_DISPLAY_TOPIC, 0); + }