Source code of Windows XP (NT5)
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) 1997-2001 Microsoft Corporation
//
// allow user to set forest version
// NTRAID#NTBUG9-159663-2001/04/18-sburns
//
// 18 Apr 2001 sburns
#include "headers.hxx"
#include "resource.h"
#include "page.hpp"
#include "ForestVersionPage.hpp"
#include "state.hpp"
ForestVersionPage::ForestVersionPage() : DCPromoWizardPage( IDD_FOREST_VERSION, IDS_FOREST_VERSION_PAGE_TITLE, IDS_FOREST_VERSION_PAGE_SUBTITLE) { LOG_CTOR(ForestVersionPage); }
ForestVersionPage::~ForestVersionPage() { LOG_DTOR(ForestVersionPage); }
void ForestVersionPage::OnInit() { LOG_FUNCTION(ForestVersionPage::OnInit);
State& state = State::GetInstance(); if (state.UsingAnswerFile()) { String option = state.GetAnswerFileOption(State::OPTION_SET_FOREST_VERSION); if (option.icompare(State::VALUE_YES) == 0) { Win::CheckDlgButton(hwnd, IDC_SET_VERSION, BST_CHECKED); return; } }
Win::CheckDlgButton(hwnd, IDC_SET_VERSION, BST_UNCHECKED); }
bool ForestVersionPage::OnCommand( HWND /* windowFrom */ , unsigned controlIDFrom, unsigned code) { // LOG_FUNCTION(ForestVersionPage::OnCommand);
switch (controlIDFrom) { case IDC_SET_VERSION: { if (code == BN_CLICKED) { SetChanged(controlIDFrom); return true; } } default: { // do nothing
break; } }
return false; }
bool ForestVersionPage::OnSetActive() { LOG_FUNCTION(ForestVersionPage::OnSetActive); ASSERT(State::GetInstance().GetOperation() == State::FOREST); Win::PropSheet_SetWizButtons( Win::GetParent(hwnd), PSWIZB_BACK | PSWIZB_NEXT);
State& state = State::GetInstance(); if (state.RunHiddenUnattended()) { // skip the page.
LOG(L"skipping ForestVersionPage");
Wizard& wiz = GetWizard();
if (wiz.IsBacktracking()) { // backup once again
wiz.Backtrack(hwnd); return true; }
int nextPage = ForestVersionPage::Validate(); if (nextPage != -1) { GetWizard().SetNextPageID(hwnd, nextPage); } else { state.ClearHiddenWhileUnattended(); }
}
return true; }
int ForestVersionPage::Validate() { LOG_FUNCTION(ForestVersionPage::Validate);
State& state = State::GetInstance();
int nextPage = IDD_PATHS; state.SetSetForestVersionFlag(Win::IsDlgButtonChecked(hwnd, IDC_SET_VERSION));
LOG(String::format(L"next = %1!d!", nextPage)); return nextPage; }
|