Garmin Fleet Management Controller  2.19.0
CSafeModeDlg.cpp
Go to the documentation of this file.
1 /*********************************************************************
2 *
3 * MODULE NAME:
4 * CSafeModeDlg.cpp
5 *
6 * Copyright 2010-2012 by Garmin Ltd. or its subsidiaries.
7 *---------------------------------------------------------------------
8 * $NoKeywords$
9 *********************************************************************/
10 
11 #include "stdafx.h"
12 #include <stdlib.h>
13 #include "CFmiApplication.h"
14 #include "CSafeModeDlg.h"
15 
16 IMPLEMENT_DYNAMIC( CSafeModeDlg, CDialog )
17 
18 BEGIN_MESSAGE_MAP( CSafeModeDlg, CDialog )
19  ON_EN_CHANGE( IDC_SAFE_MODE_SPEED, OnEnChangeSafeModeSpeed )
20  ON_BN_CLICKED( IDOK, OnBnClickedOk )
21 END_MESSAGE_MAP()
22 
23 //--------------------------------------------------------------------
27 //--------------------------------------------------------------------
28 CSafeModeDlg::CSafeModeDlg
29  (
30  CWnd * aParent,
31  FmiApplicationLayer & aCom
32  )
33  : CDialog( IDD_SAFE_MODE, aParent )
34  , mCom( aCom )
35  , speed( _T("") )
36 {
37 }
38 
39 //--------------------------------------------------------------------
41 //--------------------------------------------------------------------
43 {
44 }
45 
46 //---------------------------------------------------------------------
49 //---------------------------------------------------------------------
51  (
52  CDataExchange * aDataExchange
53  )
54 {
55  CDialog::DoDataExchange( aDataExchange );
56  DDX_Text( aDataExchange, IDC_SAFE_MODE_SPEED, speed );
57 }
58 
59 //---------------------------------------------------------------------
65 //---------------------------------------------------------------------
67 {
68  CDialog::OnInitDialog();
69 
70  return TRUE;
71 } /* OnInitDialog() */
72 
73 //---------------------------------------------------------------------
77 //---------------------------------------------------------------------
79 {
80  UpdateData( TRUE );
81  if( speed != "" )
82  GetDlgItem( IDOK )->EnableWindow( TRUE );
83  else
84  GetDlgItem( IDOK )->EnableWindow( FALSE );
85 } /* OnEnChangeSafeModeSpeed() */
86 
87 //---------------------------------------------------------------------
91 //---------------------------------------------------------------------
93 {
94  UpdateData( TRUE );
95  char str[35];
96 
97  WideCharToMultiByte( mCom.mClientCodepage, 0, speed, -1, str, 34, NULL, NULL );
98  str[34] = '\0';
99  mCom.sendFmiSafeModeSpeed( (float)atof( str ) );
100  OnOK();
101 } /* OnBnClickedOk() */
afx_msg void OnEnChangeSafeModeSpeed()
Edit Change handler for Safe Mode Speed text box.
FmiApplicationLayer & mCom
Reference to the FMI communication controller that this dialog uses.
Definition: CSafeModeDlg.h:43
#define FALSE
Definition: garmin_types.h:46
#define TRUE
Definition: garmin_types.h:45
afx_msg void OnBnClickedOk()
Click handler for the OK button.
codepage_type mClientCodepage
Code page used for encoding of text fields when communicating with the client.
Modal dialog allowing the user to set FMI Safe Mode and the threshold speed.
Definition: CSafeModeDlg.h:20
#define IDC_SAFE_MODE_SPEED
Definition: resource.h:396
Serial communication controller for Garmin and FMI packets.
virtual void DoDataExchange(CDataExchange *aDataExchange)
Perform dialog data exchange and validation.
CString speed
Speed entered by the user.
Definition: CSafeModeDlg.h:46
BOOL OnInitDialog()
Initialize the dialog.
#define IDD_SAFE_MODE
Definition: resource.h:48
virtual ~CSafeModeDlg()
Destructor.
void sendFmiSafeModeSpeed(float speed)
Set FMI safe mode speed.