Develop and Download Open Source Software

Browse Subversion Repository

Contents of /WinCS/PluginTransferDlg.cpp

Parent Directory Parent Directory | Revision Log Revision Log


Revision 11 - (show annotations) (download) (as text)
Wed Feb 10 18:21:00 2010 UTC (14 years ago) by sho1get
File MIME type: text/x-c++src
File size: 4414 byte(s)


1 #include "stdafx.h"
2 #include "WinCS.h"
3 #include "PluginTransferDlg.h"
4
5 IMPLEMENT_DYNAMIC(CPluginTransferDlg, CDialog)
6
7 BEGIN_MESSAGE_MAP(CPluginTransferDlg, CDialog)
8 ON_BN_CLICKED(IDOK, &CPluginTransferDlg::OnBnClickedOk)
9 ON_BN_CLICKED(IDC_BTN_PLUGIN_TRANSFER_SEND, &CPluginTransferDlg::OnBnClickedBtnPluginTransferSend)
10 ON_WM_CTLCOLOR()
11 ON_MESSAGE(WM_PLUGIN_TRANSFER_ERROR, &CPluginTransferDlg::OnPluginTransferError)
12 ON_WM_CLOSE()
13 END_MESSAGE_MAP()
14
15 //////////////////////////////////////////////////////////////////////////
16
17 CPluginTransferDlg::CPluginTransferDlg(CWnd* pParent /*=NULL*/)
18 : CDialog(CPluginTransferDlg::IDD, pParent)
19 {
20 m_hIcon = AfxGetApp()->LoadIcon(IDI_TRANSFER);
21 }
22
23 CPluginTransferDlg::~CPluginTransferDlg()
24 {
25 }
26
27 void CPluginTransferDlg::DoDataExchange(CDataExchange* pDX)
28 {
29 CDialog::DoDataExchange(pDX);
30 DDX_Control(pDX, IDC_LIST_PLUGIN_TRANSFER_PLUGIN, m_xListPlugin);
31 DDX_Control(pDX, IDC_EDIT_PLUGIN_TRANSFER_PLUGIN, m_xEditPlugin);
32 DDX_Control(pDX, IDC_EDIT_PLUGIN_TRANSFER_SENDTO, m_xEditSendTo);
33 DDX_Control(pDX, IDC_BTN_PLUGIN_TRANSFER_SEND, m_xBtnSend);
34 DDX_Control(pDX, IDC_TXT_PLUGIN_TRANSFER_STATE, m_xTxtState);
35 DDX_Control(pDX, IDC_TXT_PLUGIN_TRANSFER_PERCENT, m_xTxtPercent);
36 DDX_Control(pDX, IDC_PRG_PLUGIN_TRANSFER_PROGRESS, m_xProgress);
37 }
38
39 HBRUSH CPluginTransferDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
40 {
41 HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
42 int nCtlID = pWnd->GetDlgCtrlID();
43
44 switch (nCtlID)
45 {
46 case IDC_EDIT_PLUGIN_TRANSFER_PLUGIN:
47 case IDC_EDIT_PLUGIN_TRANSFER_SENDTO:
48 hbr = static_cast<HBRUSH>(GetStockObject(WHITE_BRUSH));
49 pDC->SetBkColor(RGB(255, 255, 255));
50 break;
51 }
52
53 return hbr;
54 }
55
56 LRESULT CPluginTransferDlg::OnPluginTransferError(WPARAM wParam, LPARAM lParam)
57 {
58 CString cs1, cs2, csModule;
59 UINT nIndex = static_cast<UINT>(wParam);
60 UINT nSize = m_Pluginlist.GetSize();
61
62 if (nSize > nIndex)
63 {
64 csModule = m_Pluginlist[nIndex].csModuleName;
65 cs1.LoadString(IDS_WCS_ERROR_PLUGIN_TRANSFER);
66 cs2.Format(_T("%s\r\nPlugin: %s"), cs1, csModule);
67 AfxMessageBox(cs2);
68 }
69
70 return TRUE;
71 }
72
73 void CPluginTransferDlg::OnClose()
74 {
75 m_fSending = FALSE;
76 CDialog::OnClose();
77 }
78
79 BOOL CPluginTransferDlg::OnInitDialog()
80 {
81 CDialog::OnInitDialog();
82
83 UINT nSize;
84
85 SetIcon(m_hIcon, TRUE);
86 SetIcon(m_hIcon, FALSE);
87
88 m_fSending = FALSE;
89 m_xProgress.SetRange(0, 100);
90 SetProgress(0);
91
92 m_xEditPlugin.SetWindowText(STRING_NONE);
93 m_xEditSendTo.SetWindowText(STRING_NONE);
94
95 nSize = m_Pluginlist.GetSize();
96
97 for (UINT i = 0; i < nSize; i++)
98 {
99 m_xListPlugin.AddString(m_Pluginlist[i].csModuleName);
100 }
101
102 return TRUE;
103 }
104
105 void CPluginTransferDlg::OnBnClickedBtnPluginTransferSend()
106 {
107 CString cs;
108 UINT nSize = m_xListPlugin.GetCount();
109
110 m_SendList.RemoveAll();
111
112 for (UINT i = 0; i < nSize; i++)
113 {
114 if (m_xListPlugin.GetCheck(i) == BST_CHECKED)
115 {
116 m_SendList.Add(i);
117 }
118 }
119
120 if (m_SendList.GetSize() > 0)
121 {
122 m_fSending = TRUE;
123 m_xBtnSend.EnableWindow(FALSE);
124 m_xListPlugin.EnableWindow(FALSE);
125 m_pTgtWnd->PostMessage(WM_PLUGIN_SENDING);
126 }
127 else
128 {
129 cs.LoadString(IDS_WCS_ERROR_PLUGIN_TRANSFER_SELECT);
130 AfxMessageBox(cs);
131 }
132 }
133
134 void CPluginTransferDlg::SetSendToSlave(WORD wNodeID, DWORD dwAddress)
135 {
136 CString cs;
137 cs.Format(_T("[%d] - %s"), wNodeID, DwToIPAddress(dwAddress));
138 m_xEditSendTo.SetWindowText(cs);
139 }
140
141 void CPluginTransferDlg::SetProgress(int nPoint)
142 {
143 CString cs;
144 UINT nSize;
145
146 switch (nPoint)
147 {
148 case 0:
149 m_xTxtState.SetWindowText(_T("Idle"));
150 break;
151
152 case 100:
153 m_xTxtState.SetWindowText(_T("Finish!"));
154 break;
155
156 default:
157 m_xTxtState.SetWindowText(_T("Sending..."));
158 break;
159 }
160
161 cs.Format(_T("%d%%"), nPoint);
162 m_xTxtPercent.SetWindowText(cs);
163 m_xProgress.SetPos(nPoint);
164
165 if (nPoint == 100)
166 {
167 CMsgBox::Information(_T("Completed"), _T("Transfer"), m_hWnd);
168
169 m_fSending = FALSE;
170 nSize = m_xListPlugin.GetCount();
171
172 for (UINT i = 0; i < nSize; i++)
173 {
174 m_xListPlugin.SetCheck(i, BST_UNCHECKED);
175 }
176
177 m_xBtnSend.EnableWindow(TRUE);
178 m_xListPlugin.EnableWindow(TRUE);
179 SetProgress(0);
180 m_xEditPlugin.SetWindowText(STRING_NONE);
181 m_xEditSendTo.SetWindowText(STRING_NONE);
182 }
183 }
184
185 //////////////////////////////////////////////////////////////////////////
186

Back to OSDN">Back to OSDN
ViewVC Help
Powered by ViewVC 1.1.26