// 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(AnswerFile::OPTION_SET_FOREST_VERSION); if (option.icompare(AnswerFile::VALUE_YES) == 0) { Win::CheckDlgButton(hwnd, IDC_WINDOTNET, BST_CHECKED); return; } } Win::CheckDlgButton(hwnd, IDC_WIN2K, BST_CHECKED); } // bool // ForestVersionPage::OnCommand( // HWND /* windowFrom */ , // unsigned controlIDFrom, // unsigned code) // { // // LOG_FUNCTION(ForestVersionPage::OnCommand); // // switch (controlIDFrom) // { // case IDC_WIN2K: // case IDC_WINDOTNET: // { // 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_WINDOTNET)); LOG(String::format(L"next = %1!d!", nextPage)); return nextPage; }