00001
00006 #ifndef _ProblemChoice_h
00007 #define _ProblemChoice_h
00008
00009
00010
00011
00012
00013
00014 #include <wx/wx.h>
00015 #include <wx/choice.h>
00016 #include <wx/string.h>
00017
00018
00019
00020 #include "../ProblemBase.h"
00021
00022
00023
00024
00025
00026 class ProblemChoice
00027 : public wxChoice
00028 {
00029 public:
00030
00031
00034 ProblemChoice(void);
00035
00036
00048 ProblemChoice(wxWindow *pParent,
00049 wxWindowID id,
00050 const wxPoint& pos = wxDefaultPosition,
00051 const wxSize& size = wxDefaultSize,
00052 long style = 0,
00053 const wxString& name = wxT("ProblemChoice"));
00054
00055
00058 ~ProblemChoice(void);
00059
00060
00061
00062
00063
00064
00067 bool Create(wxWindow* pParent,
00068 wxWindowID id,
00069 const wxPoint& pos = wxDefaultPosition,
00070 const wxSize& size = wxDefaultSize,
00071 long style = 0,
00072 const wxString& name = wxT("ProblemChoice"));
00073
00074
00077 std::auto_ptr<ProblemBase> CreateSelected() const;
00078
00079
00080
00081
00084 ProblemBase* GetSelected() const;
00085
00090 int FindProblemIndex
00091 (const ProblemBase* pProblem) const;
00092
00093
00094
00095 protected:
00096
00099 void FillIn();
00100
00101 private:
00102
00103
00104
00105
00106 DECLARE_NO_COPY_CLASS(ProblemChoice);
00107
00108 };
00109
00110
00111
00112
00113
00114
00115
00116 #endif // _ProblemChoice_h