summaryrefslogtreecommitdiffstats
path: root/tqtinterface/qt4/src/kernel/tqprinter.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tqtinterface/qt4/src/kernel/tqprinter.cpp')
-rw-r--r--tqtinterface/qt4/src/kernel/tqprinter.cpp1198
1 files changed, 0 insertions, 1198 deletions
diff --git a/tqtinterface/qt4/src/kernel/tqprinter.cpp b/tqtinterface/qt4/src/kernel/tqprinter.cpp
deleted file mode 100644
index 31c5c19..0000000
--- a/tqtinterface/qt4/src/kernel/tqprinter.cpp
+++ /dev/null
@@ -1,1198 +0,0 @@
-/**********************************************************************
-**
-** Implementation of TQPrinter class
-**
-** Created : 941003
-**
-** Copyright (C) 2010 Timothy Pearson and (C) 1992-2008 Trolltech ASA.
-**
-** This file is part of the kernel module of the TQt GUI Toolkit.
-**
-** This file may be used under the terms of the GNU General
-** Public License versions 2.0 or 3.0 as published by the Free
-** Software Foundation and appearing in the files LICENSE.GPL2
-** and LICENSE.GPL3 included in the packaging of this file.
-** Alternatively you may (at your option) use any later version
-** of the GNU General Public License if such license has been
-** publicly approved by Trolltech ASA (or its successors, if any)
-** and the KDE Free TQt Foundation.
-**
-** Please review the following information to ensure GNU General
-** Public Licensing requirements will be met:
-** http://trolltech.com/products/qt/licenses/licensing/opensource/.
-** If you are unsure which license is appropriate for your use, please
-** review the following information:
-** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
-** or contact the sales department at sales@trolltech.com.
-**
-** This file may be used under the terms of the Q Public License as
-** defined by Trolltech ASA and appearing in the file LICENSE.TQPL
-** included in the packaging of this file. Licensees holding valid TQt
-** Commercial licenses may use this file in accordance with the TQt
-** Commercial License Agreement provided with the Software.
-**
-** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
-** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
-** herein.
-**
-**********************************************************************/
-
-#include <tqtglobaldefines.h>
-// Nasty, nasty horrid HACK to get access to QPrinter's private members
-// This is TERRIBLE and I wish there was a way around it
-// This is a good example of the new, broken & irritating Qt4 API,
-// and the corresponding loss in functionality versus Qt3.
-// See also tqrect.cpp
-#define private protected
-#include <Qt/qprinter.h>
-#undef private
-
-#include "tqprinter.h"
-#include "tqprinter_p.h"
-
-#ifndef TQT_NO_PRINTER
-
-#ifdef USE_QT4
-
-#include "tqprintdialog.h"
-#include "private/qt4_qprinter_p.h"
-
-#ifdef Q_WS_MAC
-bool qt_compat_QPrinter_pageSetup(QPrinter *p, QWidget *parent)
-{
- QPageSetupDialog psd(p, parent);
- return psd.exec() != 0;
-}
-#endif // Q_WS_MAC
-
-bool qt_compat_QPrinter_printSetup(QPrinter *printer, QWidget *parent)
-{
- TQPrintDialog dlg(TQT_TQPRINTER(printer), TQT_TQWIDGET(parent));
- return dlg.exec() != 0;
-}
-
-#ifdef Q_WS_MAC
-/*!
- Executes a page setup dialog so that the user can configure the type of
- page used for printing. Returns true if the contents of the dialog are
- accepted; returns false if the dialog is canceled.
-*/
-bool TQPrinter::pageSetup(QWidget *parent)
-{
- return qt_compat_QPrinter_pageSetup(this, parent);
-}
-
-/*!
- Executes a print setup dialog so that the user can configure the printing
- process. Returns true if the contents of the dialog are accepted; returns
- false if the dialog is canceled.
-*/
-bool TQPrinter::printSetup(QWidget *parent)
-{
- return qt_compat_QPrinter_printSetup(this, parent);
-}
-#endif // Q_WS_MAC
-
-/*!
- Use QPrintDialog instead.
-
- \oldcode
- if (printer->setup(parent))
- ...
- \newcode
- QPrintDialog dialog(printer, parent);
- if (dialog.exec())
- ...
- \endcode
-*/
-bool TQPrinter::setup(QWidget *parent)
-{
- return qt_compat_QPrinter_printSetup(this, parent)
-#ifdef Q_WS_MAC
- && qt_compat_QPrinter_pageSetup(this, parent);
-#endif
- ;
-}
-
-/*!
- Use QPrintDialog::minPage() instead.
-*/
-int TQPrinter::minPage() const
-{
- return d_ptr->minPage;
-}
-
-/*!
- Use QPrintDialog::maxPage() instead.
-*/
-int TQPrinter::maxPage() const
-{
- return d_ptr->maxPage;
-}
-
-/*!
- Use QPrintDialog::setMinMax() instead.
-*/
-void TQPrinter::setMinMax( int minPage, int maxPage )
-{
- Q_ASSERT_X(minPage <= maxPage, "QPrinter::setMinMax",
- "'min' must be less than or equal to 'max'");
- d_ptr->minPage = minPage;
- d_ptr->maxPage = maxPage;
- d_ptr->options |= QPrintDialog::PrintPageRange;
-}
-
-/*!
- Use QPrintDialog::setOption(QPrintDialog::PrintCollateCopies)
- or QPrintDialog::setOptions(QPrintDialog::options()
- & ~QPrintDialog::PrintCollateCopies) instead, depending on \a
- enable.
-*/
-void TQPrinter::setCollateCopiesEnabled(bool enable)
-{
- if (enable)
- d_ptr->options |= QPrintDialog::PrintCollateCopies;
- else
- d_ptr->options &= ~QPrintDialog::PrintCollateCopies;
-}
-
-/*!
- Returns true if the printer is set up to collate copies of printed documents;
- otherwise returns false.
-
- Use QPrintDialog::isOptionEnabled(QPrintDialog::PrintCollateCopies)
- instead.
-
- \sa collateCopies()
-*/
-bool TQPrinter::collateCopiesEnabled() const
-{
- return (d_ptr->options & QPrintDialog::PrintCollateCopies);
-}
-
-/*!
- Use QPrintDialog instead.
-*/
-void TQPrinter::setOptionEnabled( PrinterOption option, bool enable )
-{
- if (enable)
- d_ptr->options |= QPrintDialog::PrintDialogOption(1 << option);
- else
- d_ptr->options &= ~QPrintDialog::PrintDialogOption(1 << option);
-}
-
-/*!
- Use QPrintDialog instead.
-*/
-bool TQPrinter::isOptionEnabled( PrinterOption option ) const
-{
- return (d_ptr->options & QPrintDialog::PrintDialogOption(option));
-}
-
-/*!
- \fn void QPrinter::setOutputToFile(bool enable)
-
- Specifies whether the output should be written to a file or sent
- directly to the printer.
-
- Will output to a file if \a enable is true, or will output
- directly to the printer if \a enable is false.
-
- \sa outputToFile(), setOutputFileName()
-*/
-void TQPrinter::setOutputToFile(bool f)
-{
- if (f) {
- if (outputFileName().isEmpty())
- setOutputFileName(QLatin1String("untitled_printer_document"));
- } else {
- setOutputFileName(QString());
- }
-}
-
-#else // USE_QT4
-
-/*!
- \class TQPrinter tqprinter.h
- \brief The TQPrinter class is a paint tqdevice that paints on a printer.
-
- \ingroup images
- \ingroup graphics
- \mainclass
-
- On Windows it uses the built-in printer drivers. On X11 it
- generates postscript and sends that to lpr, lp, or another print
- command.
-
- TQPrinter is used in much the same way as TQWidget and TQPixmap are
- used. The big difference is that you must keep track of the pages.
-
- TQPrinter supports a number of settable parameters, most of which
- can be changed by the end user when the application calls
- TQPrinter::setup().
-
- The most important parameters are:
- \list
- \i setOrientation() tells TQPrinter which page orientation to use (virtual).
- \i setPageSize() tells TQPrinter what page size to expect from the
- printer.
- \i setResolution() tells TQPrinter what resolution you wish the
- printer to provide (in dpi).
- \i setFullPage() tells TQPrinter whether you want to deal with the
- full page or just with the part the printer can draw on. The
- default is FALSE, so that by default you should be able to paint
- on (0,0). If TRUE the origin of the coordinate system will be in
- the top left corner of the paper and most probably the printer
- will not be able to paint something there due to it's physical
- margins.
- \i setNumCopies() tells TQPrinter how many copies of the document
- it should print.
- \i setMinMax() tells TQPrinter and TQPrintDialog what the allowed
- range for fromPage() and toPage() are.
- \endlist
-
- Except where noted, you can only call the set functions before
- setup(), or between TQPainter::end() and setup(). (Some may take
- effect between setup() and begin(), or between begin() and end(),
- but that's strictly undocumented and such behaviour may differ
- depending on platform.)
-
- There are also some settings that the user sets (through the
- printer dialog) and that applications are expected to obey:
-
- \list
-
- \i pageOrder() tells the application program whether to print
- first-page-first or last-page-first.
-
- \i colorMode() tells the application program whether to print in
- color or grayscale. (If you print in color and the printer does
- not support color, TQt will try to approximate. The document may
- take longer to print, but the quality should not be made visibly
- poorer.)
-
- \i fromPage() and toPage() indicate what pages the application
- program should print.
-
- \i paperSource() tells the application progam which paper source
- to print from.
-
- \endlist
-
- You can of course call these functions to establish defaults
- before you ask the user through TQPrinter::setup().
-
- Once you start printing, calling newPage() is essential. You will
- probably also need to look at the TQPaintDeviceMetrics for the
- printer (see the \link simple-application.html#printersimple print
- function\endlink in the Application walk-through). In previous versions,
- paint tqdevice metrics were valid only after the TQPrinter has been set
- up, i.e. after setup() has returned successfully. This is no longer
- the case and paint tqdevice metrics can be requested safely before set up.
-
- If you want to abort the print job, abort() will try its best to
- stop printing. It may cancel the entire job or just some of it.
-
- \omit Need a function to setup() without a dialog (i.e. use defaults).
- \endomit
-
- The TrueType font embedding for TQt's postscript driver uses code
- by David Chappell of Trinity College Computing Center.
-
- \legalese
-
- Copyright 1995, Trinity College Computing Center.
- Written by David Chappell.
-
- Permission to use, copy, modify, and distribute this software and
- its documentation for any purpose and without fee is hereby
- granted, provided that the above copyright notice appear in all
- copies and that both that copyright notice and this permission
- notice appear in supporting documentation. This software is
- provided "as is" without express or implied warranty.
-
- TrueType font support. These functions allow PPR to generate
- PostScript fonts from Microsoft compatible TrueType font files.
-
- The functions in this file do most of the work to convert a
- TrueType font to a type 3 PostScript font.
-
- Most of the material in this file is derived from a program called
- "ttf2ps" which L. S. Ng posted to the usenet news group
- "comp.sources.postscript". The author did not provide a copyright
- notice or indicate any restrictions on use.
-
- Last revised 11 July 1995.
-
-*/
-
-/*!
- \enum TQPrinter::PrinterMode
-
- This enum describes the mode the printer should work in. It
- basically presets a certain resolution and working mode.
-
- \value ScreenResolution Sets the resolution of the print tqdevice to
- the screen resolution. This has the big advantage that the results
- obtained when painting on the printer will match more or less
- exactly the visible output on the screen. It is the easiest to
- use, as font metrics on the screen and on the printer are the
- same. This is the default value. ScreenResolution will produce a
- lower quality output than HighResolution and should only be used
- for drafts.
-
- \value PrinterResolution Use the physical resolution of the
- printer on Windows. On Unix, set the postscript resolution to 72
- dpi.
-
- \value HighResolution Use printer resolution on windows, set the
- resolution of the postscript driver to 600dpi.
-
- \value Compatible Almost the same as PrinterResolution, but keeps
- some peculiarities of the TQt 2.x printer driver. This is useful
- for applications ported from TQt 2.x to TQt 3.x.
-*/
-
-/*!
- \enum TQPrinter::Orientation
-
- This enum type (not to be confused with Orientation) is used
- to specify each page's orientation.
-
- \value Portrait the page's height is greater than its width (the
- default).
-
- \value Landscape the page's width is greater than its height.
-
- This type interacts with \l TQPrinter::PageSize and
- TQPrinter::setFullPage() to determine the final size of the page
- available to the application.
-*/
-
-
-/*!
- \enum TQPrinter::PageSize
-
- This enum type specifies what paper size TQPrinter should use.
- TQPrinter does not check that the paper size is available; it just
- uses this information, together with TQPrinter::Orientation and
- TQPrinter::setFullPage(), to determine the printable area (see
- TQPaintDeviceMetrics).
-
- The defined sizes (with setFullPage(TRUE)) are:
-
- \value A0 841 x 1189 mm This value is not supported on windows.
- \value A1 594 x 841 mm This value is not supported on windows.
- \value A2 420 x 594 mm
- \value A3 297 x 420 mm
- \value A4 210 x 297 mm, 8.26 x 11.7 inches
- \value A5 148 x 210 mm
- \value A6 105 x 148 mm
- \value A7 74 x 105 mm
- \value A8 52 x 74 mm
- \value A9 37 x 52 mm
- \value B0 1030 x 1456 mm
- \value B1 728 x 1030 mm
- \value B10 32 x 45 mm
- \value B2 515 x 728 mm
- \value B3 364 x 515 mm
- \value B4 257 x 364 mm
- \value B5 182 x 257 mm, 7.17 x 10.13 inches
- \value B6 128 x 182 mm
- \value B7 91 x 128 mm
- \value B8 64 x 91 mm
- \value B9 45 x 64 mm
- \value C5E 163 x 229 mm
- \value Comm10E 105 x 241 mm, US Common #10 Envelope
- \value DLE 110 x 220 mm
- \value Executive 7.5 x 10 inches, 191 x 254 mm
- \value Folio 210 x 330 mm
- \value Ledger 432 x 279 mm
- \value Legal 8.5 x 14 inches, 216 x 356 mm
- \value Letter 8.5 x 11 inches, 216 x 279 mm
- \value Tabloid 279 x 432 mm
- \value Custom
- \value NPageSize (internal)
-
- With setFullPage(FALSE) (the default), the metrics will be a bit
- smaller; how much depends on the printer in use.
-*/
-
-
-/*!
- \enum TQPrinter::PageOrder
-
- This enum type is used by TQPrinter to tell the application program
- how to print.
-
- \value FirstPageFirst the lowest-numbered page should be printed
- first.
-
- \value LastPageFirst the highest-numbered page should be printed
- first.
-*/
-
-/*!
- \enum TQPrinter::ColorMode
-
- This enum type is used to indicate whether TQPrinter should print
- in color or not.
-
- \value Color print in color if available, otherwise in grayscale.
-
- \value GrayScale print in grayscale, even on color printers.
- Might be a little faster than \c Color. This is the default.
-*/
-
-/*!
- \enum TQPrinter::PaperSource
-
- This enum type specifies what paper source TQPrinter is to use.
- TQPrinter does not check that the paper source is available; it
- just uses this information to try and set the paper source.
- Whether it will set the paper source depends on whether the
- printer has that particular source.
-
- Note: this is currently only implemented for Windows.
-
- \value OnlyOne
- \value Lower
- \value Middle
- \value Manual
- \value Envelope
- \value EnvelopeManual
- \value Auto
- \value Tractor
- \value SmallFormat
- \value LargeFormat
- \value LargeCapacity
- \value Cassette
- \value FormSource
-*/
-
-/*!
- \enum TQPrinter::PrintRange
-
- This enum is used to specify which print range the application
- should use to print.
-
- \value AllPages All pages should be printed
- \value Selection Only the selection should be printed.
- \value PageRange From page, to page option.
-
- \sa setPrintRange(), printRange()
-*/
-
-/*!
- \enum TQPrinter::PrinterOption
-
- This enum describes various printer options that appear in the
- printer setup dialog. It is used to enable and disable these
- options in the setup dialog.
-
- \value PrintToFile Describes if print to file should be enabled.
- \value PrintSelection Describes if printing selections should be enabled.
- \value PrintPageRange Describes if printing page ranges (from, to) should
- be enabled
-
- \sa setOptionEnabled(), isOptionEnabled()
-*/
-
-
-/*!
- \fn TQString TQPrinter::printerName() const
-
- Returns the printer name. This value is initially set to the name
- of the default printer.
-
- \sa setPrinterName()
-*/
-
-/*!
- \fn bool TQPrinter::outputToFile() const
-
- Returns TRUE if the output should be written to a file, or FALSE
- if the output should be sent directly to the printer. The default
- setting is FALSE.
-
- This function is currently only supported under X11 and Mac OS X.
-
- \sa setOutputToFile(), setOutputFileName()
-*/
-
-/*!
- Specifies whether the output should be written to a file or sent
- directly to the printer.
-
- Will output to a file if \a enable is TRUE, or will output
- directly to the printer if \a enable is FALSE.
-
- This function is currently only supported under X11 and Mac OS X.
-
- \sa outputToFile(), setOutputFileName()
-*/
-
-void TQPrinter::setOutputToFile( bool enable )
-{
- if ( state != 0 ) {
-#if defined(TQT_CHECK_STATE)
- qWarning( "TQPrinter::setOutputToFile: Cannot do this during printing" );
-#endif
- return;
- }
- output_file = enable;
-}
-
-
-/*!
- \fn TQString TQPrinter::outputFileName() const
-
- Returns the name of the output file. There is no default file
- name.
-
- \sa setOutputFileName(), setOutputToFile()
-*/
-
-/*!
- Sets the name of the output file to \a fileName.
-
- Setting a null or empty name (0 or "") disables output to a file,
- i.e. calls setOutputToFile(FALSE). Setting a non-empty name
- enables output to a file, i.e. calls setOutputToFile(TRUE).
-
- This function is currently only supported under X11.
-
- \sa outputFileName(), setOutputToFile()
-*/
-
-void TQPrinter::setOutputFileName( const TQString &fileName )
-{
- if ( state != 0 ) {
-#if defined(TQT_CHECK_STATE)
- qWarning("TQPrinter::setOutputFileName: Cannot do this during printing");
-#endif
- return;
- }
- output_filename = fileName;
- output_file = !output_filename.isEmpty();
-}
-
-
-/*!
- \fn TQString TQPrinter::printProgram() const
-
- Returns the name of the program that sends the print output to the
- printer.
-
- The default is to return a null string; meaning that TQPrinter will
- try to be smart in a system-dependent way. On X11 only, you can
- set it to something different to use a specific print program.
-
- On Windows, this function returns the name of the printer tqdevice
- driver.
-
- \sa setPrintProgram() setPrinterSelectionOption()
-*/
-
-/*!
- Sets the name of the program that should do the print job to \a
- printProg.
-
- On X11, this function sets the program to call with the PostScript
- output. On other platforms, it has no effect.
-
- \sa printProgram()
-*/
-
-void TQPrinter::setPrintProgram( const TQString &printProg )
-{
- print_prog = printProg;
-}
-
-
-/*!
- \fn TQString TQPrinter::docName() const
-
- Returns the document name.
-
- \sa setDocName()
-*/
-
-/*!
- Sets the document name to \a name.
-*/
-
-void TQPrinter::setDocName( const TQString &name )
-{
- if ( state != 0 ) {
-#if defined(TQT_CHECK_STATE)
- qWarning( "TQPrinter::setDocName: Cannot do this during printing" );
-#endif
- return;
- }
- doc_name = name;
-}
-
-
-/*!
- \fn TQString TQPrinter::creator() const
-
- Returns the name of the application that created the document.
-
- \sa setCreator()
-*/
-
-/*!
- Sets the name of the application that created the document to \a
- creator.
-
- This function is only applicable to the X11 version of TQt. If no
- creator name is specified, the creator will be set to "TQt"
- followed by some version number.
-
- \sa creator()
-*/
-
-void TQPrinter::setCreator( const TQString &creator )
-{
- creator_name = creator;
-}
-
-
-/*!
- \fn Orientation TQPrinter::orientation() const
-
- Returns the orientation setting. The default value is \c
- TQPrinter::Portrait.
-
- \sa setOrientation()
-*/
-
-/*!
- Sets the print orientation to \a orientation.
-
- The orientation can be either \c TQPrinter::Portrait or \c
- TQPrinter::Landscape.
-
- The printer driver reads this setting and prints using the
- specified orientation. On Windows this setting won't take effect
- until the printer dialog is shown (using TQPrinter::setup()).
-
- Windows only! This option can be changed while printing and will
- take effect from the next call to newPage()
-
- \sa orientation()
-*/
-
-void TQPrinter::setOrientation( Orientation orientation )
-{
- orient = orientation;
-#if defined(TQ_WS_WIN)
- reinit();
-#endif
-}
-
-
-/*!
- \fn PageSize TQPrinter::pageSize() const
-
- Returns the printer page size. The default value is system-dependent.
-
- \sa setPageSize()
-*/
-
-
-/*!
- Sets the printer page size to \a newPageSize if that size is
- supported. The result if undefined if \a newPageSize is not
- supported.
-
- The default page size is system-dependent.
-
- This function is useful mostly for setting a default value that
- the user can override in the print dialog when you call setup().
-
- \sa pageSize() PageSize setFullPage() setResolution()
-*/
-
-void TQPrinter::setPageSize( PageSize newPageSize )
-{
- if ( newPageSize > NPageSize ) {
-#if defined(TQT_CHECK_STATE)
- qWarning("TQPrinter::SetPageSize: illegal page size %d", newPageSize );
-#endif
- return;
- }
- page_size = newPageSize;
-#if defined(TQ_WS_WIN)
- reinit();
-#endif
-}
-
-/*!
- Sets the page order to \a newPageOrder.
-
- The page order can be \c TQPrinter::FirstPageFirst or \c
- TQPrinter::LastPageFirst. The application programmer is responsible
- for reading the page order and printing accordingly.
-
- This function is useful mostly for setting a default value that
- the user can override in the print dialog when you call setup().
-
- \bug This value is not kept in sync with the Windows or Mac OS X printer
- dialogs.
-*/
-
-void TQPrinter::setPageOrder( PageOrder newPageOrder )
-{
- page_order = newPageOrder;
-#if defined(TQ_WS_WIN)
- reinit();
-#endif
-}
-
-
-/*!
- Returns the current page order.
-
- The default page order is \c FirstPageFirst.
-
- \bug This value is not kept in sync with the Windows or Mac OS X printer
- dialogs.
-*/
-
-TQPrinter::PageOrder TQPrinter::pageOrder() const
-{
- return page_order;
-}
-
-
-/*!
- Sets the printer's color mode to \a newColorMode, which can be
- either \c Color or \c GrayScale (the default).
-
- \sa colorMode()
-*/
-
-void TQPrinter::setColorMode( ColorMode newColorMode )
-{
- color_mode = newColorMode;
-#if defined(TQ_WS_WIN)
- reinit();
-#endif
-}
-
-
-/*!
- Returns the current color mode. The default color mode is \c
- Color.
-
- \sa setColorMode()
-*/
-
-TQPrinter::ColorMode TQPrinter::colorMode() const
-{
- return color_mode;
-}
-
-
-/*!
- \fn int TQPrinter::fromPage() const
-
- Returns the from-page setting. The default value is 0.
-
- If fromPage() and toPage() both return 0 this signifies 'print the
- whole document'.
-
- The programmer is responsible for reading this setting and
- printing accordingly.
-
- \sa setFromTo(), toPage()
-*/
-
-/*!
- \fn int TQPrinter::toPage() const
-
- Returns the to-page setting. The default value is 0.
-
- If fromPage() and toPage() both return 0 this signifies 'print the
- whole document'.
-
- The programmer is responsible for reading this setting and
- printing accordingly.
-
- \sa setFromTo(), fromPage()
-*/
-
-/*!
- Sets the from-page and to-page settings to \a fromPage and \a
- toPage respectively.
-
- The from-page and to-page settings specify what pages to print.
-
- If fromPage() and toPage() both return 0 this signifies 'print the
- whole document'.
-
- This function is useful mostly to set a default value that the
- user can override in the print dialog when you call setup().
-
- \sa fromPage(), toPage(), setMinMax(), setup()
-*/
-
-void TQPrinter::setFromTo( int fromPage, int toPage )
-{
- if ( state != 0 ) {
-#if defined(TQT_CHECK_STATE)
- qWarning( "TQPrinter::setFromTo: Cannot do this during printing" );
-#endif
- return;
- }
- from_pg = fromPage;
- to_pg = toPage;
-}
-
-
-/*!
- \fn int TQPrinter::minPage() const
-
- Returns the min-page setting, i.e. the lowest page number a user
- is allowed to choose. The default value is 0.
-
- \sa maxPage(), setMinMax() setFromTo()
-*/
-
-/*!
- \fn int TQPrinter::maxPage() const
-
- Returns the max-page setting. A user can't choose a higher page
- number than maxPage() when they select a print range. The default
- value is 0.
-
- \sa minPage(), setMinMax() setFromTo()
-*/
-
-/*!
- Sets the min-page and max-page settings to \a minPage and \a
- maxPage respectively.
-
- The min-page and max-page restrict the from-page and to-page
- settings. When the printer setup dialog appears, the user cannot
- select a from page or a to page that are outside the range
- specified by min and max pages.
-
- \sa minPage(), maxPage(), setFromTo(), setup()
-*/
-
-void TQPrinter::setMinMax( int minPage, int maxPage )
-{
- min_pg = minPage;
- max_pg = maxPage;
- if ( from_pg == 0 || from_pg < minPage )
- from_pg = minPage;
- if ( to_pg == 0 || to_pg > maxPage )
- to_pg = maxPage;
-}
-
-
-/*!
- \fn int TQPrinter::numCopies() const
-
- Returns the number of copies to be printed. The default value is 1.
-
- This value will return the number of times the application is
- required to print in order to match the number specified in the
- printer setup dialog. This has been done since some printer
- drivers are not capable of buffering up the copies and the
- application in those cases have to make an explicit call to the
- print code for each copy.
-
- \sa setNumCopies()
-*/
-
-/*!
- \fn bool TQPrinter::collateCopiesEnabled() const
-
- \internal
-
- Returns TRUE if the application should provide the user with the
- option of choosing a collated printout; otherwise returns FALSE.
-
- Collation means that each page is printed in order, i.e. print the
- first page, then the second page, then the third page and so on, and
- then repeat this sequence for as many copies as have been requested.
- If you don't collate you get several copies of the first page, then
- several copies of the second page, then several copies of the third
- page, and so on.
-
- \sa setCollateCopiesEnabled() setCollateCopies() collateCopies()
-*/
-
-/*!
- \fn void TQPrinter::setCollateCopiesEnabled(bool enable)
-
- \internal
-
- If \a enable is TRUE (the default) the user is given the choice of
- whether to print out multiple copies collated in the print dialog.
- If \a enable is FALSE, then collateCopies() will be ignored.
-
- Collation means that each page is printed in order, i.e. print the
- first page, then the second page, then the third page and so on, and
- then repeat this sequence for as many copies as have been requested.
- If you don't collate you get several copies of the first page, then
- several copies of the second page, then several copies of the third
- page, and so on.
-
- \sa collateCopiesEnabled() setCollateCopies() collateCopies()
-*/
-
-/*!
- \fn bool TQPrinter::collateCopies() const
-
- \internal
-
- Returns TRUE if collation is turned on when multiple copies is selected.
- Returns FALSE if it is turned off when multiple copies is selected.
-
- \sa collateCopiesEnabled() setCollateCopiesEnabled() setCollateCopies()
-*/
-
-/*!
- \internal
-
- Sets the default value for collation checkbox when the print dialog appears.
- If \a on is TRUE, it will enable setCollateCopiesEnabled().
- The default value is FALSE. This value will be changed by what the
- user presses in the print dialog.
-
- \sa collateCopiesEnabled() setCollateCopiesEnabled() collateCopies()
-*/
-
-void TQPrinter::setCollateCopies(bool on)
-{
- if (!collateCopiesEnabled() && on)
- setCollateCopiesEnabled(on);
- usercolcopies = on;
-}
-
-/*!
- Sets the number of copies to be printed to \a numCopies.
-
- The printer driver reads this setting and prints the specified
- number of copies.
-
- \sa numCopies(), setup()
-*/
-
-void TQPrinter::setNumCopies( int numCopies )
-{
- ncopies = numCopies;
-#if defined(TQ_WS_WIN)
- reinit();
-#endif
-}
-
-
-/*!
- Returns the printer options selection string. This is useful only
- if the print command has been explicitly set.
-
- The default value (a null string) implies that the printer should
- be selected in a system-dependent manner.
-
- Any other value implies that the given value should be used.
-
- \sa setPrinterSelectionOption()
-*/
-
-TQString TQPrinter::printerSelectionOption() const
-{
- return option_string;
-}
-
-
-/*!
- Sets the printer to use \a option to select the printer. \a option
- is null by default (which implies that TQt should be smart enough
- to guess correctly), but it can be set to other values to use a
- specific printer selection option.
-
- If the printer selection option is changed while the printer is
- active, the current print job may or may not be affected.
-
- \sa printerSelectionOption()
-*/
-
-void TQPrinter::setPrinterSelectionOption( const TQString & option )
-{
- option_string = option;
-}
-
-
-/*!
- Sets TQPrinter to have the origin of the coordinate system at the
- top-left corner of the paper if \a fp is TRUE, or where it thinks
- the top-left corner of the printable area is if \a fp is FALSE.
-
- The default is FALSE. You can (probably) print on (0,0), and
- TQPaintDeviceMetrics will report something smaller than the size
- indicated by PageSize. (Note that TQPrinter may be wrong on Unix
- systems - it does not have perfect knowledge of the physical
- printer.)
-
- If you set \a fp to TRUE, TQPaintDeviceMetrics will report the
- exact same size as indicated by \c PageSize, but you cannot print
- on all of that - you must take care of the output margins
- yourself.
-
- \sa PageSize setPageSize() TQPaintDeviceMetrics fullPage()
-*/
-
-void TQPrinter::setFullPage( bool fp )
-{
- to_edge = fp;
-}
-
-
-/*!
- Returns TRUE if the origin of the printer's coordinate system is
- at the corner of the sheet and FALSE if it is at the edge of the
- printable area.
-
- See setFullPage() for details and caveats.
-
- \sa setFullPage() PageSize TQPaintDeviceMetrics
-*/
-
-bool TQPrinter::fullPage() const
-{
- return to_edge;
-}
-
-
-/*!
- Requests that the printer prints at \a dpi or as near to \a dpi as
- possible.
-
- This setting affects the coordinate system as returned by, for
- example, TQPaintDeviceMetrics and TQPainter::viewport().
-
- The value depends on the \c PrintingMode used in the TQPrinter
- constructor. By default, the dpi value of the screen is used.
-
- This function must be called before setup() to have an effect on
- all platforms.
-
- \sa resolution() setPageSize()
-*/
-
-void TQPrinter::setResolution( int dpi )
-{
- res = dpi;
- res_set = TRUE;
-}
-
-
-/*!
- Returns the current assumed resolution of the printer, as set by
- setResolution() or by the printer subsystem.
-
- \sa setResolution()
-*/
-
-int TQPrinter::resolution() const
-{
- return res;
-}
-
-/*!
- Sets the paper source setting to \a source.
-
- Windows only! This option can be changed while printing and will
- take effect from the next call to newPage()
-
- \sa paperSource()
-*/
-
-void TQPrinter::setPaperSource( PaperSource source )
-{
- paper_source = source;
-#if defined(TQ_WS_WIN)
- reinit();
-#endif
-}
-
-/*!
- Returns the currently set paper source of the printer.
-
- \sa setPaperSource()
-*/
-
-TQPrinter::PaperSource TQPrinter::paperSource() const
-{
- return paper_source;
-}
-
-/*!
- Sets the default selected page range to be used when the print setup
- dialog is opened to \a range. If the PageRange specified by \a range is
- currently disabled the function does nothing.
-
- \sa printRange()
-*/
-void TQPrinter::setPrintRange( PrintRange range )
-{
- if( range != AllPages )
- if( range == Selection
- && !isOptionEnabled( PrintSelection ) )
- setOptionEnabled( PrintSelection, TRUE );
- else if( range == PageRange
- && !isOptionEnabled( PrintPageRange ) )
- setOptionEnabled( PrintPageRange, TRUE );
- d->printRange = range;
-}
-
-/*!
- Returns the PageRange of the TQPrinter. After the print setup dialog
- has been opened, this function returns the value selected by the user.
-
- \sa setPrintRange()
-*/
-TQPrinter::PrintRange TQPrinter::printRange() const
-{
- return d->printRange;
-}
-
-/*!
- Enables the printer option with the identifier \a option if \a
- enable is TRUE, and disables option \a option if \a enable is FALSE.
-
- \sa isOptionEnabled()
-*/
-void TQPrinter::setOptionEnabled( PrinterOption option, bool enable )
-{
- if( enable ) {
- d->printerOptions |= ( 1 << option );
- if( ( option == PrintPageRange ) && min_pg==0 && max_pg==0 )
- max_pg = 9999;
- } else {
- d->printerOptions &= ( ~( 1 << option ) );
- }
-}
-
-/*!
- Returns TRUE if the printer option with identifier \a option is enabled;
- otherwise returns FALSE.
-
- \sa setOptionEnabled()
- */
-bool TQPrinter::isOptionEnabled( PrinterOption option )
-{
- return d->printerOptions & ( 1 << option );
-}
-
-#endif // USE_QT4
-
-#endif // TQT_NO_PRINTER
-