Develop and Download Open Source Software

Browse Subversion Repository

Contents of /WinCS/EXEConfirmDlg.cpp

Parent Directory Parent Directory | Revision Log Revision Log


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

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