00001
00002 #ifndef _MainFrame_H
00003 #define _MainFrame_H
00004
00005 #include "AutoChoice.h"
00006 #include "ProblemChoice.h"
00007
00008 class MainFrame: public wxFrame {
00009 public:
00010 enum {
00011 ID_BUTTON_PROBLEM = 1,
00012 ID_BUTTON_CONFIGURE,
00013 ID_BUTTON_OPTIMIZE,
00014 ID_BUTTON_ABOUT,
00015 ID_METHOD_CHOICE
00016 };
00017
00018 MainFrame(wxWindow* parent, int id, const wxString& title, const wxPoint& pos=wxDefaultPosition, const wxSize& size=wxDefaultSize, long style=wxDEFAULT_FRAME_STYLE);
00019
00020 void OnMethodChoice(wxCommandEvent& event);
00021 void OnConfigure(wxCommandEvent& event);
00022 void OnAbout(wxCommandEvent& event);
00023 void OnClose(wxCloseEvent& event);
00024 void OnOptimize(wxCommandEvent& event);
00025 void OnProblem(wxCommandEvent& event);
00026
00027 private:
00028 void set_properties();
00029 void do_layout();
00030
00031 void ChangeMethodPanel(Method* pMethod);
00032
00033 ProblemBase* mpProblem;
00034
00036 bool mNoProblem;
00037
00038 protected:
00039 wxPanel* mpMainPanel;
00040 wxSplitterWindow* mpSplitter;
00041 wxPanel* mpProblemPane;
00042 wxStaticBox* mpProblemStaticbox;
00043 wxTextCtrl* mpProblemText;
00044 wxButton* mpProblemButton;
00045
00046 wxPanel* mpMethodPane;
00047 wxSizer* mpMethodSizer;
00048
00049 AutoChoice<Method>* mpMethodChoice;
00050 wxPanel* mpMethodPanel;
00051
00052 wxButton* mpAboutButton;
00053 wxButton* mpConfigureButton;
00054 wxButton* mpOptimizeButton;
00055
00056 DECLARE_EVENT_TABLE();
00057 };
00058
00059
00060 #endif // _MainFrame_H