]> git.saurik.com Git - apple/mdnsresponder.git/blob - Clients/PrinterSetupWizard/SecondPage.h
mDNSResponder-107.3.tar.gz
[apple/mdnsresponder.git] / Clients / PrinterSetupWizard / SecondPage.h
1 /*
2 * Copyright (c) 1997-2004 Apple Computer, Inc. All rights reserved.
3 *
4 * @APPLE_LICENSE_HEADER_START@
5 *
6 * This file contains Original Code and/or Modifications of Original Code
7 * as defined in and that are subject to the Apple Public Source License
8 * Version 2.0 (the 'License'). You may not use this file except in
9 * compliance with the License. Please obtain a copy of the License at
10 * http://www.opensource.apple.com/apsl/ and read it before using this
11 * file.
12 *
13 * The Original Code and all software distributed under the License are
14 * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
15 * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
16 * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
17 * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
18 * Please see the License for the specific language governing rights and
19 * limitations under the License.
20 *
21 * @APPLE_LICENSE_HEADER_END@
22
23 Change History (most recent first):
24
25 $Log: SecondPage.h,v $
26 Revision 1.7 2005/01/31 23:54:30 shersche
27 <rdar://problem/3947508> Start browsing when printer wizard starts. Move browsing logic from CSecondPage object to CPrinterSetupWizardSheet object.
28
29 Revision 1.6 2005/01/04 21:09:14 shersche
30 Fix problems in parsing text records. Fix problems in remove event handling. Ensure that the same service can't be resolved more than once.
31
32 Revision 1.5 2004/12/31 07:25:27 shersche
33 Tidy up printer management, and fix memory leaks when hitting 'Cancel'
34
35 Revision 1.4 2004/12/30 01:02:46 shersche
36 <rdar://problem/3734478> Add Printer information box that displays description and location information when printer name is selected
37 Bug #: 3734478
38
39 Revision 1.3 2004/12/29 18:53:38 shersche
40 <rdar://problem/3725106>
41 <rdar://problem/3737413> Added support for LPR and IPP protocols as well as support for obtaining multiple text records. Reorganized and simplified codebase.
42 Bug #: 3725106, 3737413
43
44 Revision 1.2 2004/09/13 21:23:42 shersche
45 <rdar://problem/3796483> Add moreComing argument to OnAddPrinter and OnRemovePrinter callbacks
46 Bug #: 3796483
47
48 Revision 1.1 2004/06/18 04:36:57 rpantos
49 First checked in
50
51
52 */
53
54 #pragma once
55
56 #include "PrinterSetupWizardSheet.h"
57 #include "CommonServices.h"
58 #include "UtilTypes.h"
59 #include "afxcmn.h"
60 #include "dns_sd.h"
61 #include "afxwin.h"
62 #include <map>
63
64 using namespace PrinterSetupWizard;
65
66 // CSecondPage dialog
67
68 class CSecondPage : public CPropertyPage
69 {
70 DECLARE_DYNAMIC(CSecondPage)
71
72 public:
73 CSecondPage();
74 virtual ~CSecondPage();
75
76 // Dialog Data
77 enum { IDD = IDD_SECOND_PAGE };
78
79 protected:
80
81 void InitBrowseList();
82 virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
83 afx_msg BOOL OnSetCursor(CWnd * pWnd, UINT nHitTest, UINT message);
84 virtual BOOL OnSetActive();
85 virtual BOOL OnKillActive();
86
87 DECLARE_MESSAGE_MAP()
88
89 public:
90
91 HTREEITEM m_emptyListItem;
92 bool m_selectOkay;
93 CTreeCtrl m_browseList;
94 bool m_initialized;
95 bool m_waiting;
96
97 afx_msg void OnTvnSelchangedBrowseList(NMHDR *pNMHDR, LRESULT *pResult);
98
99 OSStatus
100 OnAddPrinter(
101 Printer * printer,
102 bool moreComing);
103
104 OSStatus
105 OnRemovePrinter(
106 Printer * printer,
107 bool moreComing);
108
109 void
110 OnResolveService( Service * service );
111
112 private:
113
114 void
115 LoadTextAndDisableWindow( CString & text );
116
117 void
118 SetPrinterInformationState( BOOL state );
119
120 std::string m_selectedName;
121
122 private:
123
124 CStatic m_printerInformation;
125 CStatic m_descriptionLabel;
126 CStatic m_descriptionField;
127 CStatic m_locationLabel;
128 CStatic m_locationField;
129 };