|
|
//*********************************************************************
//* Microsoft Windows **
//* Copyright(c) Microsoft Corp., 1994 **
//*********************************************************************
//
// BRANDED.C - Functions for OEM/ISP branded first Wizard pages
//
// HISTORY:
//
//
//*********************************************************************
#include "pre.h"
#include "icwextsn.h"
#include "webvwids.h" // Needed to create an instance of the ICW WebView object
extern UINT GetDlgIDFromIndex(UINT uPageIndex);
// This function is in intro.cpp
BOOL WINAPI ConfigureSystem(HWND hDlg);
/*******************************************************************
NAME: BrandedIntroInitProc
SYNOPSIS: Called when "Intro" page is displayed
ENTRY: hDlg - dialog window fFirstInit - TRUE if this is the first time the dialog is initialized, FALSE if this InitProc has been called before (e.g. went past this page and backed up)
********************************************************************/ BOOL CALLBACK BrandedIntroInitProc ( HWND hDlg, BOOL fFirstInit, UINT *puNextPage ) { // This is the very first page, so no back is needed
PropSheet_SetWizButtons(GetParent(hDlg),PSWIZB_NEXT);
if (!fFirstInit) { // if we've travelled through external apprentice pages,
// it's easy for our current page pointer to get munged,
// so reset it here for sanity's sake.
gpWizardState->uCurrentPage = ORD_PAGE_BRANDEDINTRO; } return TRUE; }
BOOL CALLBACK BrandedIntroPostInitProc ( HWND hDlg, BOOL fFirstInit, UINT *puNextPage ) { BOOL bRet = TRUE;
if (fFirstInit) { BOOL bFail = FALSE; // For the window to paint itself
UpdateWindow(GetParent(hDlg)); // Co-Create the browser object
if (FAILED(CoCreateInstance(CLSID_ICWWEBVIEW, NULL, CLSCTX_INPROC_SERVER, IID_IICWWebView, (LPVOID *)&gpWizardState->pICWWebView))) { bFail = TRUE; }
// Co-Create the browser object
if(FAILED(CoCreateInstance(CLSID_ICWWALKER, NULL, CLSCTX_INPROC_SERVER, IID_IICWWalker, (LPVOID *)&gpWizardState->pHTMLWalker))) { bFail = TRUE; } if (bFail) { MsgBox(NULL,IDS_LOADLIB_FAIL,MB_ICONEXCLAMATION,MB_OK); bRet = FALSE; gfQuitWizard = TRUE; // Quit the wizard
} } else { TCHAR szURL[INTERNET_MAX_URL_LENGTH]; ASSERT(gpWizardState->pICWWebView); gpWizardState->pICWWebView->ConnectToWindow(GetDlgItem(hDlg, IDC_BRANDEDWEBVIEW), PAGETYPE_BRANDED);
// Form the URL
wsprintf (szURL, TEXT("FILE://%s"), g_szBrandedHTML);
gpWizardState->pICWWebView->DisplayHTML(szURL); PropSheet_SetWizButtons(GetParent(hDlg),PSWIZB_NEXT); } return bRet; }
BOOL CALLBACK BrandedIntroOKProc ( HWND hDlg, BOOL fForward, UINT *puNextPage, BOOL *pfKeepHistory ) { ASSERT(puNextPage);
if (fForward) { //Are we in some special branding mode?
if(gpWizardState->cmnStateData.dwFlags & ICW_CFGFLAG_IEAKMODE) { TCHAR szTemp[MAX_PATH] = TEXT("\0"); IWebBrowser2* pIWebBrowser2 = NULL;
gpWizardState->pICWWebView->get_BrowserObject(&pIWebBrowser2); ASSERT(pIWebBrowser2);
gpWizardState->pHTMLWalker->AttachToDocument(pIWebBrowser2); gpWizardState->pHTMLWalker->get_IeakIspFile(szTemp);
if(lstrlen(szTemp) != 0) { TCHAR szDrive [_MAX_DRIVE] = TEXT("\0"); TCHAR szDir [_MAX_DIR] = TEXT("\0"); _tsplitpath(gpWizardState->cmnStateData.ispInfo.szISPFile, szDrive, szDir, NULL, NULL); _tmakepath (gpWizardState->cmnStateData.ispInfo.szISPFile, szDrive, szDir, szTemp, NULL); } //OK make sure we don't try and download something, JIC.
gpWizardState->bDoneRefServDownload = TRUE; gpWizardState->bDoneRefServRAS = TRUE; gpWizardState->bStartRefServDownload = TRUE; // BUGBUG, need to set a legit last page, maybe!
if (LoadICWCONNUI(GetParent(hDlg), GetDlgIDFromIndex(ORD_PAGE_BRANDEDINTRO), gpWizardState->cmnStateData.bOEMCustom ? IDD_PAGE_ENDOEMCUSTOM : IDD_PAGE_END, gpWizardState->cmnStateData.dwFlags)) { if( DialogIDAlreadyInUse( g_uICWCONNUIFirst) ) { // we're about to jump into the external apprentice, and we don't want
// this page to show up in our history list, infact, we need to back
// the history up 1, because we are going to come back here directly
// from the DLL, not from the history list.
*pfKeepHistory = FALSE; *puNextPage = g_uICWCONNUIFirst; // Backup 1 in the history list, since we the external pages navigate back
// here, we want this history list to be in the correct spot
gpWizardState->uPagesCompleted --; } } } } return TRUE; }
|