\section{\class{wxPageSetupDialog}}\label{wxpagesetupdialog}

This class represents the page setup common dialog. In MSW, the page setup
dialog is standard from Windows 95 on, replacing the print setup dialog (which
is retained in Windows and wxWidgets for backward compatibility). On Windows 95
and NT 4.0 and above, the page setup dialog is native to the windowing system,
otherwise it is emulated.

The page setup dialog contains controls for paper size (A4, A5 etc.),
orientation (landscape or portrait), and controls for setting left, top, right
and bottom margin sizes in millimetres.

On Macintosh, the native page setup dialog is used, which lets you select paper
size and orientation but it does not let you change the page margins.

On other platforms, a generic dialog is used.

When the dialog has been closed, you need to query the
\helpref{wxPageSetupDialogData}{wxpagesetupdialogdata} object associated with
the dialog.

Note that the OK and Cancel buttons do not destroy the dialog; this must be done
by the application.

\wxheading{Derived from}

\helpref{wxDialog}{wxdialog}\\
\helpref{wxWindow}{wxwindow}\\
\helpref{wxEvtHandler}{wxevthandler}\\
\helpref{wxObject}{wxobject}

\wxheading{Include files}

<wx/printdlg.h>

\wxheading{See also}

\helpref{Printing framework overview}{printingoverview}, 
\helpref{wxPrintDialog}{wxprintdialog}, 
\helpref{wxPageSetupDialogData}{wxpagesetupdialogdata}

\latexignore{\rtfignore{\wxheading{Members}}}

\membersection{wxPageSetupDialog::wxPageSetupDialog}\label{wxpagesetupdialogctor}

\func{}{wxPageSetupDialog}{\param{wxWindow* }{parent}, \param{wxPageSetupDialogData* }{data = NULL}}

Constructor. Pass a parent window, and optionally a pointer to a block of page setup
data, which will be copied to the print dialog's internal data.

\membersection{wxPageSetupDialog::\destruct{wxPageSetupDialog}}\label{wxpagesetupdialogdtor}

\func{}{\destruct{wxPageSetupDialog}}{\void}

Destructor.

\membersection{wxPageSetupDialog::GetPageSetupData}\label{wxpagesetupdialoggetpagesetupdata}

\func{wxPageSetupDialogData\&}{GetPageSetupData}{\void}

Returns the \helpref{page setup data}{wxpagesetupdialogdata} associated with the dialog.

%\membersection{wxPageSetupDialog::IsOk}\label{wxpagesetupdialogisok}
%
%\constfunc{bool}{IsOk}{\void}
%
%Returns true if the print data associated with the dialog data is valid.
%This can return false on Windows if the current printer is not set, for example.
%On all other platforms, it returns true.

\membersection{wxPageSetupDialog::ShowModal}\label{wxpagesetupdialogshowmodal}

\func{int}{ShowModal}{\void}

Shows the dialog, returning wxID\_OK if the user pressed OK, and wxID\_CANCEL
otherwise.

\section{\class{wxPageSetupDialogData}}\label{wxpagesetupdialogdata}

This class holds a variety of information related to \helpref{wxPageSetupDialog}{wxpagesetupdialog}.

It contains a \helpref{wxPrintData}{wxprintdata} member which is used to hold basic printer configuration data (as opposed to the
user-interface configuration settings stored by wxPageSetupDialogData).

\wxheading{Derived from}

\helpref{wxObject}{wxobject}

\wxheading{Include files}

<wx/cmndata.h>

\wxheading{See also}

\helpref{Printing framework overview}{printingoverview}, 
\helpref{wxPageSetupDialog}{wxpagesetupdialog}

\latexignore{\rtfignore{\wxheading{Members}}}

\membersection{wxPageSetupDialogData::wxPageSetupDialogData}\label{wxpagesetupdialogdatactor}

\func{}{wxPageSetupDialogData}{\void}

Default constructor.

\func{}{wxPageSetupDialogData}{\param{wxPageSetupDialogData\&}{ data}}

Copy constructor.

\func{}{wxPageSetupDialogData}{\param{wxPrintData\&}{ printData}}

Construct an object from a print data object.

\membersection{wxPageSetupDialogData::\destruct{wxPageSetupDialogData}}\label{wxpagesetupdialogdatadtor}

\func{}{\destruct{wxPageSetupDialogData}}{\void}

Destructor.

\membersection{wxPageSetupDialogData::EnableHelp}\label{wxpagesetupdialogdataenablehelp}

\func{void}{EnableHelp}{\param{bool }{flag}}

Enables or disables the `Help' button (Windows only).

\membersection{wxPageSetupDialogData::EnableMargins}\label{wxpagesetupdialogdataenablemargins}

\func{void}{EnableMargins}{\param{bool }{flag}}

Enables or disables the margin controls (Windows only).

\membersection{wxPageSetupDialogData::EnableOrientation}\label{wxpagesetupdialogdataenableorientation}

\func{void}{EnableOrientation}{\param{bool }{flag}}

Enables or disables the orientation control (Windows only).

\membersection{wxPageSetupDialogData::EnablePaper}\label{wxpagesetupdialogdataenablepaper}

\func{void}{EnablePaper}{\param{bool }{flag}}

Enables or disables the paper size control (Windows only).

\membersection{wxPageSetupDialogData::EnablePrinter}\label{wxpagesetupdialogdataenableprinter}

\func{void}{EnablePrinter}{\param{bool }{flag}}

Enables or disables the {\bf Printer} button, which invokes a printer setup dialog.

\membersection{wxPageSetupDialogData::GetDefaultMinMargins}\label{wxpagesetupdialogdatagetdefaultminmargins}

\constfunc{bool}{GetDefaultMinMargins}{\void}

Returns true if the page setup dialog will take its minimum margin values from the currently
selected printer properties. Windows only.

\membersection{wxPageSetupDialogData::GetEnableMargins}\label{wxpagesetupdialogdatagetenablemargins}

\constfunc{bool}{GetEnableMargins}{\void}

Returns true if the margin controls are enabled (Windows only).

\membersection{wxPageSetupDialogData::GetEnableOrientation}\label{wxpagesetupdialogdatagetenableorientation}

\constfunc{bool}{GetEnableOrientation}{\void}

Returns true if the orientation control is enabled (Windows only).

\membersection{wxPageSetupDialogData::GetEnablePaper}\label{wxpagesetupdialogdatagetenablepaper}

\constfunc{bool}{GetEnablePaper}{\void}

Returns true if the paper size control is enabled (Windows only).

\membersection{wxPageSetupDialogData::GetEnablePrinter}\label{wxpagesetupdialogdatagetenableprinter}

\constfunc{bool}{GetEnablePrinter}{\void}

Returns true if the printer setup button is enabled.

\membersection{wxPageSetupDialogData::GetEnableHelp}\label{wxpagesetupdialogdatagetenablehelp}

\constfunc{bool}{GetEnableHelp}{\void}

Returns true if the printer setup button is enabled.

\membersection{wxPageSetupDialogData::GetDefaultInfo}\label{wxpagesetupdialogdatagetdefaultinfo}

\constfunc{bool}{GetDefaultInfo}{\void}

Returns true if the dialog will simply return default printer information (such as orientation)
instead of showing a dialog. Windows only.

\membersection{wxPageSetupDialogData::GetMarginTopLeft}\label{wxpagesetupdialogdatagetmargintopleft}

\constfunc{wxPoint}{GetMarginTopLeft}{\void}

Returns the left (x) and top (y) margins in millimetres.

\membersection{wxPageSetupDialogData::GetMarginBottomRight}\label{wxpagesetupdialogdatagetmarginbottomright}

\constfunc{wxPoint}{GetMarginBottomRight}{\void}

Returns the right (x) and bottom (y) margins in millimetres.

\membersection{wxPageSetupDialogData::GetMinMarginTopLeft}\label{wxpagesetupdialogdatagetminmargintopleft}

\constfunc{wxPoint}{GetMinMarginTopLeft}{\void}

Returns the left (x) and top (y) minimum margins the user can enter (Windows only). Units
are in millimetres

\membersection{wxPageSetupDialogData::GetMinMarginBottomRight}\label{wxpagesetupdialogdatagetminmarginbottomright}

\constfunc{wxPoint}{GetMinMarginBottomRight}{\void}

Returns the right (x) and bottom (y) minimum margins the user can enter (Windows only). Units
are in millimetres

\membersection{wxPageSetupDialogData::GetPaperId}\label{wxpagesetupdialogdatagetpaperid}

\constfunc{wxPaperSize}{GetPaperId}{\void}

Returns the paper id (stored in the internal wxPrintData object).

For further information, see \helpref{wxPrintData::SetPaperId}{wxprintdatasetpaperid}.

\membersection{wxPageSetupDialogData::GetPaperSize}\label{wxpagesetupdialogdatagetpapersize}

\constfunc{wxSize}{GetPaperSize}{\void}

Returns the paper size in millimetres.

\membersection{wxPageSetupDialogData::GetPrintData}\label{wxpagesetupdialogdatagetprintdata}

\func{wxPrintData\&}{GetPrintData}{\void}

Returns a reference to the \helpref{print data}{wxprintdata} associated with this object.

\membersection{wxPageSetupDialogData::IsOk}\label{wxpagesetupdialogdataisok}

\constfunc{bool}{IsOk}{\void}

Returns true if the print data associated with the dialog data is valid.
This can return false on Windows if the current printer is not set, for example.
On all other platforms, it returns true.

\membersection{wxPageSetupDialogData::SetDefaultInfo}\label{wxpagesetupdialogdatasetdefaultinfo}

\func{void}{SetDefaultInfo}{\param{bool}{ flag}}

Pass true if the dialog will simply return default printer information (such as orientation)
instead of showing a dialog. Windows only.

\membersection{wxPageSetupDialogData::SetDefaultMinMargins}\label{wxpagesetupdialogdatasetdefaultminmargins}

\func{void}{SetDefaultMinMargins}{\param{bool}{ flag}}

Pass true if the page setup dialog will take its minimum margin values from the currently
selected printer properties. Windows only. Units are in millimetres

\membersection{wxPageSetupDialogData::SetMarginTopLeft}\label{wxpagesetupdialogdatasetmargintopleft}

\func{void}{SetMarginTopLeft}{\param{const wxPoint\& }{pt}}

Sets the left (x) and top (y) margins in millimetres.

\membersection{wxPageSetupDialogData::SetMarginBottomRight}\label{wxpagesetupdialogdatasetmarginbottomright}

\func{void}{SetMarginBottomRight}{\param{const wxPoint\& }{pt}}

Sets the right (x) and bottom (y) margins in millimetres.

\membersection{wxPageSetupDialogData::SetMinMarginTopLeft}\label{wxpagesetupdialogdatasetminmargintopleft}

\func{void}{SetMinMarginTopLeft}{\param{const wxPoint\& }{pt}}

Sets the left (x) and top (y) minimum margins the user can enter (Windows only). Units are
in millimetres.

\membersection{wxPageSetupDialogData::SetMinMarginBottomRight}\label{wxpagesetupdialogdatasetminmarginbottomright}

\func{void}{SetMinMarginBottomRight}{\param{const wxPoint\& }{pt}}

Sets the right (x) and bottom (y) minimum margins the user can enter (Windows only). Units are
in millimetres.

\membersection{wxPageSetupDialogData::SetPaperId}\label{wxpagesetupdialogdatasetpaperid}

\func{void}{SetPaperId}{\param{wxPaperSize\& }{id}}

Sets the paper size id. For further information, see \helpref{wxPrintData::SetPaperId}{wxprintdatasetpaperid}.

Calling this function overrides the explicit paper dimensions passed in \helpref{wxPageSetupDialogData::SetPaperSize}{wxpagesetupdialogdatasetpapersize}.

\membersection{wxPageSetupDialogData::SetPaperSize}\label{wxpagesetupdialogdatasetpapersize}

\func{void}{SetPaperSize}{\param{const wxSize\& }{size}}

Sets the paper size in millimetres. If a corresponding paper id is found, it will be set in the
internal wxPrintData object, otherwise the paper size overrides the paper id.

\membersection{wxPageSetupDialogData::SetPrintData}\label{wxpagesetupdialogdatasetprintdata}

\func{void}{SetPrintData}{\param{const wxPrintData\&}{ printData}}

Sets the \helpref{print data}{wxprintdata} associated with this object.

\membersection{wxPageSetupDialogData::operator $=$}\label{wxpagesetupdialogdataassign}

\func{void}{operator $=$}{\param{const wxPrintData\&}{ data}}

Assigns print data to this object.

\func{void}{operator $=$}{\param{const wxPageSetupDialogData\&}{ data}}

Assigns page setup data to this object.

