00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00025
00026
00027
00028
00030
00031
00032
00033
00034 #ifdef __GNUG__
00035 #pragma implementation "MathMenu.h"
00036 #endif
00037
00038
00039
00040 #include "mg/mgprec.h"
00041 #include <wx/filename.h>
00042 #include <wx/image.h>
00043 #include <wx/statline.h>
00044 #include <wx/html/htmlwin.h>
00045
00046 #ifndef mgPRECOMP
00047 #include "mg/MathMenu.h"
00048 #include "mg/ExportDlg.h"
00049 #include "mg/ImportDlg.h"
00050 #include "mg/OptDlg.h"
00051 #include "mg/SolveDlg.h"
00052 #include "mg/GUIUtils.h"
00053 #endif
00054
00055
00056
00057
00058
00059 IMPLEMENT_CLASS(mgMathMenu, wxEvtHandler)
00060 BEGIN_EVENT_TABLE(mgMathMenu, wxEvtHandler)
00061
00062
00063 EVT_MENU( IDM_MATHMENU_FILE_IMPORT, mgMathMenu::OnFileImport )
00064 EVT_MENU( IDM_MATHMENU_FILE_EXPORT_ASXHTML, mgMathMenu::OnFileExportAsXHTML )
00065 EVT_MENU( IDM_MATHMENU_FILE_EXPORT_ASIMAGE, mgMathMenu::OnFileExportAsImage )
00066
00067
00068 EVT_MENU( IDM_MATHMENU_EDIT_CUT, mgMathMenu::OnEditCut )
00069 EVT_MENU( IDM_MATHMENU_EDIT_COPY, mgMathMenu::OnEditCopy )
00070 EVT_MENU( IDM_MATHMENU_EDIT_PASTE, mgMathMenu::OnEditPaste )
00071
00072 EVT_MENU( IDM_MATHMENU_EDIT_EDIT_EXP, mgMathMenu::OnEditEditExp )
00073 EVT_MENU( IDM_MATHMENU_EDIT_EDIT_SUBSCRIPT, mgMathMenu::OnEditEditSubscript )
00074
00075 EVT_MENU( IDM_MATHMENU_EDIT_INSERT_FRACTION, mgMathMenu::OnEditInsertFraction )
00076 EVT_MENU( IDM_MATHMENU_EDIT_INSERT_RADICAL, mgMathMenu::OnEditInsertRadical )
00077 EVT_MENU( IDM_MATHMENU_EDIT_INSERT_FUNCTION, mgMathMenu::OnEditInsertFunction )
00078 EVT_MENU( IDM_MATHMENU_EDIT_INSERT_SPECIAL, mgMathMenu::OnEditInsertSpecial )
00079
00080 EVT_MENU( IDM_MATHMENU_EDIT_NEWBOX, mgMathMenu::OnEditNewBox )
00081 EVT_MENU( IDM_MATHMENU_EDIT_NEWTEXTBOX, mgMathMenu::OnEditNewTextBox )
00082 EVT_MENU( IDM_MATHMENU_EDIT_NEWBOX_LIKELAST, mgMathMenu::OnEditNewBoxLikeLast )
00083 EVT_MENU( IDM_MATHMENU_EDIT_DELETEBOX, mgMathMenu::OnEditDeleteBox )
00084 EVT_MENU( IDM_MATHMENU_EDIT_NEWMATHLINE, mgMathMenu::OnEditNewMathLine )
00085 EVT_MENU( IDM_MATHMENU_EDIT_NEWMATHLINE_LIKELAST, mgMathMenu::OnEditNewMathLineLikeLast )
00086 EVT_MENU( IDM_MATHMENU_EDIT_DELETEMATHLINE, mgMathMenu::OnEditDeleteMathLine )
00087
00088 EVT_MENU( IDM_MATHMENU_EDIT_OPTIONS, mgMathMenu::OnEditOptions )
00089
00090
00091 EVT_MENU( IDM_MATHMENU_MATH_MULTIPLY, mgMathMenu::OnMathMultiplyBy )
00092 EVT_MENU( IDM_MATHMENU_MATH_DIVIDE, mgMathMenu::OnMathDivideBy )
00093 EVT_MENU( IDM_MATHMENU_MATH_SIMPLIFY, mgMathMenu::OnMathSimplify )
00094 EVT_MENU( IDM_MATHMENU_MATH_EXPAND, mgMathMenu::OnMathExpand )
00095 EVT_MENU( IDM_MATHMENU_MATH_EVALUATE, mgMathMenu::OnMathEvaluate )
00096 EVT_MENU( IDM_MATHMENU_MATH_MOVE, mgMathMenu::OnMathMove )
00097 EVT_MENU( IDM_MATHMENU_MATH_SOLVE, mgMathMenu::OnMathSolve )
00098
00099
00100 EVT_MENU( IDM_MATHMENU_VIEW_PALETTE_GREEK_ALPHABET, mgMathMenu::OnViewPaletteGreekAlphabet )
00101 EVT_MENU( IDM_MATHMENU_VIEW_PALETTE_SPECIAL_SYMBOLS, mgMathMenu::OnViewPaletteSpecialSym )
00102 EVT_MENU( IDM_MATHMENU_VIEW_PALETTE_SYMBOLS, mgMathMenu::OnViewPaletteSym )
00103
00104
00105 EVT_MENU( IDM_MATHMENU_HELP_MAIN, mgMathMenu::OnHelpMain )
00106 EVT_MENU( IDM_MATHMENU_HELP_HOME_PAGE, mgMathMenu::OnHelpHomePage )
00107 EVT_MENU( IDM_MATHMENU_HELP_PROJECT_PAGE, mgMathMenu::OnHelpProjectPage )
00108 EVT_MENU( IDM_MATHMENU_HELP_ABOUT, mgMathMenu::OnHelpAbout )
00109 EVT_MENU( IDM_MATHMENU_HELP_WISH_LIST, mgMathMenu::OnHelpWishList )
00110 EVT_MENU( IDM_MATHMENU_HELP_BUG_LIST, mgMathMenu::OnHelpBugList )
00111
00112 END_EVENT_TABLE()
00113
00114
00115
00116
00117
00118
00119
00120
00121
00122 mgMathMenu::mgMathMenu(mgMathWnd *pwnd, mgMathBox *pbox, wxFrame *pframe,
00123 wxApp *papp, wxLog *plogger)
00124 : wxEvtHandler(), mgMathBoxWndUser(pwnd, pbox)
00125 {
00126
00127 m_pTheApp = papp;
00128 m_pLogger = plogger;
00129
00130 Attach(pframe);
00131 }
00132
00133 mgMathMenu::~mgMathMenu()
00134 {
00135 Detach();
00136 }
00137
00138
00139 void mgMathMenu::Attach(wxFrame *p)
00140 {
00141 m_pFrame = p;
00142
00143
00144
00145
00146
00147 if (m_pFrame)
00148 m_pFrame->PushEventHandler(this);
00149 }
00150
00151 void mgMathMenu::Detach()
00152 {
00153
00154
00155
00156
00157 if (m_pFrame) m_pFrame->RemoveEventHandler(this);
00158
00159
00160
00161 m_pFrame = NULL;
00162 }
00163
00164 void mgMathMenu::SetHelpMainFile(const wxString &str)
00165 {
00166
00167 wxFileName mainfile(str);
00168 mcASSERT(mainfile.DirExists(str), wxT("Invalid main help file !"));
00169 m_strHelpPath = mainfile.GetFullPath();
00170
00171
00172
00173
00174 m_strHelpPath.Replace(wxT("\\"), wxT("/"));
00175 if (m_strHelpPath.Last() != wxT('/'))
00176 m_strHelpPath += wxT("/");
00177 }
00178
00179
00180
00181
00182
00183
00184
00185
00186 void mgMathMenu::AppendFileCommands(wxMenu *file)
00187 {
00188
00189 file->Append( IDM_MATHMENU_FILE_IMPORT, wxT("&Import...\tCtrl+I"), wxT("Export the mathematical data as a pure XML file.") );
00190 file->Append( IDM_MATHMENU_FILE_EXPORT_ASXHTML, wxT("&Export as XHTML...\tCtrl+E"), wxT("Export the mathematical data as an XHTML file.") );
00191 file->Append( IDM_MATHMENU_FILE_EXPORT_ASIMAGE, wxT("Export as image..."), wxT("Export the mathematical data as an image.") );
00192 }
00193
00194 void mgMathMenu::AppendEditCommands(wxMenu *edit, bool bUsingMathWnd)
00195 {
00196 wxMenu *system = new wxMenu;
00197
00198 edit->Append( IDM_MATHMENU_EDIT_CUT, wxT("Cut\tCtrl+X"), wxT("Copies in the notes") );
00199 edit->Append( IDM_MATHMENU_EDIT_COPY, wxT("Copy\tCtrl+C"), wxT("Copies in the notes") );
00200 edit->Append( IDM_MATHMENU_EDIT_PASTE, wxT("Paste\tCtrl+V"), wxT("Copies in the notes") );
00201 edit->AppendSeparator();
00202
00203 edit->Append( IDM_MATHMENU_EDIT_EDIT_EXP, wxT("Edit e&xponent\tENTER"), wxT("Edits/create the exponent of the current element.") );
00204 edit->Append( IDM_MATHMENU_EDIT_EDIT_SUBSCRIPT, wxT("Edit &subscript\tCtrl+ENTER"), wxT("Edits/create the subscript of the current element.") );
00205 edit->AppendSeparator();
00206
00207 edit->Append( IDM_MATHMENU_EDIT_INSERT_FRACTION, wxT("Insert &fraction\tCtrl+F1"), wxT("Insert a new fraction") );
00208 edit->Append( IDM_MATHMENU_EDIT_INSERT_RADICAL, wxT("Insert &radical\tCtrl+F2"), wxT("Insert a new radical") );
00209 edit->Append( IDM_MATHMENU_EDIT_INSERT_FUNCTION, wxT("Insert f&unction\tCtrl+F3"), wxT("Insert a new function") );
00210 edit->Append( IDM_MATHMENU_EDIT_INSERT_SPECIAL, wxT("Insert &special...\tCtrl+F4"), wxT("") );
00211 edit->AppendSeparator();
00212
00213 if (bUsingMathWnd) {
00214
00215
00216 wxMenu *box = new wxMenu;
00217
00218 box->Append( IDM_MATHMENU_EDIT_NEWBOX, wxT("Add &new box"), wxT("") );
00219 box->Append( IDM_MATHMENU_EDIT_NEWTEXTBOX, wxT("Add new &text box"), wxT("") );
00220 box->Append( IDM_MATHMENU_EDIT_NEWBOX_LIKELAST, wxT("Add new box copying last"), wxT("") );
00221 box->Append( IDM_MATHMENU_EDIT_DELETEBOX, wxT("Delete current box"), wxT("") );
00222
00223
00224 edit->Append( IDM_MATHMENU_EDIT_BOXES, wxT("Boxes"), box, wxT(""));
00225 }
00226
00227 system->Append( IDM_MATHMENU_EDIT_NEWMATHLINE, wxT("Add new &equation/inequality"), wxT("") );
00228 system->Append( IDM_MATHMENU_EDIT_NEWMATHLINE_LIKELAST, wxT("Add new equation/inequality copying last"), wxT("") );
00229 system->Append( IDM_MATHMENU_EDIT_DELETEMATHLINE, wxT("&Delete current equation/inequality"), wxT("") );
00230 edit->Append( IDM_MATHMENU_EDIT_SYSTEM, wxT("System"), system, wxT(""));
00231
00232 edit->AppendSeparator();
00233 edit->Append( IDM_MATHMENU_EDIT_OPTIONS, wxT("Options\tF9"), wxT("&Edit the options of the program") );
00234 }
00235
00236 void mgMathMenu::AppendMathCommands(wxMenu *math)
00237 {
00238 math->Append( IDM_MATHMENU_MATH_MULTIPLY, wxT("&Multiply by..."), wxT("") );
00239 math->Append( IDM_MATHMENU_MATH_DIVIDE, wxT("&Divide by..."), wxT("") );
00240 math->AppendSeparator();
00241 math->Append( IDM_MATHMENU_MATH_MOVE, wxT("&Move selection"), wxT("") );
00242 math->Append( IDM_MATHMENU_MATH_RAISE, wxT("&Raise to..."), wxT("") );
00243 math->AppendSeparator();
00244 math->Append( IDM_MATHMENU_MATH_EXPAND, wxT("&Expand"), wxT("") );
00245 math->Append( IDM_MATHMENU_MATH_SIMPLIFY, wxT("&Simplify"), wxT("") );
00246 math->Append( IDM_MATHMENU_MATH_EVALUATE, wxT("Evaluate"), wxT("") );
00247 math->AppendSeparator();
00248 math->Append( IDM_MATHMENU_MATH_SOLVE, wxT("So&lve...\tF10"), wxT("") );
00249 }
00250
00251 void mgMathMenu::AppendViewCommands(wxMenu *view)
00252 {
00253
00254 wxMenu* toolbars = new wxMenu( wxMENU_TEAROFF );
00255
00256 toolbars->AppendCheckItem( IDM_MATHMENU_VIEW_PALETTE_GREEK_ALPHABET, wxT("&Greek alphabet"), wxT("") );
00257 toolbars->AppendCheckItem( IDM_MATHMENU_VIEW_PALETTE_SPECIAL_SYMBOLS, wxT("&Special symbols"), wxT("") );
00258 toolbars->AppendCheckItem( IDM_MATHMENU_VIEW_PALETTE_SYMBOLS, wxT("&Symbols"), wxT("") );
00259
00260 view->Append( IDM_MATHMENU_VIEW_PALETTES, wxT("Palettes"), toolbars );
00261 }
00262
00263 void mgMathMenu::AppendHelpCommands(wxMenu *help)
00264 {
00265 help->Append( IDM_MATHMENU_HELP_MAIN, wxT("&MathStudio help\tF1"), wxT("") );
00266 help->AppendSeparator();
00267 help->Append( IDM_MATHMENU_HELP_HOME_PAGE, wxT("&Home page of MathStudio"), wxT("") );
00268 help->Append( IDM_MATHMENU_HELP_PROJECT_PAGE, wxT("MathStudio &project page"), wxT("") );
00269 help->AppendSeparator();
00270 help->Append( IDM_MATHMENU_HELP_WISH_LIST, wxT("I &wish..."), wxT("Opens the wish list of MathStudio; use this to suggest new features you would like MathStudio has") );
00271 help->Append( IDM_MATHMENU_HELP_BUG_LIST, wxT("I've found a &bug..."), wxT("") );
00272 help->AppendSeparator();
00273 help->Append( IDM_MATHMENU_HELP_ABOUT, wxT("&About MathStudio"), wxT("") );
00274 }
00275
00276
00277
00278
00280
00281
00282 void mgMathMenu::OnFileExportAsXHTML( wxCommandEvent &event )
00283 {
00284
00285
00286
00287 wxFileName fn(wxGetCwd() + wxT("\\XSL\\mathml.xsl"), wxPATH_WIN);
00288 wxString str = fn.GetFullPath();
00289
00290
00291
00292
00293 str.Replace(wxT("\\"), wxT("/"), TRUE);
00294
00295
00296 mgExportDlg dlg(m_pFrame, m_pMathWnd, m_pMathBox, str);
00297
00298
00299 dlg.ShowModal();
00300 }
00301
00302 void mgMathMenu::OnFileExportAsImage( wxCommandEvent &event )
00303 {
00304 wxFileDialog fd(m_pFrame, wxT("Save as"), wxT(""), wxT(""),
00305 wxT("BMP files (*.bmp)|*.bmp|PNG files (*.png)|*.png|")
00306 wxT("JPEG files (*.jpeg,*.jpg)|*.jpg,*.jpeg|XPM files (*.xpm)|*.xpm"),
00307 wxSAVE | wxOVERWRITE_PROMPT);
00308
00309 if (fd.ShowModal() == wxID_CANCEL)
00310 return;
00311
00312
00313 int idx = fd.GetFilterIndex();
00314 wxBitmap bmp = GetBox()->GetMathObj().gui_GetBmp();
00315 wxImage img = bmp.ConvertToImage();
00316
00317 int type = -1;
00318 switch (idx) {
00319 case 0:
00320 type = wxBITMAP_TYPE_BMP;
00321 break;
00322 case 1:
00323 type = wxBITMAP_TYPE_PNG;
00324 break;
00325 case 2:
00326 type = wxBITMAP_TYPE_JPEG;
00327 break;
00328 case 3:
00329 type = wxBITMAP_TYPE_XPM;
00330 break;
00331 }
00332
00333 if (type == -1 ||
00334 !img.SaveFile(fd.GetPath(), type)) {
00335
00336
00337 wxMessageBox(wxT("Could not export in that format... sorry."), wxT("Error"), wxOK | wxICON_ERROR);
00338
00339 } else {
00340
00341
00342 wxMessageBox(wxT("File correctly exported."), wxT("Success"), wxOK);
00343 }
00344 }
00345
00346 void mgMathMenu::OnFileImport( wxCommandEvent &event )
00347 {
00348
00349
00350
00351 mgImportDlg dlg(m_pFrame, m_pMathWnd, m_pMathBox);
00352
00353
00354 dlg.ShowModal();
00355 }
00356
00357
00358
00359
00361
00362
00363 void mgMathMenu::OnMathMove( wxCommandEvent &event )
00364 {
00365
00366 GetBox()->ResetGUI();
00367 }
00368
00369 void mgMathMenu::OnMathEvaluate( wxCommandEvent &)
00370 {
00371 mcRealValue val = GetBox()->GetMathObj().math_Evaluate();
00372
00373 if (val == *mcRealValue::pNAN) {
00374
00375 wxMessageBox(wxT("Sorry; this data cannot be evaluated.\n")
00376 wxT("This is probably due to the presence of unknowns/parameters.\n"),
00377 wxT("Evaluation result"));
00378
00379 } else {
00380
00381 wxMessageBox(wxT("Current data evaluates to ") + val.GetSmartStr(),
00382 wxT("Evaluation result"));
00383 }
00384 }
00385
00386
00387
00388 void mgMathMenu::OnMathExpand( wxCommandEvent &event )
00389 {
00390 if (!GetBox()->GetMathObj().math_isValidMath()) return;
00391 GetBox()->GetMathObj().math_Expand(0, NULL);
00392 GetBox()->ResetGUI();
00393 }
00394
00395 void mgMathMenu::OnMathSimplify( wxCommandEvent &event )
00396 {
00397
00398 if (!GetBox()->GetMathObj().math_isValidMath()) return;
00399 GetBox()->GetMathObj().math_Simplify(0, NULL);
00400 GetBox()->ResetGUI();
00401 }
00402
00403 void mgMathMenu::OnMathDivideBy( wxCommandEvent &event )
00404 {
00405 mgSTILL_TO_IMPLEMENT();
00406 }
00407
00408 void mgMathMenu::OnMathMultiplyBy( wxCommandEvent &event )
00409 {
00410 mgSTILL_TO_IMPLEMENT();
00411 }
00412
00413 void mgMathMenu::OnMathSolve( wxCommandEvent &event )
00414 {
00415 mgSolveDlg dlg(m_pFrame, m_pMathWnd, m_pMathBox);
00416 dlg.CentreOnScreen();
00417 dlg.ShowModal();
00418 }
00419
00420
00421
00422
00423
00425
00426
00427 #define DO_CHECK mcASSERT(isUsingMathWnd(), wxT("If this command has been called, ") \
00428 wxT("this menu MUST be linked with a mgMathWnd"));
00429
00430 void mgMathMenu::OnEditDeleteBox( wxCommandEvent &event )
00431 { DO_CHECK; m_pMathWnd->DeleteBox(m_pMathWnd->GetSelBoxId()); }
00432 void mgMathMenu::OnEditNewBox( wxCommandEvent &event )
00433 { DO_CHECK; m_pMathWnd->AddBox(TRUE, FALSE); }
00434 void mgMathMenu::OnEditNewTextBox( wxCommandEvent &event )
00435 { DO_CHECK; m_pMathWnd->AddBox(FALSE, FALSE); }
00436 void mgMathMenu::OnEditNewBoxLikeLast( wxCommandEvent &event )
00437 { DO_CHECK; m_pMathWnd->AddBox(TRUE, TRUE); }
00438
00439 void mgMathMenu::OnEditDeleteMathLine( wxCommandEvent &event )
00440 { GetBox()->GetMathObj().data_RemoveAt(GetBox()->GetMathObj().gui_GetFocusIdx(), 1); GetBox()->Refresh(); }
00441 void mgMathMenu::OnEditNewMathLine( wxCommandEvent &event )
00442 {}
00443 void mgMathMenu::OnEditNewMathLineLikeLast( wxCommandEvent &event )
00444 { }
00445
00446
00447
00448 void mgMathMenu::OnEditCut( wxCommandEvent &event )
00449 { GetBox()->Cut(); }
00450
00451 void mgMathMenu::OnEditCopy( wxCommandEvent &event )
00452 { GetBox()->CopyAsPlainText(); }
00453
00454 void mgMathMenu::OnEditPaste( wxCommandEvent &event )
00455 { GetBox()->Paste(); }
00456
00457 void mgMathMenu::OnEditEditExp( wxCommandEvent &event )
00458 { mgLogDebug(wxT("mgMathMenu::OnEditEditExp")); GetBox()->EditExponent(); }
00459
00460 void mgMathMenu::OnEditEditSubscript( wxCommandEvent &event )
00461 { GetBox()->EditSubscript(); }
00462
00463 void mgMathMenu::OnEditInsertSpecial( wxCommandEvent &event )
00464 {
00465 mgSTILL_TO_IMPLEMENT();
00466 }
00467
00468 void mgMathMenu::OnEditInsertRadical( wxCommandEvent &event )
00469 { GetBox()->InsertRadical(); }
00470
00471 void mgMathMenu::OnEditInsertFraction( wxCommandEvent &event )
00472 { GetBox()->InsertFraction(); }
00473
00474 void mgMathMenu::OnEditInsertFunction( wxCommandEvent &event )
00475 { GetBox()->InsertFunction(); }
00476
00477 void mgMathMenu::OnEditOptions( wxCommandEvent &event )
00478 {
00479 mgOptDlg dlg(m_pFrame, -1);
00480
00481
00482
00483
00484 dlg.SetClientEvtHandler(m_pTheApp);
00485 dlg.CentreOnScreen();
00486 dlg.ShowModal();
00487 }
00488
00489
00490
00491
00493
00494
00495 void mgMathMenu::OnHelpWishList( wxCommandEvent &event )
00496 {
00497 wxViewHTMLFile(wxT("https://sourceforge.net/tracker/?func=add&group_id=61901&atid=498777"));
00498 }
00499
00500 void mgMathMenu::OnHelpAbout( wxCommandEvent &event )
00501 {
00502
00503 #ifdef mgMATHMENU_USE_OLDABOUT
00504
00505 wxString msg;
00506 msg.Printf(
00507 wxT("MathStudio is a powerful and flexible mathematical instrument\n")
00508 wxT("conceived to make math operations easier. MathStudio is not\n")
00509 wxT("complete yet; when it will be finished it will have complete\n")
00510 wxT("support for MathML and LaTex; it will be able to solve every\n")
00511 wxT("type of equation, inequality and expression.\n\n")
00512 wxT("MathStudio is an open source program released under GPL.\n")
00513 wxT("To get more info about it, go to:\n\n")
00514 wxT("http://mathstudio.sourceforge.net\n\n")
00515 wxT("Thanks.\n\n\n")
00516 wxT("NOTE: if you are a programmer, you are keen on math and you\n")
00517 wxT("want to join, you will be the welcome: send an email to\n")
00518 wxT("the administrator at frm@users.sourceforge.net.\n")
00519 wxT("MathStudio is composed by two libraries, MathCore and MathGUI\n")
00520 wxT("which can be easily integrated in any C++ program: if you want\n")
00521 wxT("to use them, don't hesitate to drop an email to the admin..."));
00522 wxMessageBox(msg, wxT("About MathStudio"), wxOK | wxICON_INFORMATION, m_pFrame);
00523
00524 #else
00525
00526 wxBoxSizer *topsizer;
00527 wxHtmlWindow *html;
00528 wxDialog dlg(m_pFrame, wxID_ANY, wxString(wxT("About MathStudio")));
00529
00530 topsizer = new wxBoxSizer(wxVERTICAL);
00531 html = new wxHtmlWindow(&dlg, wxID_ANY, wxDefaultPosition,
00532 wxSize(380, 160), wxHW_SCROLLBAR_NEVER | wxSUNKEN_BORDER);
00533 html->SetBorders(0);
00534
00535 wxFileName url(m_strHelpPath + wxT("about.htm"));
00536 mcASSERT(html->LoadFile(url), wxT("Invalid about page..."));
00537 html->SetSize(html->GetInternalRepresentation()->GetWidth(),
00538 html->GetInternalRepresentation()->GetHeight());
00539
00540 topsizer->Add(html, 1, wxALL, 10);
00541 topsizer->Add(new wxStaticLine(&dlg, wxID_ANY), 0, wxEXPAND | wxLEFT | wxRIGHT, 10);
00542 wxButton *bu1 = new wxButton(&dlg, wxID_OK, wxT("OK"));
00543 bu1->SetDefault();
00544 topsizer->Add(bu1, 0, wxALL | wxALIGN_RIGHT, 15);
00545
00546 dlg.SetSizer(topsizer);
00547 topsizer->Fit(&dlg);
00548
00549 dlg.ShowModal();
00550
00551 #endif
00552 }
00553
00554 void mgMathMenu::OnHelpProjectPage( wxCommandEvent &event )
00555 {
00556 wxViewHTMLFile(wxT("https://sourceforge.net/projects/mathstudio/"));
00557 }
00558
00559 void mgMathMenu::OnHelpHomePage( wxCommandEvent &event )
00560 {
00561 wxViewHTMLFile(wxT("http://mathstudio.sourceforge.net/"));
00562 }
00563
00564 void mgMathMenu::OnHelpMain( wxCommandEvent &event )
00565 {
00566 wxViewHTMLFile(wxT("file://") + m_strHelpPath + wxT("index.shtml"));
00567 }
00568
00569 void mgMathMenu::OnHelpBugList( wxCommandEvent &event )
00570 {
00571 wxViewHTMLFile(wxT("https://sourceforge.net/tracker/?func=add&group_id=61901&atid=498774"));
00572 }
00573
00574
00575
00576
00578
00579
00580 void mgMathMenu::OnViewPaletteGreekAlphabet( wxCommandEvent &event )
00581 { m_pGreekAlphabet->Show(!m_pGreekAlphabet->IsShown()); }
00582
00583 void mgMathMenu::OnViewPaletteSpecialSym( wxCommandEvent &event )
00584 { m_pSpecialSym->Show(!m_pSpecialSym->IsShown()); }
00585
00586 void mgMathMenu::OnViewPaletteSym( wxCommandEvent &event )
00587 { m_pSym->Show(!m_pSym->IsShown()); }
00588
00589
00590