diff options
Diffstat (limited to 'qt/qextscintillaprinter.h')
-rw-r--r-- | qt/qextscintillaprinter.h | 107 |
1 files changed, 107 insertions, 0 deletions
diff --git a/qt/qextscintillaprinter.h b/qt/qextscintillaprinter.h new file mode 100644 index 0000000..3eae387 --- /dev/null +++ b/qt/qextscintillaprinter.h @@ -0,0 +1,107 @@ +// This module defines interface to the QextScintillaPrinter class. +// +// Copyright (c) 2006 +// Riverbank Computing Limited <[email protected]> +// +// This file is part of QScintilla. +// +// This copy of QScintilla is free software; you can redistribute it and/or +// modify it under the terms of the GNU General Public License as published by +// the Free Software Foundation; either version 2, or (at your option) any +// later version. +// +// QScintilla is supplied in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +// details. +// +// You should have received a copy of the GNU General Public License along with +// QScintilla; see the file LICENSE. If not, write to the Free Software +// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + +#ifndef QEXTSCINTILLAPRINTER_H +#define QEXTSCINTILLAPRINTER_H + + +#include <qprinter.h> + +#include <qextscintillaglobal.h> +#include <qextscintilla.h> + + +class QRect; +class QPainter; +class QextScintillaBase; + + +//! \brief The QextScintillaPrinter class is a sub-class of the Qt QPrinter +//! class that is able to print the text of a Scintilla document. +//! +//! The class can be further sub-classed to alter to layout of the text, adding +//! headers and footers for example. +class QEXTSCINTILLA_EXPORT QextScintillaPrinter : public QPrinter +{ +public: + //! Constructs a printer paint device with mode \a mode. + QextScintillaPrinter(PrinterMode mode = ScreenResolution); + + //! Destroys the QextScintillaPrinter instance. + ~QextScintillaPrinter(); + + //! Format a page, by adding headers and footers for example, before + //! the document text is drawn on it. \a painter is the painter to be + //! used to add customised text and graphics. \a drawing is TRUE if + //! the page is actually being drawn rather than being sized. + //! \a painter drawing methods must only be called when \a drawing is + //! TRUE. \a area is the area of the page that will be used to draw + //! the text. This should be modified if it is necessary to reserve + //! space for any customised text or graphics. By default the area is + //! relative to the printable area of the page. Use + //! QPrinter::setFullPage() because calling printRange() if you want to + //! try and print over the whole page. \a pagenr is the number of the + //! page. The first page is numbered 1. + virtual void formatPage(QPainter &painter,bool drawing,QRect &area, + int pagenr); + + //! Return the number of points to add to each font when printing. + //! + //! \sa setMagnification() + int magnification() const {return mag;} + + //! Sets the number of points to add to each font when printing to + //! \a magnification. + //! + //! \sa magnification() + virtual void setMagnification(int magnification); + + //! Print a range of lines from the Scintilla instance \a qsb. \a from + //! is the first line to print and a negative value signifies the first + //! line of text. \a to is the last line to print and a negative value + //! signifies the last line of text. TRUE is returned if there was no + //! error. + virtual int printRange(QextScintillaBase *qsb,int from = -1, + int to = -1); + + //! Return the line wrap mode used when printing. The default is + //! QextScintilla::WrapWord. + //! + //! \sa setWrapMode() + QextScintilla::WrapMode wrapMode() const {return wrap;} + + //! Sets the line wrap mode used when printing to \a wmode. + //! + //! \sa wrapMode() + virtual void setWrapMode(QextScintilla::WrapMode wmode); + +private: + int mag; + QextScintilla::WrapMode wrap; + +#if defined(Q_DISABLE_COPY) + QextScintillaPrinter(const QextScintillaPrinter &); + QextScintillaPrinter &operator=(const QextScintillaPrinter &); +#endif +}; + +#endif |