|
|
#include "stdafx.h"
#include "compdata.h"
#include "wizinfo.hpp"
#include "ncgen.hpp"
// FUTURE-2002-03/94/2002-dantra-This class has virtually no documentation.
const DWORD NewClassGeneralPage::help_map[] = { IDC_CREATE_CLASS_CN, IDH_CREATE_CLASS_CN, IDC_CREATE_CLASS_LDN, IDH_CREATE_CLASS_LDN, IDC_CREATE_CLASS_OID, IDH_CREATE_CLASS_OID, IDC_DESCRIPTION_EDIT, IDH_CLASS_GENERAL_DESCRIPTION_EDIT, IDC_CREATE_CLASS_PARENT, IDH_CREATE_CLASS_PARENT, IDC_CREATE_CLASS_TYPE, IDH_CREATE_CLASS_TYPE, 0,0 };
BEGIN_MESSAGE_MAP(NewClassGeneralPage, CPropertyPage) ON_MESSAGE(WM_HELP, OnHelp) ON_MESSAGE(WM_CONTEXTMENU, OnContextHelp) END_MESSAGE_MAP()
NewClassGeneralPage::NewClassGeneralPage(CreateClassWizardInfo* pWi) : CPropertyPage(IDD_CREATE_CLASS_GENERAL), m_editOID( CParsedEdit::EDIT_TYPE_OID ) { ASSERT( pWi ); pWiz_info = pWi; }
BOOL NewClassGeneralPage::OnInitDialog() { CPropertyPage::OnInitDialog(); // load the combo box
HWND combo = ::GetDlgItem(m_hWnd, IDC_CREATE_CLASS_TYPE); ASSERT( combo );
ComboBox_AddString(combo, g_StructuralClass); ComboBox_AddString(combo, g_AbstractClass); ComboBox_AddString(combo, g_AuxClass); ComboBox_SetCurSel(combo, 0);
// set boundaries
Edit_LimitText(::GetDlgItem(m_hWnd, IDC_CREATE_CLASS_CN), 64); Edit_LimitText(::GetDlgItem(m_hWnd, IDC_CREATE_CLASS_LDN), 256); Edit_LimitText(::GetDlgItem(m_hWnd, IDC_CREATE_CLASS_PARENT), 256); Edit_LimitText(::GetDlgItem(m_hWnd, IDC_DESCRIPTION_EDIT), 256); m_editOID.SubclassEdit( IDC_CREATE_CLASS_OID, this, cchMaxOID );
return FALSE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
}
BOOL NewClassGeneralPage::OnSetActive() { CPropertySheet* parent = (CPropertySheet*) GetParent(); parent->SetWizardButtons(PSWIZB_NEXT);
return TRUE; }
void Gripe(HWND parent, CEdit* edit, unsigned messageResID) { ASSERT(edit);
DoErrMsgBox(parent, TRUE, messageResID); edit->SetFocus(); edit->SetSel(0, -1); }
BOOL NewClassGeneralPage::OnKillActive() { // NTRAID#NTBUG9-562426-2002/03/04-dantra-GetDlgItemText Result being ignored
// save the settings
GetDlgItemText(IDC_CREATE_CLASS_CN, pWiz_info->cn); GetDlgItemText(IDC_CREATE_CLASS_LDN, pWiz_info->ldapDisplayName); GetDlgItemText(IDC_CREATE_CLASS_OID, pWiz_info->oid); GetDlgItemText(IDC_DESCRIPTION_EDIT, pWiz_info->description); GetDlgItemText(IDC_CREATE_CLASS_PARENT, pWiz_info->parentClass); pWiz_info->type = ComboBox_GetCurSel(::GetDlgItem(m_hWnd, IDC_CREATE_CLASS_TYPE));
// validate
// do cn first, as it appears at the top of the page
if (pWiz_info->cn.IsEmpty()) { Gripe(m_hWnd, (CEdit*) GetDlgItem(IDC_CREATE_CLASS_CN), IDS_MUST_ENTER_CN); return FALSE; } //
// Check for valid OID
//
int errorTypeStrID = 0; if (!OIDHasValidFormat(pWiz_info->oid, errorTypeStrID)) { CString errorType; CString text;
VERIFY (errorType.LoadString(errorTypeStrID)); text.FormatMessage(IDS_OID_FORMAT_INVALID, pWiz_info->oid, errorType);
DoErrMsgBox( ::GetActiveWindow(), TRUE, text ); return FALSE; }
return TRUE; }
|