[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.19 and 1.33

version 1.19, 2009/02/07 11:01:25 version 1.33, 2019/03/29 00:59:33
Line 33  void loadfile(char *);
Line 33  void loadfile(char *);
 void put_line(char *);  void put_line(char *);
 void send_intr(void);  void send_intr(void);
 void insert_to_theView(char *);  void insert_to_theView(char *);
 void get_rootdir(char *,int,char *);  BOOL get_rootdir(char *,int,char *);
   const char *get_locale_lang_iso639();
   const char *get_helpdir();
 extern int bigfloat, prtime, prresult;  extern int bigfloat, prtime, prresult;
 extern char *asir_libdir;  extern char *asir_libdir;
 extern int asirgui_kind;  extern int asirgui_kind;
Line 63  BEGIN_MESSAGE_MAP(CAsir32guiView, CEditView)
Line 65  BEGIN_MESSAGE_MAP(CAsir32guiView, CEditView)
         ON_COMMAND(ID_FILE_OPEN, OnFileOpen)          ON_COMMAND(ID_FILE_OPEN, OnFileOpen)
         ON_COMMAND(ID_FILE_LOG, OnFileLog)          ON_COMMAND(ID_FILE_LOG, OnFileLog)
         ON_COMMAND(ID_ASIRHELP, OnAsirhelp)          ON_COMMAND(ID_ASIRHELP, OnAsirhelp)
           ON_COMMAND(ID_VISIT_SITE, OnVisitSite)
         ON_UPDATE_COMMAND_UI(ID_FILE_LOG, OnUpdateFileLog)          ON_UPDATE_COMMAND_UI(ID_FILE_LOG, OnUpdateFileLog)
         ON_COMMAND(ID_EDIT_PASTE, OnEditPaste)          ON_COMMAND(ID_EDIT_PASTE, OnEditPaste)
         ON_COMMAND(IDR_FONT, OnFont)          ON_COMMAND(IDR_FONT, OnFont)
Line 79  BEGIN_MESSAGE_MAP(CAsir32guiView, CEditView)
Line 82  BEGIN_MESSAGE_MAP(CAsir32guiView, CEditView)
         ON_COMMAND(ID_SM1, OnSm1)          ON_COMMAND(ID_SM1, OnSm1)
         ON_COMMAND(ID_TIGERS, OnTigers)          ON_COMMAND(ID_TIGERS, OnTigers)
         ON_COMMAND(ID_TODOPARAMETRIZE, OnTodoparametrize)          ON_COMMAND(ID_TODOPARAMETRIZE, OnTodoparametrize)
           ON_COMMAND(ID_NOROMATRIX, OnNoromatrix)
           ON_COMMAND(ID_NOROMWL, OnNoromwl)
           ON_COMMAND(ID_NNNDBF, OnNnndbf)
           ON_COMMAND(ID_NOROPD, OnNoropd)
           ON_COMMAND(ID_NSTWLG, OnNstwistedlog)
         //}}AFX_MSG_MAP          //}}AFX_MSG_MAP
         // 標準印刷コマンド          // 標準印刷コマンド
 //      ON_COMMAND(ID_FILE_PRINT, CEditView::OnFilePrint)  //      ON_COMMAND(ID_FILE_PRINT, CEditView::OnFilePrint)
Line 93  CAsir32guiView::CAsir32guiView()
Line 101  CAsir32guiView::CAsir32guiView()
 {  {
         // TODO: この場所に構築用のコードを追加してください。          // TODO: この場所に構築用のコードを追加してください。
         static int tmpView_created = 0;          static int tmpView_created = 0;
         char errmsg[BUFSIZ],view_handle[BUFSIZ];  
   
         init_input_history();          init_input_history();
         read_input_history();          read_input_history();
Line 105  CAsir32guiView::CAsir32guiView()
Line 112  CAsir32guiView::CAsir32guiView()
         Logfp = NULL;          Logfp = NULL;
         ResetIndex();          ResetIndex();
         theView = this;          theView = this;
   #if _MSC_VER > 1300
           /* VS2003.NET or later */
           (AfxGetApp())->EnableHtmlHelp();
   #endif
 }  }
   
 CAsir32guiView::~CAsir32guiView()  CAsir32guiView::~CAsir32guiView()
Line 242  void CAsir32guiView::DeleteTop()
Line 253  void CAsir32guiView::DeleteTop()
   const char *p,*q;    const char *p,*q;
   const char *buf;    const char *buf;
   char null = 0;    char null = 0;
   int len,len0,len1;    int len,len0;
   
   buf = LockBuffer();    buf = LockBuffer();
   len0 = len = strlen(buf);    len0 = len = strlen(buf);
Line 369  void CAsir32guiView::OnChar(UINT nChar, UINT nRepCnt, 
Line 380  void CAsir32guiView::OnChar(UINT nChar, UINT nRepCnt, 
         // TODO: この位置にメッセージ ハンドラ用のコードを追加するかまたはデフォルトの処理を呼び出してください          // TODO: この位置にメッセージ ハンドラ用のコードを追加するかまたはデフォルトの処理を呼び出してください
         char *exp_result;          char *exp_result;
         char tmp[BUFSIZ];          char tmp[BUFSIZ];
           int i;
   
         if ( asirgui_kind == ASIRGUI_MESSAGE ) {          if ( asirgui_kind == ASIRGUI_MESSAGE ) {
                 Beep(); return;                  Beep(); return;
Line 432  void CAsir32guiView::OnChar(UINT nChar, UINT nRepCnt, 
Line 444  void CAsir32guiView::OnChar(UINT nChar, UINT nRepCnt, 
                 tmp[0] = 0;                  tmp[0] = 0;
                 put_line(tmp);                  put_line(tmp);
                 return;                  return;
           case CTRL('Y'):
                   Paste(); return;
           case CTRL('I'):
                   return;
         default :          default :
                 if ( nChar >= 0x20 && nChar < 0x7f )                  if ( nChar >= 0x20 && nChar < 0x7f )
                         PutChar(nChar);                          PutChar(nChar);
Line 480  void CAsir32guiView::OnFileOpen() 
Line 496  void CAsir32guiView::OnFileOpen() 
                         if ( *p == '\\' )                          if ( *p == '\\' )
                                 *p = '/';                                  *p = '/';
                 put_line(cmd);                  put_line(cmd);
                 p = strrchr(pathName,'\\');                  strcpy(cmd,pathName);
                   p = strrchr(cmd,'\\');
                 if ( p ) {                  if ( p ) {
                         *p = 0;                          *p = 0;
                         strcpy(prevdir,pathName);                          strcpy(prevdir,cmd);
                 }                  }
         }          }
 }  }
   
   void CAsir32guiView::viewHtmlHelp(char *help)
   {
           char *helpfile;
           char fmt[] = "%s\\%shelp.chm";
           const char *dir = get_helpdir();
           helpfile = (char *)malloc(sizeof(fmt) + strlen(dir) + strlen(help));
           sprintf(helpfile,fmt,dir,help);
   #if _MSC_VER < 1300
       /* Visual C++ 6.0 */
           ::HtmlHelp(NULL, helpfile, HH_DISPLAY_TOPIC, 0);
   #else
           CWinApp *top = AfxGetApp();
           top->SetHelpMode(AFX_HELP_TYPE::afxHTMLHelp);
           if (top->m_pszHelpFilePath) {
                   free((void*)top->m_pszHelpFilePath);
           }
           top->m_pszHelpFilePath = helpfile;
           HtmlHelp(HH_DISPLAY_TOPIC, 0);
   #endif
   }
   
   void CAsir32guiView::viewWeb(char *url)
   {
           ShellExecute(NULL,"open",url,NULL,NULL,SW_SHOWNORMAL);
   }
   
   void CAsir32guiView::viewWebHelp(char *key)
   {
           char *base="http://www.math.kobe-u.ac.jp/OpenXM/Current/doc/";
           char *url = (char *)malloc(strlen(base)+strlen(key)+1);
           sprintf(url,"%s%s",base,key);
           viewWeb(url);
           free(url);
   }
   
 void CAsir32guiView::OnAsirhelp()  void CAsir32guiView::OnAsirhelp()
 {  {
         // TODO: この位置にコマンド ハンドラ用のコードを追加してください          const char *lang = get_locale_lang_iso639();
         char root[BUFSIZ],errmsg[BUFSIZ],helpfile[BUFSIZ];          if(strcmp(lang,"ja")==0) {
                   viewWebHelp("index-doc-asir-ja.html");
           }else {
                   viewWebHelp("index-doc-asir.html");
           }
   }
   
         get_rootdir(root,sizeof(root),errmsg);  void CAsir32guiView::OnVisitSite()
         sprintf(helpfile,"%s\\help\\asirhelp.chm",root);  {
         ::HtmlHelp(NULL, helpfile, HH_DISPLAY_TOPIC, 0);          const char *lang = get_locale_lang_iso639();
           if(strcmp(lang,"ja")==0) {
                   viewWeb("http://www.math.kobe-u.ac.jp/Asir/asir-ja.html");
           }else {
                   viewWeb("http://www.math.kobe-u.ac.jp/Asir/");
           }
 }  }
   
 void CAsir32guiView::OnFileLog()  void CAsir32guiView::OnFileLog()
Line 551  void CAsir32guiView::UpdateMetrics()
Line 613  void CAsir32guiView::UpdateMetrics()
 void CAsir32guiView::OnFont()  void CAsir32guiView::OnFont()
 {  {
         // TODO: この位置にコマンド ハンドラ用のコードを追加してください          // TODO: この位置にコマンド ハンドラ用のコードを追加してください
         int ret;          INT_PTR ret;
         LOGFONT lf;          LOGFONT lf;
   
         GetFont()->GetLogFont(&lf);          GetFont()->GetLogFont(&lf);
Line 594  int CAsir32guiView::OnCreate(LPCREATESTRUCT lpCreateSt
Line 656  int CAsir32guiView::OnCreate(LPCREATESTRUCT lpCreateSt
 void CAsir32guiView::OnContribhelp()  void CAsir32guiView::OnContribhelp()
 {  {
         // TODO: この位置にコマンド ハンドラ用のコードを追加してください          // TODO: この位置にコマンド ハンドラ用のコードを追加してください
         char root[BUFSIZ],errmsg[BUFSIZ],helpfile[BUFSIZ];          viewHtmlHelp("cman");
   
         get_rootdir(root,sizeof(root),errmsg);  
         sprintf(helpfile,"%s\\help\\cmanhelp.chm",root);  
         ::HtmlHelp(NULL, helpfile, HH_DISPLAY_TOPIC, 0);  
 }  }
   
 void CAsir32guiView::OnSize(UINT nType, int cx, int cy)  void CAsir32guiView::OnSize(UINT nType, int cx, int cy)
Line 612  void CAsir32guiView::OnSize(UINT nType, int cx, int cy
Line 670  void CAsir32guiView::OnSize(UINT nType, int cx, int cy
 void CAsir32guiView::OnDsolv()  void CAsir32guiView::OnDsolv()
 {  {
         // TODO: この位置にコマンド ハンドラ用のコードを追加してください          // TODO: この位置にコマンド ハンドラ用のコードを追加してください
         char root[BUFSIZ],errmsg[BUFSIZ],helpfile[BUFSIZ];          viewHtmlHelp("dsolv");
   
         get_rootdir(root,sizeof(root),errmsg);  
         sprintf(helpfile,"%s\\help\\dsolvhelp.chm",root);  
         ::HtmlHelp(NULL, helpfile, HH_DISPLAY_TOPIC, 0);  
 }  }
   
 void CAsir32guiView::OnGnuplot()  void CAsir32guiView::OnGnuplot()
 {  {
         // TODO: この位置にコマンド ハンドラ用のコードを追加してください          // TODO: この位置にコマンド ハンドラ用のコードを追加してください
         char root[BUFSIZ],errmsg[BUFSIZ],helpfile[BUFSIZ];          viewHtmlHelp("gnuplot");
   
         get_rootdir(root,sizeof(root),errmsg);  
         sprintf(helpfile,"%s\\help\\gnuplothelp.chm",root);  
         ::HtmlHelp(NULL, helpfile, HH_DISPLAY_TOPIC, 0);  
   
 }  }
   
 void CAsir32guiView::OnOkdiff()  void CAsir32guiView::OnOkdiff()
 {  {
         // TODO: この位置にコマンド ハンドラ用のコードを追加してください          // TODO: この位置にコマンド ハンドラ用のコードを追加してください
         char root[BUFSIZ],errmsg[BUFSIZ],helpfile[BUFSIZ];          viewHtmlHelp("ok_diff");
   
         get_rootdir(root,sizeof(root),errmsg);  
         sprintf(helpfile,"%s\\help\\ok_diffhelp.chm",root);  
         ::HtmlHelp(NULL, helpfile, HH_DISPLAY_TOPIC, 0);  
   
 }  }
   
 void CAsir32guiView::OnOkdmodule()  void CAsir32guiView::OnOkdmodule()
 {  {
         // TODO: この位置にコマンド ハンドラ用のコードを追加してください          // TODO: この位置にコマンド ハンドラ用のコードを追加してください
         char root[BUFSIZ],errmsg[BUFSIZ],helpfile[BUFSIZ];          viewHtmlHelp("ok_dmodule");
   
         get_rootdir(root,sizeof(root),errmsg);  
         sprintf(helpfile,"%s\\help\\ok_dmodulehelp.chm",root);  
         ::HtmlHelp(NULL, helpfile, HH_DISPLAY_TOPIC, 0);  
   
 }  }
   
 void CAsir32guiView::OnOm()  void CAsir32guiView::OnOm()
 {  {
         // TODO: この位置にコマンド ハンドラ用のコードを追加してください          // TODO: この位置にコマンド ハンドラ用のコードを追加してください
         char root[BUFSIZ],errmsg[BUFSIZ],helpfile[BUFSIZ];          viewHtmlHelp("om");
   
         get_rootdir(root,sizeof(root),errmsg);  
         sprintf(helpfile,"%s\\help\\omhelp.chm",root);  
         ::HtmlHelp(NULL, helpfile, HH_DISPLAY_TOPIC, 0);  
   
 }  }
   
 void CAsir32guiView::OnPfpcoh()  void CAsir32guiView::OnPfpcoh()
 {  {
         // TODO: この位置にコマンド ハンドラ用のコードを追加してください          // TODO: この位置にコマンド ハンドラ用のコードを追加してください
         char root[BUFSIZ],errmsg[BUFSIZ],helpfile[BUFSIZ];          viewHtmlHelp("pfpcoh");
   
         get_rootdir(root,sizeof(root),errmsg);  
         sprintf(helpfile,"%s\\help\\pfpcohhelp.chm",root);  
         ::HtmlHelp(NULL, helpfile, HH_DISPLAY_TOPIC, 0);  
   
 }  }
   
 void CAsir32guiView::OnPlucker()  void CAsir32guiView::OnPlucker()
 {  {
         // TODO: この位置にコマンド ハンドラ用のコードを追加してください          // TODO: この位置にコマンド ハンドラ用のコードを追加してください
         char root[BUFSIZ],errmsg[BUFSIZ],helpfile[BUFSIZ];          viewHtmlHelp("plucker");
   
         get_rootdir(root,sizeof(root),errmsg);  
         sprintf(helpfile,"%s\\help\\pluckerhelp.chm",root);  
         ::HtmlHelp(NULL, helpfile, HH_DISPLAY_TOPIC, 0);  
   
 }  }
   
 void CAsir32guiView::OnSm1()  void CAsir32guiView::OnSm1()
 {  {
         // TODO: この位置にコマンド ハンドラ用のコードを追加してください          // TODO: この位置にコマンド ハンドラ用のコードを追加してください
         char root[BUFSIZ],errmsg[BUFSIZ],helpfile[BUFSIZ];          viewHtmlHelp("sm1");
   
         get_rootdir(root,sizeof(root),errmsg);  
         sprintf(helpfile,"%s\\help\\sm1help.chm",root);  
         ::HtmlHelp(NULL, helpfile, HH_DISPLAY_TOPIC, 0);  
   
 }  }
   
 void CAsir32guiView::OnTigers()  void CAsir32guiView::OnTigers()
 {  {
         // TODO: この位置にコマンド ハンドラ用のコードを追加してください          // TODO: この位置にコマンド ハンドラ用のコードを追加してください
         char root[BUFSIZ],errmsg[BUFSIZ],helpfile[BUFSIZ];          viewHtmlHelp("tigers");
   
         get_rootdir(root,sizeof(root),errmsg);  
         sprintf(helpfile,"%s\\help\\tigershelp.chm",root);  
         ::HtmlHelp(NULL, helpfile, HH_DISPLAY_TOPIC, 0);  
   
 }  }
   
 void CAsir32guiView::OnTodoparametrize()  void CAsir32guiView::OnTodoparametrize()
 {  {
         // TODO: この位置にコマンド ハンドラ用のコードを追加してください          // TODO: この位置にコマンド ハンドラ用のコードを追加してください
         char root[BUFSIZ],errmsg[BUFSIZ],helpfile[BUFSIZ];          viewHtmlHelp("todo_parametrize");
   }
   
         get_rootdir(root,sizeof(root),errmsg);  void CAsir32guiView::OnNoromatrix()
         sprintf(helpfile,"%s\\help\\todo_parametrizehelp.chm",root);  {
         ::HtmlHelp(NULL, helpfile, HH_DISPLAY_TOPIC, 0);          // TODO: この位置にコマンド ハンドラ用のコードを追加してください
           viewHtmlHelp("noro_matrix");
 }  }
   
   void CAsir32guiView::OnNoromwl()
   {
           // TODO: この位置にコマンド ハンドラ用のコードを追加してください
           viewHtmlHelp("noro_mwl");
   }
   
   void CAsir32guiView::OnNoropd()
   {
           // TODO: この位置にコマンド ハンドラ用のコードを追加してください
           viewHtmlHelp("noro_pd");
   }
   
   void CAsir32guiView::OnNnndbf()
   {
           // TODO: この位置にコマンド ハンドラ用のコードを追加してください
           viewHtmlHelp("nn_ndbf");
   }
   
   void CAsir32guiView::OnNstwistedlog()
   {
           // TODO: この位置にコマンド ハンドラ用のコードを追加してください
           viewHtmlHelp("ns_twistedlog");
   }
   
 BOOL CAsir32guiView::Create(LPCTSTR lpszClassName, LPCTSTR lpszWindowName, DWORD dwStyle, const RECT& rect, CWnd* pParentWnd, UINT nID, CCreateContext* pContext)  BOOL CAsir32guiView::Create(LPCTSTR lpszClassName, LPCTSTR lpszWindowName, DWORD dwStyle, const RECT& rect, CWnd* pParentWnd, UINT nID, CCreateContext* pContext)
 {  {
         // TODO: この位置に固有の処理を追加するか、または基本クラスを呼び出してください          // TODO: この位置に固有の処理を追加するか、または基本クラスを呼び出してください
   
         BOOL ret = CWnd::Create(lpszClassName, lpszWindowName, dwStyle, rect, pParentWnd, nID, pContext);          BOOL ret = CWnd::Create(lpszClassName, lpszWindowName, dwStyle, rect, pParentWnd, nID, pContext);
         FILE *fp = fopen("asirgui.hnd","w");          FILE *fp = NULL;
         char *temp;          char *temp;
           char hndname[_MAX_PATH];
   
         if ( fp ) {          if ( asirgui_kind == ASIRGUI_MAIN ) {
                 fprintf(fp,"%d",(unsigned int)theView->m_hWnd);  
                 fclose(fp);  
                 if ( temp = getenv("TEMP") ) {                  if ( temp = getenv("TEMP") ) {
                         int len;                          sprintf(hndname,"%s\\asirgui.hnd", temp);
                         char *name;                          fp = fopen(hndname,"w");
                           if ( fp ) {
                         len = strlen(temp);                                  fprintf(fp,"%d",(unsigned int)theView->m_hWnd);
                         name = (char *)malloc(len+BUFSIZ);                                  fclose(fp);
                         sprintf(name,"%s\\asirgui.hnd",temp);                          }
                         fopen(name,"w");  
                         fprintf(fp,"%d",(unsigned int)theView->m_hWnd);  
                         fclose(fp);  
                 }                  }
         }          }
         return ret;          return ret;

Legend:
Removed from v.1.19  
changed lines
  Added in v.1.33

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