00001 00002 // MathGUI = a WYSIWYG equation editor + a powerful math engine // 00003 // Copyright (C) 2003 by Francesco Montorsi // 00004 // // 00005 // This library is free software; you can redistribute it and/or // 00006 // modify it under the terms of the GNU Lesser General Public // 00007 // License as published by the Free Software Foundation; either // 00008 // version 2.1 of the License, or (at your option) any later // 00009 // version. // 00010 // // 00011 // This library is distributed in the hope that it will be useful, // 00012 // but WITHOUT ANY WARRANTY; without even the implied warranty of // 00013 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // 00014 // GNU Lesser General Public License for more details. // 00015 // // 00016 // You should have received a copy of the GNU Lesser General Public // 00017 // License along with this program; if not, write to the Free // 00018 // Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, // 00019 // MA 02111-1307, USA. // 00020 // // 00021 // For any comment, suggestion or feature request, please contact // 00022 // the administrator of the project at frm@users.sourceforge.net // 00023 // // 00030 00031 00032 #ifndef SOLVEDLG_H 00033 #define SOLVEDLG_H 00034 00035 // this class integrates with mgMathBox and mgMathWnd... 00036 #include "mg/MathBoxWndUser.h" 00037 00038 // optimization for GCC compiler 00039 #ifdef __GNUG__ 00040 #pragma interface "SolveDlg.h" 00041 #endif 00042 00043 00044 // mgSolvePanel defines 00045 #define IDC_SOLVEPANEL_SOLVER_OPTION mgSOLVEDLG_BASEID+1 00046 #define IDC_SOLVEPANEL_SOLVE mgSOLVEDLG_BASEID+2 00047 00048 00051 class mgSolvePanel : public wxPanel, public mgMathBoxWndUser 00052 { 00053 protected: // member variables 00054 00055 // The list of mcSolvers. 00056 wxListBox *m_pListBox; 00057 00058 protected: // functions 00059 00060 // panel constructors 00061 void BuildCtrls(); 00062 void BuildAll(); 00063 00064 // event handlers 00065 void OnSolve(wxCommandEvent &); 00066 void OnSolverOption(wxCommandEvent &); 00067 00070 virtual void UpdateSolverList(); 00071 00072 public: 00073 mgSolvePanel( 00074 wxWindow *parent, 00075 mgMathWnd *pWnd, 00076 mgMathBox *pBox, 00077 wxWindowID id = -1, 00078 const wxPoint& pos = wxDefaultPosition, 00079 const wxSize& size = wxDefaultSize, 00080 long style = wxTAB_TRAVERSAL, 00081 const wxString& name = wxT("panel")); 00082 virtual ~mgSolvePanel() {} 00083 00084 00085 private: 00086 DECLARE_CLASS( mgSolvePanel ) 00087 DECLARE_EVENT_TABLE() 00088 }; 00089 00090 00092 class mgSolveDlg : public wxDialog 00093 { 00094 protected: 00095 00096 void OnPanelDismiss(wxCommandEvent &); 00097 00098 public: 00099 mgSolveDlg( 00100 wxWindow* parent, 00101 mgMathWnd *pWnd, 00102 mgMathBox *pBox, 00103 wxWindowID id = -1, 00104 const wxString& title = wxT("Choose the solver algorithm..."), 00105 const wxPoint& pos = wxDefaultPosition, 00106 const wxSize& size = wxDefaultSize, 00107 long style = wxDEFAULT_DIALOG_STYLE | wxRESIZE_BORDER, 00108 const wxString& name = wxT("dialogBox")); 00109 virtual ~mgSolveDlg() {} 00110 00111 private: 00112 DECLARE_CLASS( mgSolveDlg ) 00113 DECLARE_EVENT_TABLE() 00114 }; 00115 00116 00117 #endif // SOLVEDLG_H
[ Top ] |