00001 00007 #ifndef _MethodPanelInfo_h 00008 #define _MethodPanelInfo_h 00009 00010 // SYSTEM INCLUDES 00011 // 00012 00013 // PROJECT INCLUDES 00014 // 00015 00016 // LOCAL INCLUDES 00017 // 00018 #include "../Method.h" 00019 #include "../ProblemBase.h" 00020 00021 // FORWARD REFERENCES 00022 // 00023 00024 00025 class MethodPanelInfo 00026 { 00027 public: 00028 00029 enum Type { 00030 STANDALONE, 00031 LINESEARCH 00032 }; 00033 00034 // LIFECYCLE 00035 00038 MethodPanelInfo(Method* pMethod, 00039 wxWindow* pParent, 00040 const ProblemBase* pProblem); 00041 00044 MethodPanelInfo(Method* pMethod, 00045 wxWindow* pParent); 00046 00051 MethodPanelInfo(const MethodPanelInfo& from); 00052 00053 00056 ~MethodPanelInfo(void); 00057 00058 00059 // OPERATORS 00060 00067 MethodPanelInfo& operator=(const MethodPanelInfo& from); 00068 00069 // OPERATIONS 00070 // ACCESS 00071 00074 Type PanelType() const; 00075 00078 Method* pMethod() const; 00079 00082 wxWindow* pParent() const; 00083 00086 const ProblemBase* pProblem() const; 00087 00088 // INQUIRY 00089 00090 protected: 00091 private: 00092 00093 Type mType; 00094 Method* mpMethod; 00095 wxWindow* mpParent; 00096 const ProblemBase* mpProblem; 00097 }; 00098 00099 // INLINE METHODS 00100 // 00101 00102 // EXTERNAL REFERENCES 00103 // 00104 00105 #endif // _MethodPanelInfo_h