File indexing completed on 2026-09-21 09:23:15
0001
0002
0003
0004
0005 #ifndef QABSTRACTPRINTDIALOG_H
0006 #define QABSTRACTPRINTDIALOG_H
0007
0008 #include <QtPrintSupport/qtprintsupportglobal.h>
0009
0010 #include <QtWidgets/qdialog.h>
0011
0012 QT_REQUIRE_CONFIG(printdialog);
0013
0014 QT_BEGIN_NAMESPACE
0015
0016 class QAbstractPrintDialogPrivate;
0017 class QPrinter;
0018
0019 class Q_PRINTSUPPORT_EXPORT QAbstractPrintDialog : public QDialog
0020 {
0021 Q_DECLARE_PRIVATE(QAbstractPrintDialog)
0022 Q_OBJECT
0023
0024 public:
0025
0026 enum PrintRange {
0027 AllPages,
0028 Selection,
0029 PageRange,
0030 CurrentPage
0031 };
0032
0033 enum PrintDialogOption {
0034 PrintToFile = 0x0001,
0035 PrintSelection = 0x0002,
0036 PrintPageRange = 0x0004,
0037 PrintShowPageSize = 0x0008,
0038 PrintCollateCopies = 0x0010,
0039 PrintCurrentPage = 0x0040
0040 };
0041 Q_ENUM(PrintDialogOption)
0042
0043 Q_DECLARE_FLAGS(PrintDialogOptions, PrintDialogOption)
0044 Q_FLAG(PrintDialogOptions)
0045
0046 explicit QAbstractPrintDialog(QPrinter *printer, QWidget *parent = nullptr);
0047 ~QAbstractPrintDialog();
0048
0049 void setOptionTabs(const QList<QWidget*> &tabs);
0050
0051 void setPrintRange(PrintRange range);
0052 PrintRange printRange() const;
0053
0054 void setMinMax(int min, int max);
0055 int minPage() const;
0056 int maxPage() const;
0057
0058 void setFromTo(int fromPage, int toPage);
0059 int fromPage() const;
0060 int toPage() const;
0061
0062 QPrinter *printer() const;
0063
0064 protected:
0065 QAbstractPrintDialog(QAbstractPrintDialogPrivate &ptr, QPrinter *printer, QWidget *parent = nullptr);
0066
0067 private:
0068 Q_DISABLE_COPY(QAbstractPrintDialog)
0069
0070 };
0071
0072 Q_DECLARE_OPERATORS_FOR_FLAGS(QAbstractPrintDialog::PrintDialogOptions)
0073
0074 QT_END_NAMESPACE
0075
0076 #endif