mirror of
https://git.rtems.org/rtems-libbsd/
synced 2025-06-16 00:43:58 +08:00

The sources can be obtained via: http://opensource.apple.com/tarballs/mDNSResponder/mDNSResponder-544.tar.gz
213 lines
4.9 KiB
C++
213 lines
4.9 KiB
C++
/* -*- Mode: C; tab-width: 4 -*-
|
|
*
|
|
* Copyright (c) 1997-2004 Apple Computer, Inc. All rights reserved.
|
|
*
|
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
* you may not use this file except in compliance with the License.
|
|
* You may obtain a copy of the License at
|
|
*
|
|
* http://www.apache.org/licenses/LICENSE-2.0
|
|
*
|
|
* Unless required by applicable law or agreed to in writing, software
|
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
* See the License for the specific language governing permissions and
|
|
* limitations under the License.
|
|
*/
|
|
|
|
#include "stdafx.h"
|
|
#include "PrinterSetupWizardApp.h"
|
|
#include "PrinterSetupWizardSheet.h"
|
|
#include "FourthPage.h"
|
|
|
|
#if !defined( PBS_MARQUEE )
|
|
# define PBS_MARQUEE 0x08
|
|
#endif
|
|
|
|
#if !defined( PBM_SETMARQUEE )
|
|
# define PBM_SETMARQUEE WM_USER + 10
|
|
#endif
|
|
|
|
|
|
|
|
// CFourthPage dialog
|
|
|
|
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);
|
|
|
|
// create the 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()
|
|
|
|
|
|
// CFourthPage message handlers
|
|
OSStatus
|
|
CFourthPage::OnInitPage()
|
|
{
|
|
CWnd * window;
|
|
OSStatus err = kNoErr;
|
|
|
|
window = GetDlgItem( IDC_INSTALLING );
|
|
require_action( window, exit, err = kUnknownErr );
|
|
window->ShowWindow( SW_HIDE );
|
|
|
|
window = GetDlgItem( IDC_PROGRESS );
|
|
require_action( window, exit, err = kUnknownErr );
|
|
SetWindowLong( *window, GWL_STYLE, GetWindowLong( *window, GWL_STYLE ) | PBS_MARQUEE );
|
|
SetWindowLongPtr( *window, GWL_STYLE, GetWindowLongPtr( *window, GWL_STYLE ) | PBS_MARQUEE );
|
|
window->SendMessage( ( UINT ) PBM_SETMARQUEE, ( WPARAM ) FALSE,( LPARAM ) 35 );
|
|
window->ShowWindow( SW_HIDE );
|
|
|
|
exit:
|
|
|
|
return err;
|
|
}
|
|
|
|
|
|
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();
|
|
}
|
|
|
|
|
|
BOOL
|
|
CFourthPage::StartActivityIndicator()
|
|
{
|
|
CWnd * window;
|
|
BOOL ok = TRUE;
|
|
|
|
window = GetDlgItem( IDC_COMPLETE1 );
|
|
require_action( window, exit, ok = FALSE );
|
|
window->ShowWindow( SW_HIDE );
|
|
|
|
window = GetDlgItem( IDC_COMPLETE2 );
|
|
require_action( window, exit, ok = FALSE );
|
|
window->ShowWindow( SW_HIDE );
|
|
|
|
window = GetDlgItem( IDC_INSTALLING );
|
|
require_action( window, exit, ok = FALSE );
|
|
window->ShowWindow( SW_SHOW );
|
|
|
|
window = GetDlgItem( IDC_PROGRESS );
|
|
require_action( window, exit, ok = FALSE );
|
|
window->SendMessage( ( UINT ) PBM_SETMARQUEE, ( WPARAM ) TRUE,( LPARAM ) 50 );
|
|
window->ShowWindow( SW_SHOW );
|
|
|
|
exit:
|
|
|
|
return ok;
|
|
}
|
|
|
|
|
|
BOOL
|
|
CFourthPage::StopActivityIndicator()
|
|
{
|
|
CWnd * window;
|
|
BOOL ok = TRUE;
|
|
|
|
window = GetDlgItem( IDC_INSTALLING );
|
|
require_action( window, exit, ok = FALSE );
|
|
window->ShowWindow( SW_HIDE );
|
|
|
|
window = GetDlgItem( IDC_PROGRESS );
|
|
require_action( window, exit, ok = FALSE );
|
|
window->SendMessage( ( UINT ) PBM_SETMARQUEE, ( WPARAM ) FALSE,( LPARAM ) 35 );
|
|
window->ShowWindow( SW_HIDE );
|
|
|
|
exit:
|
|
|
|
return ok;
|
|
}
|