#include "stdafx.h"
#include "PrinterSetupWizardApp.h"
#include "PrinterSetupWizardSheet.h"
#include "FourthPage.h"
IMPLEMENT_DYNAMIC(CFourthPage, CPropertyPage)
CFourthPage::CFourthPage()
: CPropertyPage(CFourthPage::IDD),
m_initialized(false)
{
CString fontName;
m_psp.dwFlags &= ~(PSP_HASHELP);
m_psp.dwFlags |= PSP_DEFAULT|PSP_HIDEHEADER;
fontName.LoadString(IDS_LARGE_FONT);
m_largeFont.CreateFont(-16, 0, 0, 0,
FW_BOLD, FALSE, FALSE, 0, DEFAULT_CHARSET, OUT_DEFAULT_PRECIS,
CLIP_DEFAULT_PRECIS, DEFAULT_QUALITY, DEFAULT_PITCH, fontName);
}
CFourthPage::~CFourthPage()
{
}
void CFourthPage::DoDataExchange(CDataExchange* pDX)
{
CPropertyPage::DoDataExchange(pDX);
DDX_Control(pDX, IDC_GOODBYE, m_goodbye);
DDX_Control(pDX, IDC_PRINTER_NAME, m_printerNameCtrl);
DDX_Control(pDX, IDC_PRINTER_MANUFACTURER, m_printerManufacturerCtrl);
DDX_Control(pDX, IDC_PRINTER_MODEL, m_printerModelCtrl);
DDX_Control(pDX, IDC_PRINTER_PROTOCOL, m_printerProtocolCtrl);
DDX_Control(pDX, IDC_PRINTER_DEFAULT, m_printerDefault);
}
BEGIN_MESSAGE_MAP(CFourthPage, CPropertyPage)
END_MESSAGE_MAP()
OSStatus
CFourthPage::OnInitPage()
{
return kNoErr;
}
BOOL
CFourthPage::OnSetActive()
{
CPrinterSetupWizardSheet * psheet;
CString goodbyeText;
Printer * printer;
CString defaultText;
psheet = reinterpret_cast<CPrinterSetupWizardSheet*>(GetParent());
require_quiet( psheet, exit );
printer = psheet->GetSelectedPrinter();
require_quiet( psheet, exit );
psheet->SetWizardButtons(PSWIZB_BACK|PSWIZB_FINISH);
if (m_initialized == false)
{
m_initialized = true;
OnInitPage();
}
m_goodbye.SetFont(&m_largeFont);
goodbyeText.LoadString(IDS_GOODBYE);
m_goodbye.SetWindowText(goodbyeText);
m_printerNameCtrl.SetWindowText( printer->actualName );
m_printerManufacturerCtrl.SetWindowText ( printer->manufacturer );
m_printerModelCtrl.SetWindowText ( printer->displayModelName );
Service * service = printer->services.front();
require_quiet( service, exit );
m_printerProtocolCtrl.SetWindowText ( service->protocol );
if (printer->deflt)
{
defaultText.LoadString(IDS_YES);
}
else
{
defaultText.LoadString(IDS_NO);
}
m_printerDefault.SetWindowText ( defaultText );
exit:
return CPropertyPage::OnSetActive();
}
BOOL
CFourthPage::OnKillActive()
{
CPrinterSetupWizardSheet * psheet;
psheet = reinterpret_cast<CPrinterSetupWizardSheet*>(GetParent());
require_quiet( psheet, exit );
psheet->SetLastPage(this);
exit:
return CPropertyPage::OnKillActive();
}