Garmin Fleet Management Controller  2.19.0
CUITextChangeDlg.cpp
Go to the documentation of this file.
1 /*********************************************************************
2 *
3 * MODULE NAME:
4 * CUITextChangeDlg.cpp
5 *
6 * Copyright 2008-2009 by Garmin Ltd. or its subsidiaries.
7 *---------------------------------------------------------------------
8 * $NoKeywords$
9 *********************************************************************/
10 #include "stdafx.h"
11 #include "CFmiApplication.h"
12 #include "CUITextChangeDlg.h"
13 
14 IMPLEMENT_DYNAMIC( CUITextChangeDlg, CDialog )
15 
16 BEGIN_MESSAGE_MAP( CUITextChangeDlg, CDialog )
17  ON_EN_CHANGE( IDC_UITEXT_EDIT_NEWTEXT, OnChange )
18  ON_CBN_SELCHANGE( IDC_UITEXT_CBO_ITEM, OnChange )
19  ON_BN_CLICKED( IDOK, OnBnClickedOk )
20 END_MESSAGE_MAP()
21 
22 //----------------------------------------------------------------------
26 //----------------------------------------------------------------------
27 CUITextChangeDlg::CUITextChangeDlg
28  (
29  CWnd * aParent,
30  FmiApplicationLayer & aCom
31  )
32  : CDialog( IDD_UI_TEXT_CHANGE, aParent )
33  , mCom( aCom )
34  , mListIndex( 0 )
35  , mNewText( _T("") )
36 {
37 }
38 
39 //----------------------------------------------------------------------
41 //----------------------------------------------------------------------
43 {
44 }
45 
46 //----------------------------------------------------------------------
49 //----------------------------------------------------------------------
51  (
52  CDataExchange * aDataExchange
53  )
54 {
55  CDialog::DoDataExchange( aDataExchange );
56  DDX_CBIndex( aDataExchange, IDC_UITEXT_CBO_ITEM, mListIndex );
57  DDX_Text( aDataExchange, IDC_UITEXT_EDIT_NEWTEXT, mNewText );
58 }
59 
60 //----------------------------------------------------------------------
66 //----------------------------------------------------------------------
68 {
69  CDialog::OnInitDialog();
70  return TRUE;
71 } /* OnInitDialog() */
72 
73 //----------------------------------------------------------------------
77 //----------------------------------------------------------------------
79 {
80  BOOL formValid = TRUE;
81 
82 #if !SKIP_VALIDATION
83  UpdateData( TRUE );
84  if( mListIndex == -1 || mNewText.GetLength() == 0 || mNewText.GetLength() >= 50 )
85  formValid = FALSE;
86 #endif
87 
88  if( formValid )
89  GetDlgItem( IDOK )->EnableWindow( TRUE );
90  else
91  GetDlgItem( IDOK )->EnableWindow( FALSE );
92 }
93 
94 //----------------------------------------------------------------------
98 //----------------------------------------------------------------------
100 {
101  char uiText[50];
102 
103  UpdateData( TRUE );
104 
105  WideCharToMultiByte( mCom.mClientCodepage, 0, mNewText, -1, uiText, 50, NULL, NULL );
106  uiText[49] = '\0';
107 
109  OnOK();
110 }
#define IDC_UITEXT_CBO_ITEM
Definition: resource.h:336
afx_msg void OnBnClickedOk()
Click handler for the OK button.
FmiApplicationLayer & mCom
Reference to the FMI communication controller that this dialog uses.
int mListIndex
Index of the selected user interface element.
#define FALSE
Definition: garmin_types.h:46
virtual ~CUITextChangeDlg()
Destructor.
#define TRUE
Definition: garmin_types.h:45
BOOL OnInitDialog()
Initialize the dialog.
codepage_type mClientCodepage
Code page used for encoding of text fields when communicating with the client.
void sendUserInterfaceText(uint32 aElementId, char *aText)
Request that the text of a particular user interface text element be changed.
Serial communication controller for Garmin and FMI packets.
virtual void DoDataExchange(CDataExchange *aDataExchange)
Perform dialog data exchange and validation.
Dialog allowing the user to change certain UI text elements on the client.
#define IDD_UI_TEXT_CHANGE
Definition: resource.h:44
#define IDC_UITEXT_EDIT_NEWTEXT
Definition: resource.h:337
CString mNewText
The new text entered by the user for the selected element.
afx_msg void OnChange()
Change handler for all controls on the dialog.