summaryrefslogtreecommitdiffstats
path: root/mDNSResponder/Clients/PrinterSetupWizard/FourthPage.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'mDNSResponder/Clients/PrinterSetupWizard/FourthPage.cpp')
-rw-r--r--mDNSResponder/Clients/PrinterSetupWizard/FourthPage.cpp212
1 files changed, 212 insertions, 0 deletions
diff --git a/mDNSResponder/Clients/PrinterSetupWizard/FourthPage.cpp b/mDNSResponder/Clients/PrinterSetupWizard/FourthPage.cpp
new file mode 100644
index 00000000..3817246e
--- /dev/null
+++ b/mDNSResponder/Clients/PrinterSetupWizard/FourthPage.cpp
@@ -0,0 +1,212 @@
+/* -*- 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;
+}