Develop and Download Open Source Software

Browse Subversion Repository

Annotation of /WinCS/EXEConfirmDlg.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: 3908 byte(s)


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