Leaked source code of windows server 2003
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
// Copyright (c) 2001 Microsoft Corporation
//
// File: DecisionPage.cpp
//
// Synopsis: Defines Decision Page for the CYS
// Wizard. This page lets the user choose
// between the custom and express paths
//
// History: 02/08/2001 JeffJon Created
#include "pch.h"
#include "resource.h"
#include "InstallationUnitProvider.h"
#include "DecisionPage.h"
static PCWSTR DECISION_PAGE_HELP = L"cys.chm::/cys_topnode.htm";
DecisionPage::DecisionPage() : CYSWizardPage( IDD_DECISION_PAGE, IDS_DECISION_TITLE, IDS_DECISION_SUBTITLE, DECISION_PAGE_HELP) { LOG_CTOR(DecisionPage); }
DecisionPage::~DecisionPage() { LOG_DTOR(DecisionPage); }
void DecisionPage::OnInit() { LOG_FUNCTION(DecisionPage::OnInit);
CYSWizardPage::OnInit();
// Set the text that was too long for the resource
String tooLongText;
if (State::GetInstance().GetNICCount() > 1) { tooLongText = String::load(IDS_DECISION_EXPRESS_MULTIPLE_NICS); } else { tooLongText = String::load(IDS_DECISION_EXPRESS_TOO_LONG_TEXT); }
Win::SetWindowText( Win::GetDlgItem( hwnd, IDC_EXPRESS_TOO_LONG_STATIC), tooLongText);
// NTRAID#NTBUG9-511431-2002/1/14-JeffJon
// Make the user choose which path to go down instead of providing a default
// Win::Button_SetCheck(Win::GetDlgItem(hwnd, IDC_EXPRESS_RADIO), BST_CHECKED);
}
bool DecisionPage::OnSetActive() { LOG_FUNCTION(DecisionPage::OnSetActive);
bool expressChecked = Win::Button_GetCheck( Win::GetDlgItem(hwnd, IDC_EXPRESS_RADIO));
bool customChecked = Win::Button_GetCheck( Win::GetDlgItem(hwnd, IDC_CUSTOM_RADIO));
if (expressChecked || customChecked) { LOG(L"Enabling next and back");
Win::PropSheet_SetWizButtons( Win::GetParent(hwnd), PSWIZB_NEXT | PSWIZB_BACK); } else { LOG(L"Enabling back");
Win::PropSheet_SetWizButtons( Win::GetParent(hwnd), PSWIZB_BACK); }
return true; }
bool DecisionPage::OnCommand( HWND /* windowFrom */ , unsigned controlIDFrom, unsigned code) { // LOG_FUNCTION(DecisionPage::OnCommand);
switch (controlIDFrom) { case IDC_EXPRESS_RADIO: case IDC_CUSTOM_RADIO: if (code == BN_CLICKED) { bool expressChecked = Win::Button_GetCheck( Win::GetDlgItem(hwnd, IDC_EXPRESS_RADIO));
bool customChecked = Win::Button_GetCheck( Win::GetDlgItem(hwnd, IDC_CUSTOM_RADIO));
if (expressChecked || customChecked) { Win::PropSheet_SetWizButtons( Win::GetParent(hwnd), PSWIZB_NEXT | PSWIZB_BACK); } else { Win::PropSheet_SetWizButtons( Win::GetParent(hwnd), PSWIZB_BACK); } } break;
default: { // do nothing
break; } }
return false; }
int DecisionPage::Validate() { LOG_FUNCTION(DecisionPage::Validate);
int nextPage = -1;
if (Win::Button_GetCheck(Win::GetDlgItem(hwnd, IDC_EXPRESS_RADIO))) { nextPage = IDD_AD_DOMAIN_NAME_PAGE;
InstallationUnitProvider::GetInstance().SetCurrentInstallationUnit(EXPRESS_SERVER);
// Make sure all the delegated installation units know we are in the
// express path
InstallationUnitProvider::GetInstance().GetDHCPInstallationUnit().SetExpressPathInstall(true); InstallationUnitProvider::GetInstance().GetDNSInstallationUnit().SetExpressPathInstall(true); InstallationUnitProvider::GetInstance().GetADInstallationUnit().SetExpressPathInstall(true); InstallationUnitProvider::GetInstance().GetRRASInstallationUnit().SetExpressPathInstall(true); } else if (Win::Button_GetCheck(Win::GetDlgItem(hwnd, IDC_CUSTOM_RADIO))) { // Make sure all the delegated installation units know we are no longer
// in the express path (if we once were)
InstallationUnitProvider::GetInstance().GetDHCPInstallationUnit().SetExpressPathInstall(false); InstallationUnitProvider::GetInstance().GetDNSInstallationUnit().SetExpressPathInstall(false); InstallationUnitProvider::GetInstance().GetADInstallationUnit().SetExpressPathInstall(false); InstallationUnitProvider::GetInstance().GetRRASInstallationUnit().SetExpressPathInstall(false);
nextPage = IDD_CUSTOM_SERVER_PAGE; } else { ASSERT(false); }
LOG(String::format( L"nextPage = %1!d!", nextPage));
return nextPage; }
|