1 /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
2 /* This Source Code Form is subject to the terms of the Mozilla Public
3  * License, v. 2.0. If a copy of the MPL was not distributed with this
4  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
5 
6 #ifndef nsPrintDialog_h_
7 #define nsPrintDialog_h_
8 
9 #include "nsIPrintDialogService.h"
10 #include "nsCOMPtr.h"
11 #include "nsCocoaUtils.h"
12 
13 #import <Cocoa/Cocoa.h>
14 
15 class nsIPrintSettings;
16 class nsIStringBundle;
17 
18 class nsPrintDialogServiceX : public nsIPrintDialogService {
19  public:
20   nsPrintDialogServiceX();
21 
22   NS_DECL_ISUPPORTS
23 
24   NS_IMETHOD Init() override;
25   NS_IMETHOD Show(nsPIDOMWindowOuter* aParent, nsIPrintSettings* aSettings) override;
26   NS_IMETHOD ShowPageSetup(nsPIDOMWindowOuter* aParent, nsIPrintSettings* aSettings) override;
27 
28  protected:
29   virtual ~nsPrintDialogServiceX();
30 };
31 
32 @interface PrintPanelAccessoryView : NSView {
33   nsIPrintSettings* mSettings;
34   nsIStringBundle* mPrintBundle;
35   NSButton* mPrintSelectionOnlyCheckbox;
36   NSButton* mShrinkToFitCheckbox;
37   NSButton* mPrintBGColorsCheckbox;
38   NSButton* mPrintBGImagesCheckbox;
39   NSPopUpButton* mHeaderLeftList;
40   NSPopUpButton* mHeaderCenterList;
41   NSPopUpButton* mHeaderRightList;
42   NSPopUpButton* mFooterLeftList;
43   NSPopUpButton* mFooterCenterList;
44   NSPopUpButton* mFooterRightList;
45 }
46 
47 - (id)initWithSettings:(nsIPrintSettings*)aSettings;
48 
49 - (void)exportSettings;
50 
51 @end
52 
53 @interface PrintPanelAccessoryController : NSViewController <NSPrintPanelAccessorizing>
54 
55 - (id)initWithSettings:(nsIPrintSettings*)aSettings;
56 
57 - (void)exportSettings;
58 
59 @end
60 
61 #endif  // nsPrintDialog_h_
62