00001 #if !defined(AFX_ROADFEATURESDLG_H__72BAD1EF_0F8E_4D4B_98E1_C93C7732E4AD__INCLUDED_) 00002 #define AFX_ROADFEATURESDLG_H__72BAD1EF_0F8E_4D4B_98E1_C93C7732E4AD__INCLUDED_ 00003 00004 #if _MSC_VER > 1000 00005 #pragma once 00006 #endif // _MSC_VER > 1000 00007 // RoadFeaturesDlg.h : header file 00008 // 00009 00011 // CRoadFeaturesDlg dialog 00012 00013 #include "MiscCtrls\DialogExt.h" 00014 #include "GridCtrl_src\GridCtrl.h" 00015 #include "afxcoll.h" // for CObArray 00016 00019 class CRoadFeaturesDlg : public CDialogExt 00020 { 00021 // Construction 00022 public: 00023 int m_RoadLength; 00024 CRoadFeaturesDlg(CWnd* pParent = NULL); // standard constructor 00025 00026 // Dialog Data 00027 //{{AFX_DATA(CRoadFeaturesDlg) 00028 enum { IDD = IDD_ROADFEATURES }; 00029 int m_nFixCols; 00030 int m_nFixRows; 00031 int m_nCols; 00032 int m_nRows; 00033 CObArray m_vRoadFeatures; 00034 //}}AFX_DATA 00035 CGridCtrl m_Grid; 00036 00037 00038 // Overrides 00039 virtual void OnValidate (UINT &nID, CString &strMessage); 00040 // ClassWizard generated virtual function overrides 00041 //{{AFX_VIRTUAL(CRoadFeaturesDlg) 00042 protected: 00043 virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support 00044 //}}AFX_VIRTUAL 00045 00046 // Implementation 00047 protected: 00048 00049 // Generated message map functions 00050 //{{AFX_MSG(CRoadFeaturesDlg) 00051 virtual BOOL OnInitDialog(); 00052 afx_msg void OnBtnAddfeat(); 00053 afx_msg void OnBtnDelfeat(); 00054 void OnGridEndEdit(NMHDR *pNotifyStruct, LRESULT* pResult); 00055 //}}AFX_MSG 00056 00057 DECLARE_MESSAGE_MAP() 00058 private: 00059 WORD MapStringToType(CString str); 00060 void SetParamData(int row, int col, double val); 00061 void SetParamData(int row, int col, CString str); 00062 CString MapTypeToString(WORD type); 00063 void LoadFeaturesIntoGrid(); 00064 void SetCells(bool bAddDelete); 00065 void SetGridHeadings(); 00066 00067 int m_NoFeatures; 00068 CStringArray m_sDirections; 00069 CStringArray m_sFeatureTypes; 00070 CStringArray m_sColumnHeaders; 00071 00072 int MAX_SLOPE; 00073 int SPEEDLIMIT_MIN; 00074 int SPEEDLIMIT_MAX; 00075 00076 }; 00077 00078 //{{AFX_INSERT_LOCATION}} 00079 // Microsoft Visual C++ will insert additional declarations immediately before the previous line. 00080 00081 #endif // !defined(AFX_ROADFEATURESDLG_H__72BAD1EF_0F8E_4D4B_98E1_C93C7732E4AD__INCLUDED_)