Develop and Download Open Source Software

Browse Subversion Repository

Contents of /WinCS/EXEConfirmDlg.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, 2 months ago) by sho1get
File MIME type: text/x-c++src
File size: 3908 byte(s)


1 #include "stdafx.h"
2 #include "WinCS.h"
3 #include "EXEConfirmDlg.h"
4
5 //////////////////////////////////////////////////////////////////////////
6
7 IMPLEMENT_DYNAMIC(CEXEConfirmDlg, CDialog)
8
9 BEGIN_MESSAGE_MAP(CEXEConfirmDlg, CDialog)
10 ON_BN_CLICKED(IDOK, &CEXEConfirmDlg::OnBnClickedOk)
11 ON_WM_CTLCOLOR()
12 ON_CBN_SELCHANGE(IDC_CMB_EXECONFIRM_MODE, &CEXEConfirmDlg::OnCbnSelchangeCmbExeconfirmMode)
13 END_MESSAGE_MAP()
14
15 CEXEConfirmDlg::CEXEConfirmDlg(CWnd* pParent /*=NULL*/)
16 : CDialog(CEXEConfirmDlg::IDD, pParent),
17 m_fSystem(FALSE),
18 m_nSlaves(0),
19 m_nSystemProcessors(0),
20 m_nSingleProcessors(0)
21 {
22 ZeroMemory(&m_CalcSize, sizeof(m_CalcSize));
23 }
24
25 CEXEConfirmDlg::~CEXEConfirmDlg()
26 {
27 }
28
29 void CEXEConfirmDlg::DoDataExchange(CDataExchange* pDX)
30 {
31 CDialog::DoDataExchange(pDX);
32 DDX_Control(pDX, IDC_CMB_EXECONFIRM_MODE, m_xCmbMode);
33 DDX_Control(pDX, IDC_EDIT_EXECONFIRM_SLAVES, m_xEditSlaves);
34 DDX_Control(pDX, IDC_EDIT_EXECONFIRM_PLUGIN, m_xEditPlugin);
35 DDX_Control(pDX, IDC_EDIT_EXECONFIRM_PARAMS, m_xEditArgument);
36 DDX_Control(pDX, IDC_EDIT_EXECONFIRM_WIDTH, m_xEditWidth);
37 DDX_Control(pDX, IDC_EDIT_EXECONFIRM_HEIGHT, m_xEditHeight);
38 DDX_Control(pDX, IDC_EDIT_EXECONFIRM_RANGE, m_xEditRange);
39 DDX_Control(pDX, IDC_EDIT_EXECONFIRM_PROCESSORS, m_xEditProcessors);
40 }
41
42 BOOL CEXEConfirmDlg::OnInitDialog()
43 {
44 CDialog::OnInitDialog();
45
46 m_xCmbMode.AddString(_T("Single"));
47 m_xCmbMode.AddString(_T("System"));
48 m_xCmbMode.SetCurSel(0);
49
50 m_xEditSlaves.SetWindowText(DwToString(m_nSlaves));
51 m_xEditProcessors.SetWindowText(DwToString(m_nSingleProcessors));
52 m_xEditPlugin.SetWindowText(m_csModule);
53 m_xEditWidth.SetWindowText(DwToString(m_CalcSize.nWidth));
54 m_xEditHeight.SetWindowText(DwToString(m_CalcSize.nHeight));
55 m_xEditRange.SetWindowText(DwToString(m_CalcSize.nRange));
56 m_xEditRange.EnableWindow(FALSE);
57 m_xEditArgument.SetFocus();
58
59 return FALSE;
60 }
61
62 void CEXEConfirmDlg::OnBnClickedOk()
63 {
64 CString cs, csRange;
65 UINT nWidth, nHeight, nRange;
66 BOOL fWidth, fHeight, fRange;
67 int nMode = m_xCmbMode.GetCurSel();
68
69 if ((nMode == 1) && (m_nSlaves < 1))
70 {
71 cs.LoadString(IDS_WCS_ERROR_EXECUTION_MODE_SELECT);
72 AfxMessageBox(cs);
73 return;
74 }
75
76 nWidth = GetDlgItemInt(IDC_EDIT_EXECONFIRM_WIDTH, &fWidth, TRUE);
77 nHeight = GetDlgItemInt(IDC_EDIT_EXECONFIRM_HEIGHT, &fHeight, TRUE);
78 nRange = GetDlgItemInt(IDC_EDIT_EXECONFIRM_RANGE, &fRange, TRUE);
79
80 if (!fWidth || !fHeight || !fRange)
81 {
82 cs.LoadString(IDS_WCS_ERROR_INVALID_VALUE);
83 AfxMessageBox(cs);
84 fWidth ? m_xEditWidth.SetFocus() : (fHeight ? m_xEditHeight.SetFocus() : m_xEditRange.SetFocus());
85 return;
86 }
87
88 if ((m_nSlaves * nRange) > nWidth || nRange < 1)
89 {
90 csRange.LoadString(IDS_WCS_ERROR_CALCULATION_RANGE);
91 cs.Format(_T("%s\r\nRange: 1 - %d"), csRange, (nWidth / m_nSlaves));
92 AfxMessageBox(cs);
93 m_xEditRange.SetFocus();
94 return;
95 }
96
97 m_CalcSize.nWidth = nWidth;
98 m_CalcSize.nHeight = nHeight;
99 m_CalcSize.nRange = nRange;
100 m_fSystem = (nMode == 1);
101 m_xEditArgument.GetWindowText(m_csArgument);
102
103 OnOK();
104 }
105
106 HBRUSH CEXEConfirmDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
107 {
108 HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
109 int nCtlID = pWnd->GetDlgCtrlID();
110
111 switch (nCtlID)
112 {
113 case IDC_EDIT_EXECONFIRM_SLAVES:
114 case IDC_EDIT_EXECONFIRM_PLUGIN:
115 case IDC_EDIT_EXECONFIRM_PROCESSORS:
116 hbr = static_cast<HBRUSH>(GetStockObject(WHITE_BRUSH));
117 pDC->SetBkColor(RGB(255, 255, 255));
118 break;
119 }
120
121 return hbr;
122 }
123
124 void CEXEConfirmDlg::OnCbnSelchangeCmbExeconfirmMode()
125 {
126 BOOL fSystem = (m_xCmbMode.GetCurSel() == 1);
127 UINT nProcessors = fSystem ? m_nSystemProcessors : m_nSingleProcessors;
128 m_xEditProcessors.SetWindowText(DwToString(nProcessors));
129 m_xEditRange.EnableWindow(fSystem);
130 }
131
132 //////////////////////////////////////////////////////////////////////////
133

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