SetupDlg.cpp
上传用户:pumpssky
上传日期:2007-12-07
资源大小:110k
文件大小:3k
源码类别:

MacOS编程

开发平台:

C/C++

  1. // SetupDlg.cpp : implementation file
  2. //
  3. #include "stdafx.h"
  4. #include "gmark.h"
  5. #include "SetupDlg.h"
  6. #include "define.h"
  7. #ifdef _DEBUG
  8. #define new DEBUG_NEW
  9. #undef THIS_FILE
  10. static char THIS_FILE[] = __FILE__;
  11. #endif
  12. extern CONF_DATA gtConfData;
  13. /////////////////////////////////////////////////////////////////////////////
  14. // CSetupDlg dialog
  15. CSetupDlg::CSetupDlg(CWnd* pParent /*=NULL*/)
  16. : CDialog(CSetupDlg::IDD, pParent)
  17. {
  18. //{{AFX_DATA_INIT(CSetupDlg)
  19. m_bAutoStart = -1;
  20. m_szRoverID = _T("");
  21. m_szRoverDesc = _T("");
  22. m_dOrigLon = 0.0;
  23. m_dOrigLat = 0.0;
  24. m_bDispGGA = FALSE;
  25. m_bDispRTCM = FALSE;
  26. //}}AFX_DATA_INIT
  27. }
  28. void CSetupDlg::DoDataExchange(CDataExchange* pDX)
  29. {
  30. CDialog::DoDataExchange(pDX);
  31. //{{AFX_DATA_MAP(CSetupDlg)
  32. DDX_Radio(pDX, IDC_RADIO_AUTO, m_bAutoStart);
  33. DDX_Text(pDX, IDC_EDIT_ROVERID, m_szRoverID);
  34. DDV_MaxChars(pDX, m_szRoverID, 3);
  35. DDX_Text(pDX, IDC_EDIT_ROVERDES, m_szRoverDesc);
  36. DDV_MaxChars(pDX, m_szRoverDesc, 20);
  37. DDX_Text(pDX, IDC_EDIT_REFLON, m_dOrigLon);
  38. DDX_Text(pDX, IDC_EDIT_REFLAT, m_dOrigLat);
  39. DDX_Check(pDX, IDC_CHECK_DISPGGA, m_bDispGGA);
  40. DDX_Check(pDX, IDC_CHECK_DISPRTCM, m_bDispRTCM);
  41. //}}AFX_DATA_MAP
  42. }
  43. BEGIN_MESSAGE_MAP(CSetupDlg, CDialog)
  44. //{{AFX_MSG_MAP(CSetupDlg)
  45. ON_BN_CLICKED(IDC_BUTTON_SAVE, OnButtonSave)
  46. ON_BN_CLICKED(IDC_BUTTON_CLEAR, OnButtonClear)
  47. //}}AFX_MSG_MAP
  48. END_MESSAGE_MAP()
  49. /////////////////////////////////////////////////////////////////////////////
  50. // CSetupDlg message handlers
  51. void CSetupDlg::OnButtonSave() 
  52. {
  53. // TODO: Add your control notification handler code here
  54. UpdateData();
  55. if(m_bAutoStart == 0) gtConfData.bAutoStart = TRUE;
  56. else gtConfData.bAutoStart = FALSE;
  57. gtConfData.bDispNEMA = m_bDispGGA;
  58. gtConfData.bDispRTCM = m_bDispRTCM;
  59. wcstombs(gtConfData.szRoverID, m_szRoverID.GetBuffer(0), sizeof(gtConfData.szRoverID));
  60. wcstombs(gtConfData.szRoverDesc, m_szRoverDesc.GetBuffer(0), sizeof(gtConfData.szRoverDesc));
  61. gtConfData.dOrigLon = m_dOrigLon;
  62. gtConfData.dOrigLat = m_dOrigLat;
  63. //Save to file
  64. FILE *fp;
  65. #ifndef _WIN32_WCE_CEPC
  66. fp = fopen("\ResidentFlash\config.txt","wt");
  67. #else
  68. fp = fopen("\config.txt","wt");
  69. #endif
  70. if(fp == NULL)
  71. {
  72. // MessageBox(_T("Open configuration file failed"));
  73. // return;
  74. }
  75. fprintf(fp, "%sn", gtConfData.szRoverID);
  76. fprintf(fp, "%sn", gtConfData.szRoverDesc);
  77. fprintf(fp, "%sn", gtConfData.szBaseIP);
  78. fprintf(fp, "%fn", gtConfData.dOrigLon);
  79. fprintf(fp, "%fn", gtConfData.dOrigLat);
  80. fprintf(fp, "%dn", gtConfData.bAutoStart);
  81. fprintf(fp, "%dn", gtConfData.bDispNEMA);
  82. fprintf(fp, "%dn", gtConfData.bDispRTCM);
  83. fclose(fp);
  84. }
  85. void CSetupDlg::OnButtonClear() 
  86. {
  87. // TODO: Add your control notification handler code here
  88. if(gtConfData.bAutoStart)
  89. {
  90. m_bAutoStart = 0;
  91. }
  92. else
  93. {
  94. m_bAutoStart = 1;
  95. }
  96. if(gtConfData.bDispNEMA)
  97. {
  98. m_bDispGGA = 1;
  99. }
  100. else
  101. {
  102. m_bDispGGA = 0;
  103. }
  104. if(gtConfData.bDispRTCM)
  105. {
  106. m_bDispRTCM = 1;
  107. }
  108. else
  109. {
  110. m_bDispRTCM = 0;
  111. }
  112. m_szRoverID = gtConfData.szRoverID;
  113. m_szRoverDesc = gtConfData.szRoverDesc;
  114. m_dOrigLon = gtConfData.dOrigLon;
  115. m_dOrigLat = gtConfData.dOrigLat;
  116. UpdateData(FALSE);
  117. }
  118. BOOL CSetupDlg::OnInitDialog() 
  119. {
  120. CDialog::OnInitDialog();
  121. // TODO: Add extra initialization here
  122. OnButtonClear();
  123. return TRUE;  // return TRUE unless you set the focus to a control
  124.               // EXCEPTION: OCX Property Pages should return FALSE
  125. }