CopperSpice API  1.7.2
QPageLayout Class Reference

Describes the size, orientation and margins of a page. More...

Public Typedefs

using Unit = QPageSize::Unit
 

Public Types

enum  Mode
 
enum  Orientation
 

Public Methods

 QPageLayout ()
 
 QPageLayout (const QPageLayout &other)
 
 QPageLayout (const QPageSize &pageSize, Orientation orientation, const QMarginsF &margins, Unit units=QPageSize::Unit::Point, const QMarginsF &minMargins=QMarginsF (0, 0, 0, 0))
 
 ~QPageLayout ()
 
QRectF fullRect () const
 
QRectF fullRect (Unit units) const
 
QRect fullRectPixels (int resolution) const
 
QRect fullRectPoints () const
 
bool isEquivalentTo (const QPageLayout &other) const
 
bool isValid () const
 
QMarginsF margins () const
 
QMarginsF margins (Unit units) const
 
QMargins marginsPixels (int resolution) const
 
QMargins marginsPoints () const
 
QMarginsF maximumMargins () const
 
QMarginsF minimumMargins () const
 
Mode mode () const
 
QPageLayout & operator= (const QPageLayout &other)
 
QPageLayout & operator= (QPageLayout &&other)
 
Orientation orientation () const
 
QPageSize pageSize () const
 
QRectF paintRect () const
 
QRectF paintRect (Unit units) const
 
QRect paintRectPixels (int resolution) const
 
QRect paintRectPoints () const
 
bool setBottomMargin (qreal bottomMargin)
 
bool setLeftMargin (qreal leftMargin)
 
bool setMargins (const QMarginsF &margins)
 
void setMinimumMargins (const QMarginsF &minMargins)
 
void setMode (Mode mode)
 
void setOrientation (Orientation orientation)
 
void setPageSize (const QPageSize &pageSize, const QMarginsF &minMargins=QMarginsF (0, 0, 0, 0))
 
bool setRightMargin (qreal rightMargin)
 
bool setTopMargin (qreal topMargin)
 
void setUnits (QPageSize::Unit units)
 
void swap (QPageLayout &other)
 
QPageSize::Unit units () const
 

Friends

bool operator== (const QPageLayout &lhs, const QPageLayout &rhs)
 

Related Functions

These are not member functions

bool operator!= (const QPageLayout &lhs, const QPageLayout &rhs)
 

Detailed Description

Describes the size, orientation and margins of a page. The QPageLayout class defines the layout of a page in a paged document, with the page size, orientation and margins able to be set and the full page and paintable page rectangles defined by those attributes able to be queried in a variety of units.

The page size is defined by the QPageSize class which can be queried for page size attributes. Note that the QPageSize itself is always defined in a Portrait orientation.

The minimum margins can be defined for the layout but normally default to 0. When used in conjunction with printing support the minimum margins will reflect the minimum printable area defined by the printer.

In the default StandardMode the current margins and minimum margins are always taken into account. The paintable rectangle is the full page rectangle less the current margins, and the current margins can only be set to values between the minimum margins and the maximum margins allowed by the full page size.

In FullPageMode the current margins and minimum margins are not taken into account. The paintable rectangle is the full page rectangle, and the current margins can be set to any values regardless of the minimum margins and page size.

See also
QPageSize

Member Typedef Documentation

Member Enumeration Documentation

Defines the page layout mode.

Constant Value Description
QWindow::StandardMode 0 Paint Rect includes margins, margins must fall between the minimum and maximum
QWindow::FullPageMode 1 Paint Rect excludes margins, margins can be any value and must be managed manually

This enum type (not to be confused with Orientation) is used to specify each page's orientation.

ConstantValueDescription
QPrinter::Portrait0Page height is greater than width
QPrinter::Landscape1Page width is greater than height

This type interacts with QPrinter::PaperSize and QPrinter::setFullPage() to determine the final size of the page available to the application.

Constructor & Destructor Documentation

QPageLayout::QPageLayout ( )

Creates an invalid QPageLayout.

QPageLayout::QPageLayout ( const QPageSize pageSize,
Orientation  orientation,
const QMarginsF margins,
Unit  units = QPageSize::Unit::Point,
const QMarginsF minMargins = QMarginsF(0, 0, 0, 0) 
)

Creates a QPageLayout with the given pageSize, orientation and margins in the given units. The constructed QPageLayout will be in StandardMode.

Optionally the minimum allowed margins minMargins can be defined. These are the minimum margins supported by the physical print device. The margins given will be clamped to the minimum margins and the maximum margins allowed by the page size.

QPageLayout::QPageLayout ( const QPageLayout &  other)

Copy constructs a new QPageLayout from other.

QPageLayout::~QPageLayout ( )

Destroys the page layout.

Method Documentation

QRectF QPageLayout::fullRect ( ) const

Returns the full page rectangle in the current layout units. The page rectangle takes into account the page size and page orientation, but not the page margins.

See also
paintRect(), units()
QRectF QPageLayout::fullRect ( Unit  units) const

Returns the full page rectangle in the required units. The page rectangle takes into account the page size and page orientation, but not the page margins.

See also
paintRect()
QRect QPageLayout::fullRectPixels ( int  resolution) const

Returns the full page rectangle in device pixels for the given resolution.

The page rectangle takes into account the page size and page orientation, but not the page margins.

See also
paintRect()
QRect QPageLayout::fullRectPoints ( ) const

Returns the full page rectangle in Postscript Points (1/72nd of an inch).

The page rectangle takes into account the page size and page orientation, but not the page margins.

See also
paintRect()
bool QPageLayout::isEquivalentTo ( const QPageLayout &  other) const

Returns true if this page layout is equivalent to the other page layout, i.e. if the page has the same size, margins and orientation.

bool QPageLayout::isValid ( ) const

Returns true if this page layout is valid.

QMarginsF QPageLayout::margins ( ) const

Returns the margins of the page layout using the currently set units.

See also
setMargins(), units()
QMarginsF QPageLayout::margins ( Unit  units) const

Returns the margins of the page layout using the requested units.

See also
setMargins(), margins()
QMargins QPageLayout::marginsPixels ( int  resolution) const

Returns the margins of the page layout in device pixels for the given resolution.

See also
setMargins()
QMargins QPageLayout::marginsPoints ( ) const

Returns the margins of the page layout in Postscript Points (1/72nd of an inch).

See also
setMargins(), margins()
QMarginsF QPageLayout::maximumMargins ( ) const

Returns the maximum margins that would be applied if the page layout was in StandardMode.

The maximum margins allowed are calculated as the full size of the page minus the minimum margins set. For example, if the page width is 100 points and the minimum right margin is 10 points, then the maximum left margin will be 90 points.

See also
setMinimumMargins(), minimumMargins()
QMarginsF QPageLayout::minimumMargins ( ) const

Returns the minimum margins of the page layout.

See also
setMinimumMargins(), maximumMargins()
Mode QPageLayout::mode ( ) const

Returns the page layout mode.

See also
setMode()
QPageLayout & operator= ( const QPageLayout &  other)

Assignment operator, assigns other to this.

QPageLayout & QPageLayout::operator= ( QPageLayout &&  other)
inline

Move assigns other to this QPageLayout.

Orientation QPageLayout::orientation ( ) const

Returns the page orientation of the page layout.

See also
setOrientation()
QPageSize QPageLayout::pageSize ( ) const

Returns the page size of the page layout.

Note that the QPageSize is always defined in a Portrait orientation. To obtain a size that takes the set orientation into account you must use fullRect().

See also
setPageSize()
QRectF QPageLayout::paintRect ( ) const

Returns the page rectangle in the current layout units.

The paintable rectangle takes into account the page size, orientation and margins.

If the FullPageMode mode is set then the fullRect() is returned and the margins must be manually managed.

QRectF QPageLayout::paintRect ( Unit  units) const

Returns the page rectangle in the required units.

The paintable rectangle takes into account the page size, orientation and margins. If the FullPageMode mode is set then the fullRect() is returned and the margins must be manually managed.

QRect QPageLayout::paintRectPixels ( int  resolution) const

Returns the paintable rectangle in rounded device pixels for the given resolution.

The paintable rectangle takes into account the page size, orientation and margins. If the FullPageMode mode is set then the fullRect() is returned and the margins must be manually managed.

QRect QPageLayout::paintRectPoints ( ) const

Returns the paintable rectangle in rounded Postscript Points (1/72nd of an inch).

The paintable rectangle takes into account the page size, orientation and margins. If the FullPageMode mode is set then the fullRect() is returned and the margins must be manually managed.

bool QPageLayout::setBottomMargin ( qreal  bottomMargin)

Sets the bottom page margin of the page layout to bottomMargin. Returns true if the margin was successfully set.

The units used are those currently defined for the layout. To use different units call setUnits() first.

If in the default StandardMode then the new margin must fall between the minimum margin set and the maximum margin allowed by the page size, otherwise the margin will not be set. If in FullPageMode then any margin values will be accepted.

See also
setMargins(), margins()
bool QPageLayout::setLeftMargin ( qreal  leftMargin)

Sets the left page margin of the page layout to leftMargin. Returns true if the margin was successfully set.

The units used are those currently defined for the layout. To use different units call setUnits() first.

If in the default StandardMode then the new margin must fall between the minimum margin set and the maximum margin allowed by the page size, otherwise the margin will not be set. If in FullPageMode then any margin values will be accepted.

See also
setMargins(), margins()
bool QPageLayout::setMargins ( const QMarginsF margins)

Sets the page margins of the page layout to margins.Returns true if the margins were successfully set.

The units used are those currently defined for the layout. To use different units then call setUnits() first.

If in the default StandardMode then all the new margins must fall between the minimum margins set and the maximum margins allowed by the page size, otherwise the margins will not be set. If in FullPageMode then any margin values will be accepted.

See also
margins(), units()
void QPageLayout::setMinimumMargins ( const QMarginsF minMargins)

Sets the minimum page margins of the page layout to minMargins.

It is not recommended to override the default values set for a page size as this may be the minimum printable area for a physical print device.

If the StandardMode mode is set then the existing margins will be clamped to the new minMargins and the maximum allowed by the page size. If the FullPageMode is set then the existing margins will be unchanged.

See also
minimumMargins(), setMargins()
void QPageLayout::setMode ( Mode  mode)

Sets a page layout mode to mode.

See also
mode()
void QPageLayout::setOrientation ( Orientation  orientation)

Sets the page orientation of the page layout to orientation.

Changing the orientation does not affect the current margins or the minimum margins.

See also
orientation()
void QPageLayout::setPageSize ( const QPageSize pageSize,
const QMarginsF minMargins = QMarginsF(0, 0, 0, 0) 
)

Sets the page size of the page layout to pageSize.

Optionally define the minimum allowed margins minMargins, e.g. the minimum margins able to be printed by a physical print device, otherwise the minimum margins will default to 0.

If StandardMode is set then the existing margins will be clamped to the new minimum margins and the maximum margins allowed by the page size. If FullPageMode is set then the existing margins will be unchanged.

See also
pageSize()
bool QPageLayout::setRightMargin ( qreal  rightMargin)

Sets the right page margin of the page layout to rightMargin. Returns true if the margin was successfully set.

The units used are those currently defined for the layout. To use different units call setUnits() first.

If in the default StandardMode then the new margin must fall between the minimum margin set and the maximum margin allowed by the page size, otherwise the margin will not be set. If in FullPageMode then any margin values will be accepted.

See also
setMargins(), margins()
bool QPageLayout::setTopMargin ( qreal  topMargin)

Sets the top page margin of the page layout to topMargin. Returns true if the margin was successfully set.

The units used are those currently defined for the layout. To use different units call setUnits() first.

If in the default StandardMode then the new margin must fall between the minimum margin set and the maximum margin allowed by the page size, otherwise the margin will not be set. If in FullPageMode then any margin values will be accepted.

See also
setMargins(), margins()
void QPageLayout::setUnits ( QPageSize::Unit  units)

Sets the units used to define the page layout.

See also
units()
void QPageLayout::swap ( QPageLayout &  other)
inline

Swaps this page layout with other. This function is very fast and never fails. Unit QPageLayout::units() const

Returns the units the page layout is currently defined in.

See also
setUnits()
QPageSize::Unit QPageLayout::units ( ) const

Returns the units the page layout is defined in.

See also
units()

Friends And Related Function Documentation

bool operator!= ( const QPageLayout &  lhs,
const QPageLayout &  rhs 
)
related

Returns true if page layout lhs is not equal to page layout rhs, which means any of the attributes differ.

This comparison is a strict equality. The QPageSize ID, name and size must exactly match as well as the margins and the units.

See also
QPageLayout::isEquivalentTo()
bool operator== ( const QPageLayout &  lhs,
const QPageLayout &  rhs 
)
friend

Returns true if page layout lhs is equal to page layout rhs, which means all the attributes are exactly equal.

This comparison is a strict equality. The QPageSize ID, name and size must exactly match as well as the margins and the units.

See also
QPageLayout::isEquivalentTo()