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