1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*-
3 * This Source Code Form is subject to the terms of the Mozilla Public
4 * License, v. 2.0. If a copy of the MPL was not distributed with this
5 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
7 #ifndef nsPrintSettingsQt_h_
8 #define nsPrintSettingsQt_h_
10 #include <QSharedPointer>
11 #include "nsPrintSettingsImpl.h"
12 #define NS_PRINTSETTINGSQT_IID \
13 {0x5bc4c746, 0x8970, 0x43a3, {0xbf, 0xb1, 0x5d, 0xe1, 0x74, 0xaf, 0x7c, 0xea}}
16 class nsPrintSettingsQt
: public nsPrintSettings
19 NS_DECL_ISUPPORTS_INHERITED
20 NS_DECLARE_STATIC_IID_ACCESSOR(NS_PRINTSETTINGSQT_IID
)
24 NS_IMETHOD
GetPrintRange(int16_t* aPrintRange
);
25 NS_IMETHOD
SetPrintRange(int16_t aPrintRange
);
27 NS_IMETHOD
GetStartPageRange(int32_t* aStartPageRange
);
28 NS_IMETHOD
SetStartPageRange(int32_t aStartPageRange
);
29 NS_IMETHOD
GetEndPageRange(int32_t* aEndPageRange
);
30 NS_IMETHOD
SetEndPageRange(int32_t aEndPageRange
);
32 NS_IMETHOD
GetPrintReversed(bool* aPrintReversed
);
33 NS_IMETHOD
SetPrintReversed(bool aPrintReversed
);
35 NS_IMETHOD
GetPrintInColor(bool* aPrintInColor
);
36 NS_IMETHOD
SetPrintInColor(bool aPrintInColor
);
38 NS_IMETHOD
GetOrientation(int32_t* aOrientation
);
39 NS_IMETHOD
SetOrientation(int32_t aOrientation
);
41 NS_IMETHOD
GetToFileName(char16_t
** aToFileName
);
42 NS_IMETHOD
SetToFileName(const char16_t
* aToFileName
);
44 NS_IMETHOD
GetPrinterName(char16_t
** aPrinter
);
45 NS_IMETHOD
SetPrinterName(const char16_t
* aPrinter
);
47 NS_IMETHOD
GetNumCopies(int32_t* aNumCopies
);
48 NS_IMETHOD
SetNumCopies(int32_t aNumCopies
);
50 NS_IMETHOD
GetScaling(double* aScaling
);
51 NS_IMETHOD
SetScaling(double aScaling
);
53 NS_IMETHOD
GetPaperName(char16_t
** aPaperName
);
54 NS_IMETHOD
SetPaperName(const char16_t
* aPaperName
);
56 NS_IMETHOD
SetUnwriteableMarginInTwips(nsIntMargin
& aUnwriteableMargin
);
57 NS_IMETHOD
SetUnwriteableMarginTop(double aUnwriteableMarginTop
);
58 NS_IMETHOD
SetUnwriteableMarginLeft(double aUnwriteableMarginLeft
);
59 NS_IMETHOD
SetUnwriteableMarginBottom(double aUnwriteableMarginBottom
);
60 NS_IMETHOD
SetUnwriteableMarginRight(double aUnwriteableMarginRight
);
62 NS_IMETHOD
GetPaperWidth(double* aPaperWidth
);
63 NS_IMETHOD
SetPaperWidth(double aPaperWidth
);
65 NS_IMETHOD
GetPaperHeight(double* aPaperHeight
);
66 NS_IMETHOD
SetPaperHeight(double aPaperHeight
);
68 NS_IMETHOD
SetPaperSizeUnit(int16_t aPaperSizeUnit
);
70 NS_IMETHOD
GetEffectivePageSize(double* aWidth
, double* aHeight
);
73 virtual ~nsPrintSettingsQt();
75 nsPrintSettingsQt(const nsPrintSettingsQt
& src
);
76 nsPrintSettingsQt
& operator=(const nsPrintSettingsQt
& rhs
);
78 virtual nsresult
_Clone(nsIPrintSettings
** _retval
);
79 virtual nsresult
_Assign(nsIPrintSettings
* aPS
);
81 QSharedPointer
<QPrinter
> mQPrinter
;
84 NS_DEFINE_STATIC_IID_ACCESSOR(nsPrintSettingsQt
, NS_PRINTSETTINGSQT_IID
)
85 #endif // nsPrintSettingsQt_h_