[BACK]Return to asir32guiview.cpp CVS log [TXT][DIR] Up to [local] / OpenXM_contrib2 / windows / asir32gui

Diff for /OpenXM_contrib2/windows/asir32gui/asir32guiview.cpp between version 1.8 and 1.13

version 1.8, 2002/09/12 03:12:56 version 1.13, 2005/10/02 01:34:43
Line 68  BEGIN_MESSAGE_MAP(CAsir32guiView, CEditView)
Line 68  BEGIN_MESSAGE_MAP(CAsir32guiView, CEditView)
         ON_COMMAND(IDR_FONT, OnFont)          ON_COMMAND(IDR_FONT, OnFont)
         ON_WM_CREATE()          ON_WM_CREATE()
         ON_COMMAND(ID_CONTRIBHELP, OnContribhelp)          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          //}}AFX_MSG_MAP
         // 標準印刷コマンド          // 標準印刷コマンド
 //      ON_COMMAND(ID_FILE_PRINT, CEditView::OnFilePrint)  //      ON_COMMAND(ID_FILE_PRINT, CEditView::OnFilePrint)
Line 89  CAsir32guiView::CAsir32guiView()
Line 99  CAsir32guiView::CAsir32guiView()
         read_input_history();          read_input_history();
         DebugMode = 0;          DebugMode = 0;
         DebugInMain = 0;          DebugInMain = 0;
         MaxLineLength = 80;  //      MaxLineLength = 80;
         LogStart = 0;          LogStart = 0;
         Logging = 0;          Logging = 0;
         Logfp = NULL;          Logfp = NULL;
Line 305  void CAsir32guiView::Paste(void) {
Line 315  void CAsir32guiView::Paste(void) {
     }      }
     hClip = GetClipboardData(CF_TEXT);      hClip = GetClipboardData(CF_TEXT);
     src = (const char *)::GlobalLock(hClip);      src = (const char *)::GlobalLock(hClip);
     if ( !src || (l = strlen(src)) >= sizeof(Buffer) ) {      if ( !src || (l=strlen(src)) >= sizeof(Buffer)-EndPos ) {
         ::CloseClipboard();          ::CloseClipboard();
         Beep(); return;          Beep(); return;
     }      }
Line 315  void CAsir32guiView::Paste(void) {
Line 325  void CAsir32guiView::Paste(void) {
     buf[j] = 0;      buf[j] = 0;
     ::GlobalUnlock(hClip);      ::GlobalUnlock(hClip);
     ::CloseClipboard();      ::CloseClipboard();
     if ( EndPos+j >= sizeof(Buffer)-1 ) {  
         Beep(); return;  
     }  
     GetEditCtrl().ReplaceSel(buf);      GetEditCtrl().ReplaceSel(buf);
     strncpy(Buffer+EndPos,buf,j);      l = strlen(buf);
     EndPos += j; CurrentPos = EndPos;      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  #define CTRL(c) (c)&0x1f
Line 359  void CAsir32guiView::OnChar(UINT nChar, UINT nRepCnt, 
Line 370  void CAsir32guiView::OnChar(UINT nChar, UINT nRepCnt, 
 {  {
         // TODO: この位置にメッセージ ハンドラ用のコードを追加するかまたはデフォルトの処理を呼び出してください          // TODO: この位置にメッセージ ハンドラ用のコードを追加するかまたはデフォルトの処理を呼び出してください
         char *exp_result;          char *exp_result;
           char tmp[BUFSIZ];
   
         if ( asirgui_kind == ASIRGUI_MESSAGE ) {          if ( asirgui_kind == ASIRGUI_MESSAGE ) {
                 Beep(); return;                  Beep(); return;
Line 419  void CAsir32guiView::OnChar(UINT nChar, UINT nRepCnt, 
Line 431  void CAsir32guiView::OnChar(UINT nChar, UINT nRepCnt, 
         case CTRL('C'):          case CTRL('C'):
                 send_intr();                  send_intr();
                 /* wake up the engine */                  /* wake up the engine */
                 put_line("");                  tmp[0] = 0;
                   put_line(tmp);
                 return;                  return;
         default :          default :
                 if ( nChar >= 0x20 && nChar < 0x7f )                  if ( nChar >= 0x20 && nChar < 0x7f )
Line 482  void CAsir32guiView::OnAsirhelp() 
Line 495  void CAsir32guiView::OnAsirhelp() 
         char root[BUFSIZ],errmsg[BUFSIZ],helpfile[BUFSIZ];          char root[BUFSIZ],errmsg[BUFSIZ],helpfile[BUFSIZ];
   
         get_rootdir(root,sizeof(root),errmsg);          get_rootdir(root,sizeof(root),errmsg);
         sprintf(helpfile,"%s\\bin\\asirhelp.chm",root);          sprintf(helpfile,"%s\\help\\asirhelp.chm",root);
         HtmlHelp(NULL, helpfile, HH_DISPLAY_TOPIC, 0);          ::HtmlHelp(NULL, helpfile, HH_DISPLAY_TOPIC, 0);
 }  }
   
 void CAsir32guiView::OnFileLog()  void CAsir32guiView::OnFileLog()
Line 524  void CAsir32guiView::OnEditPaste() 
Line 537  void CAsir32guiView::OnEditPaste() 
     Paste();      Paste();
 }  }
   
   void CAsir32guiView::UpdateMetrics()
   {
      TEXTMETRIC tm;
      RECT r;
   
      GetEditCtrl().GetRect(&r);
      CDC *pDC = GetDC();
      pDC->SelectObject(GetFont());
      pDC->GetTextMetrics(&tm);
      MaxLineLength = (r.right-r.left)/tm.tmAveCharWidth-1;
   }
   
 void CAsir32guiView::OnFont()  void CAsir32guiView::OnFont()
 {  {
         // TODO: この位置にコマンド ハンドラ用のコードを追加してください          // TODO: この位置にコマンド ハンドラ用のコードを追加してください
         int ret;          int ret;
         CFontDialog fd(NULL,CF_EFFECTS | CF_SCREENFONTS | CF_FIXEDPITCHONLY);  
         static CFont *f = 0;  
         LOGFONT lf;          LOGFONT lf;
   
           GetFont()->GetLogFont(&lf);
           CFontDialog fd(&lf,CF_EFFECTS | CF_SCREENFONTS | CF_FIXEDPITCHONLY);
           static CFont *f = 0;
   
         ret = fd.DoModal();          ret = fd.DoModal();
         if ( ret == IDOK ) {          if ( ret == IDOK ) {
                 fd.GetCurrentFont(&lf);                  fd.GetCurrentFont(&lf);
Line 540  void CAsir32guiView::OnFont() 
Line 567  void CAsir32guiView::OnFont() 
                 f = new CFont;                  f = new CFont;
                 f->CreateFontIndirect(&lf);                  f->CreateFontIndirect(&lf);
                 SetFont(f);                  SetFont(f);
                   UpdateMetrics();
         }          }
 }  }
   
Line 549  int CAsir32guiView::OnCreate(LPCREATESTRUCT lpCreateSt
Line 577  int CAsir32guiView::OnCreate(LPCREATESTRUCT lpCreateSt
                 return -1;                  return -1;
   
         // TODO: この位置に固有の作成用コードを追加してください          // TODO: この位置に固有の作成用コードを追加してください
   
         LOGFONT logFont; memset(&logFont, 0, sizeof(LOGFONT));          LOGFONT logFont; memset(&logFont, 0, sizeof(LOGFONT));
         logFont.lfHeight = 20;          logFont.lfHeight = 20;
         logFont.lfCharSet = DEFAULT_CHARSET;          logFont.lfCharSet = DEFAULT_CHARSET;
Line 557  int CAsir32guiView::OnCreate(LPCREATESTRUCT lpCreateSt
Line 585  int CAsir32guiView::OnCreate(LPCREATESTRUCT lpCreateSt
         CFont *f = new CFont;          CFont *f = new CFont;
         f->CreateFontIndirect(&logFont);          f->CreateFontIndirect(&logFont);
         SetFont(f);          SetFont(f);
           UpdateMetrics();
         GetEditCtrl().LimitText(nMaxSize);          GetEditCtrl().LimitText(nMaxSize);
         GetEditCtrl().SetTabStops(m_nTabStops);          GetEditCtrl().SetTabStops(m_nTabStops);
   
         return 0;          return 0;
 }  }
Line 569  void CAsir32guiView::OnContribhelp() 
Line 598  void CAsir32guiView::OnContribhelp() 
         char root[BUFSIZ],errmsg[BUFSIZ],helpfile[BUFSIZ];          char root[BUFSIZ],errmsg[BUFSIZ],helpfile[BUFSIZ];
   
         get_rootdir(root,sizeof(root),errmsg);          get_rootdir(root,sizeof(root),errmsg);
         sprintf(helpfile,"%s\\bin\\cmanhelp.chm",root);          sprintf(helpfile,"%s\\help\\cmanhelp.chm",root);
         HtmlHelp(NULL, helpfile, HH_DISPLAY_TOPIC, 0);          ::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];          char root[BUFSIZ],errmsg[BUFSIZ],helpfile[BUFSIZ];
   
         if ( getenv("OpenXM_WIN_ROOT") ) {          get_rootdir(root,sizeof(root),errmsg);
                 get_rootdir(root,sizeof(root),errmsg);          sprintf(helpfile,"%s\\help\\dsolvhelp.chm",root);
                 sprintf(helpfile,"%s\\bin\\cmanhelp.chm",root);          ::HtmlHelp(NULL, helpfile, HH_DISPLAY_TOPIC, 0);
                 if ( _access(helpfile,04) != -1 ) {  }
                         pCmdUI->Enable( TRUE );  
                         return;  void CAsir32guiView::OnGnuplot()
                 }  {
         }          // TODO: この位置にコマンド ハンドラ用のコードを追加してください
         pCmdUI->Enable( FALSE );          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);
   
   }
   
   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);
   
 }  }

Legend:
Removed from v.1.8  
changed lines
  Added in v.1.13

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>