]> git.saurik.com Git - apple/mdnsresponder.git/blob - Clients/PrinterSetupWizard/SecondPage.h
mDNSResponder-108.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.8 2005/03/20 20:08:37 shersche
27 <rdar://problem/4055670> Second screen should not select a printer by default
28
29 Revision 1.7 2005/01/31 23:54:30 shersche
30 <rdar://problem/3947508> Start browsing when printer wizard starts. Move browsing logic from CSecondPage object to CPrinterSetupWizardSheet object.
31
32 Revision 1.6 2005/01/04 21:09:14 shersche
33 Fix problems in parsing text records. Fix problems in remove event handling. Ensure that the same service can't be resolved more than once.
34
35 Revision 1.5 2004/12/31 07:25:27 shersche
36 Tidy up printer management, and fix memory leaks when hitting 'Cancel'
37
38 Revision 1.4 2004/12/30 01:02:46 shersche
39 <rdar://problem/3734478> Add Printer information box that displays description and location information when printer name is selected
40 Bug #: 3734478
41
42 Revision 1.3 2004/12/29 18:53:38 shersche
43 <rdar://problem/3725106>
44 <rdar://problem/3737413> Added support for LPR and IPP protocols as well as support for obtaining multiple text records. Reorganized and simplified codebase.
45 Bug #: 3725106, 3737413
46
47 Revision 1.2 2004/09/13 21:23:42 shersche
48 <rdar://problem/3796483> Add moreComing argument to OnAddPrinter and OnRemovePrinter callbacks
49 Bug #: 3796483
50
51 Revision 1.1 2004/06/18 04:36:57 rpantos
52 First checked in
53
54
55 */
56
57 #pragma once
58
59 #include "PrinterSetupWizardSheet.h"
60 #include "CommonServices.h"
61 #include "UtilTypes.h"
62 #include "afxcmn.h"
63 #include "dns_sd.h"
64 #include "afxwin.h"
65 #include <map>
66
67 using namespace PrinterSetupWizard;
68
69 // CSecondPage dialog
70
71 class CSecondPage : public CPropertyPage
72 {
73 DECLARE_DYNAMIC(CSecondPage)
74
75 public:
76 CSecondPage();
77 virtual ~CSecondPage();
78
79 // Dialog Data
80 enum { IDD = IDD_SECOND_PAGE };
81
82 protected:
83
84 void InitBrowseList();
85 virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
86 afx_msg BOOL OnSetCursor(CWnd * pWnd, UINT nHitTest, UINT message);
87 virtual BOOL OnSetActive();
88 virtual BOOL OnKillActive();
89
90 DECLARE_MESSAGE_MAP()
91
92 public:
93
94 HTREEITEM m_emptyListItem;
95 bool m_selectOkay;
96 CTreeCtrl m_browseList;
97 bool m_initialized;
98 bool m_waiting;
99
100 afx_msg void OnTvnSelchangedBrowseList(NMHDR *pNMHDR, LRESULT *pResult);
101 afx_msg void OnNmClickBrowseList(NMHDR * pNMHDR, LRESULT * pResult);
102 afx_msg void OnTvnKeyDownBrowseList(NMHDR * pNMHDR, LRESULT * pResult );
103
104 OSStatus
105 OnAddPrinter(
106 Printer * printer,
107 bool moreComing);
108
109 OSStatus
110 OnRemovePrinter(
111 Printer * printer,
112 bool moreComing);
113
114 void
115 OnResolveService( Service * service );
116
117 private:
118
119 void
120 LoadTextAndDisableWindow( CString & text );
121
122 void
123 SetPrinterInformationState( BOOL state );
124
125 std::string m_selectedName;
126
127 private:
128
129 CStatic m_printerInformation;
130 CStatic m_descriptionLabel;
131 CStatic m_descriptionField;
132 CStatic m_locationLabel;
133 CStatic m_locationField;
134
135 bool m_gotChoice;
136 };