Develop and Download Open Source Software

Browse Subversion Repository

Annotation of /WinCS/PluginTransferDlg.cpp

Parent Directory Parent Directory | Revision Log Revision Log


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


1 sho1get 11 #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