-
Notifications
You must be signed in to change notification settings - Fork 5
/
SRBatchEditDlg.h
162 lines (123 loc) · 5.08 KB
/
SRBatchEditDlg.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
/*===========================================================================
*
* File: Srbatcheditdlg.H
* Author: Dave Humphrey ([email protected])
* Created On: 26 November 2011
*
* Description
*
*=========================================================================*/
#ifndef __SRBATCHEDITDLG_H
#define __SRBATCHEDITDLG_H
/*===========================================================================
*
* Begin Required Includes
*
*=========================================================================*/
#include "dialogs/srrecorddialog.h"
#include "srbatchlistctrl.h"
/*===========================================================================
* End of Required Includes
*=========================================================================*/
/*===========================================================================
*
* Begin Definitions
*
*=========================================================================*/
/*===========================================================================
* End of Definitions
*=========================================================================*/
/*===========================================================================
*
* Begin Type Definitions
*
*=========================================================================*/
typedef CSrPtrArray<srbatchfieldinfo_t> CSrBatchFieldInfoArray;
/*===========================================================================
* End of Type Definitions
*=========================================================================*/
/*===========================================================================
*
* Begin Class CSrBatchEditDlg Definition
*
*=========================================================================*/
class CSrBatchEditDlg : public CSrRecordDialog {
DECLARE_DYNCREATE(CSrBatchEditDlg);
/*---------- Begin Protected Class Members -----------------------*/
protected:
CSrRefRecordArray m_Records;
int m_CurrentEditItem;
bool m_Initialized;
bool m_IsChanging;
CSrBatchFieldInfoArray m_Fields;
dword m_SavedFieldCount;
/*---------- Begin Protected Class Methods -----------------------*/
protected:
/* Creates the field array */
void AddFields (CSrRecord* pRecord);
void RemoveMissingFields (CSrRecord* pRecord);
void CreateFieldArray (void);
void FillFieldList (void);
/* Helper update methods */
CSrRecord* PrepareRecord (CSrRecord* pRecord);
bool UpdateFields (CSrRecord* pRecord);
/* Update the edit control */
void UpdateEditCtrl (const int NewIndex);
/*---------- Begin Public Class Methods --------------------------*/
public:
/* Construction */
CSrBatchEditDlg(CWnd* pParent = NULL);
/* Set records to the edited */
void AddEditRecords (CSrRefRecordArray& Records);
void AddEditRecords (CSrRecordArray& Records);
/* Get class members */
CSrRefRecordArray& GetRecords (void) { return (m_Records); }
dword GetNumRecords (void) { return (m_Records.GetSize()); }
/* Check if the dialog is editing the given record */
virtual bool IsEditRecord (CSrRecord* pRecord);
/* Set and get control data */
virtual void ClearControlData (void);
virtual void GetControlData (void);
virtual void SetControlData (void);
virtual void SetTitle (const SSCHAR* pEditorID);
virtual void UpdateSaveFields (void);
/* Events */
virtual void OnApply (void);
virtual void OnSave (void);
virtual void OnCancel (void);
//{{AFX_DATA(CSrBatchEditDlg)
enum { IDD = IDD_BATCHEDIT_DLG };
CSrBatchListCtrl m_FieldList;
CEdit m_EditCtrl;
//}}AFX_DATA
/* ClassWizard generated virtual function overrides */
//{{AFX_VIRTUAL(CSrBatchEditDlg)
protected:
virtual void DoDataExchange(CDataExchange* pDX);
virtual void OnInitialUpdate();
//}}AFX_VIRTUAL
protected:
/* Generated message map functions */
//{{AFX_MSG(CSrBatchEditDlg)
afx_msg void OnItemchangedFieldList(NMHDR* pNMHDR, LRESULT* pResult);
afx_msg void OnKillfocusFieldList(NMHDR* pNMHDR, LRESULT* pResult);
afx_msg void OnKillfocusBatchEdit(void);
afx_msg void OnSetfocusFieldList(NMHDR* pNMHDR, LRESULT* pResult);
afx_msg void OnChangeEditCtrl (void);
afx_msg void OnUncheckAll (void);
afx_msg void OnCheckAll (void);
afx_msg void OnVScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar);
afx_msg void OnClickFieldList(NMHDR* pNMHDR, LRESULT* pResult);
afx_msg LRESULT OnEditUpdate (WPARAM mParam, LPARAM lParam);
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
};
/*===========================================================================
* End of Class CSrBatchEditDlg Definition
*=========================================================================*/
//{{AFX_INSERT_LOCATION}}
//}}AFX_INSERT_LOCATION
#endif
/*===========================================================================
* End of File Srbatcheditdlg.H
*=========================================================================*/