# Gtk::PageSetup Class Reference
[Printing]

A PageSetup object stores the page size, orientation and margins. More...

Inherits Glib::Object.

Collaboration diagram for Gtk::PageSetup:
[legend]

List of all members.

## Public Member Functions

virtual | ~PageSetup ()
GtkPageSetup* | gobj ()
| Provides access to the underlying C GObject.
const GtkPageSetup* | gobj () const
| Provides access to the underlying C GObject.
GtkPageSetup* | gobj_copy ()
| Provides access to the underlying C instance. The caller is responsible for unrefing it. Use when directly setting fields in structs.
Glib::RefPtr< PageSetup > | copy () const
| Copies a Gtk::PageSetup.
bool | load_from_file (const std::string& file_name)
| Reads the page setup from the file file_name.
bool | load_from_key_file (const Glib::KeyFile& key_file, const Glib::ustring& group_name)
| Reads the page setup from the group group_name in the key file key_file.
bool | load_from_key_file (const Glib::KeyFile& key_file)
| Reads the page setup from the "Page Setup" group in the key file key_file.
PageOrientation | get_orientation () const
| Gets the page orientation of the Gtk::PageSetup.
void | set_orientation (PageOrientation orientation)
| Sets the page orientation of the Gtk::PageSetup.
PaperSize | get_paper_size ()
| Gets the paper size of the Gtk::PageSetup.
const PaperSize | get_paper_size () const
| Gets the paper size of the Gtk::PageSetup.
void | set_paper_size (const PaperSize& paper_size)
| Sets the paper size of the Gtk::PageSetup without changing the margins.
double | get_top_margin (Unit unit) const
| Gets the top margin in units of unit.
void | set_top_margin (double margin, Unit unit)
| Sets the top margin of the Gtk::PageSetup.
double | get_bottom_margin (Unit unit) const
| Gets the bottom margin in units of unit.
void | set_bottom_margin (double margin, Unit unit)
| Sets the bottom margin of the Gtk::PageSetup.
double | get_left_margin (Unit unit) const
| Gets the left margin in units of unit.
void | set_left_margin (double margin, Unit unit)
| Sets the left margin of the Gtk::PageSetup.
double | get_right_margin (Unit unit) const
| Gets the right margin in units of unit.
void | set_right_margin (double margin, Unit unit)
| Sets the right margin of the Gtk::PageSetup.
void | set_paper_size_and_default_margins (const PaperSize& paper_size)
| Sets the paper size of the Gtk::PageSetup and modifies the margins according to the new paper size.
double | get_paper_width (Unit unit) const
| Returns the paper width in units of unit.
double | get_paper_height (Unit unit) const
| Returns the paper height in units of unit.
double | get_page_width (Unit unit) const
| Returns the page width in units of unit.
double | get_page_height (Unit unit) const
| Returns the page height in units of unit.
bool | save_to_file (const std::string& file_name) const
| This function saves the information from setup to file_name.
void | save_to_key_file (Glib::KeyFile& key_file, const Glib::ustring& group_name) const
| This function adds the page setup from setup to key_file.
void | save_to_key_file (Glib::KeyFile& key_file) const
| This function adds the page setup from setup to key_file, in the group "Page Setup".

## Static Public Member Functions

static Glib::RefPtr< PageSetup > | create ()
static Glib::RefPtr< PageSetup > | create_from_key_file (const Glib::KeyFile& key_file)
| Reads the page setup from the "Page Setup" group in the key file key_file.
static Glib::RefPtr< PageSetup > | create_from_key_file (const Glib::KeyFile& key_file, const Glib::ustring& group_name)
| Reads the page setup from the group group_name in the key file key_file.
static Glib::RefPtr< PageSetup > | create_from_file (const std::string& file_name)
| Reads the page setup from the file .

## Protected Member Functions

| PageSetup ()

## Related Functions

(Note that these are not member functions.)
Glib::RefPtr< Gtk::PageSetup > | wrap (GtkPageSetup* object, bool take_copy=false)
| A Glib::wrap() method for this object.

## Detailed Description

A PageSetup object stores the page size, orientation and margins.

You can get one of these from the page setup dialog and then pass it to the PrintOperation when printing. The benefit of splitting this out of the PrintSettings is that these affect the actual layout of the page, and thus need to be set long before the user prints.

The margins specified in this object are the "print margins", i.e. the parts of the page that the printer cannot print on. These are different from the layout margins that a word processor uses; they are typically used to determine the minimal size for the layout margins.

To obtain a PageSetup use PageSetup::create() to get the defaults, or use run_page_setup_dialog() to show the page setup dialog and receive the resulting page setup.

Since gtkmm 2.10:

## Constructor & Destructor Documentation

virtual Gtk::PageSetup::~PageSetup | ( |  | ) | `[virtual]`

Gtk::PageSetup::PageSetup | ( |  | ) | `[protected]`

## Member Function Documentation

Glib::RefPtr<PageSetup> Gtk::PageSetup::copy | ( |  | ) | const

Copies a Gtk::PageSetup.

Since gtkmm 2.10:

Returns:
  A copy of other.

static Glib::RefPtr<PageSetup> Gtk::PageSetup::create | ( |  | ) | `[static]`

static Glib::RefPtr<PageSetup> Gtk::PageSetup::create_from_file | ( | const std::string & | file_name | ) | `[static]`

Reads the page setup from the file .

Returns a new PageSetup object with the restored page setup, or an empty RefPtr if an error occurred. See save_to_file().

Parameters:

  | file_name | The filename to read the page setup from.

Returns:
  The restored PageSetup

Since gtkmm 2.14:

static Glib::RefPtr<PageSetup> Gtk::PageSetup::create_from_key_file | ( | const Glib::KeyFile & | key_file | ) | `[static]`

Reads the page setup from the "Page Setup" group in the key file key_file.

Returns a new PageSetup object with the restored page setup, or an empty RefPtr if an error occurred.

Parameters:

  | key_file | The KeyFile to retrieve the page setup from.

Returns:
  The restored PageSetup

Exceptions:

  | KeyFileError |

Since gtkmm 2.14:

static Glib::RefPtr<PageSetup> Gtk::PageSetup::create_from_key_file | ( | const Glib::KeyFile & | key_file,
|  | const Glib::ustring & | group_name |
| ) |  |  | `[static]`

Reads the page setup from the group group_name in the key file key_file.

Returns a new PageSetup object with the restored page setup, or an empty RefPtr if an error occurred.

Parameters:

  | key_file | The KeyFile to retrieve the page setup from.
  | group_name | The name of the group in the key_file to read.

Returns:
  The restored PageSetup

Exceptions:

  | KeyFileError |

Since gtkmm 2.14:

double Gtk::PageSetup::get_bottom_margin | ( | Unit | unit | ) | const

Gets the bottom margin in units of unit.

Since gtkmm 2.10:

Parameters:

  | unit | The unit for the return value.

Returns:
  The bottom margin.

double Gtk::PageSetup::get_left_margin | ( | Unit | unit | ) | const

Gets the left margin in units of unit.

Since gtkmm 2.10:

Parameters:

  | unit | The unit for the return value.

Returns:
  The left margin.

PageOrientation Gtk::PageSetup::get_orientation | ( |  | ) | const

Gets the page orientation of the Gtk::PageSetup.

Since gtkmm 2.10:

Returns:
  The page orientation.

double Gtk::PageSetup::get_page_height | ( | Unit | unit | ) | const

Returns the page height in units of unit.

Note that this function takes orientation and margins into consideration. See get_paper_height().

Since gtkmm 2.10:

Parameters:

  | unit | The unit for the return value.

Returns:
  The page height.

double Gtk::PageSetup::get_page_width | ( | Unit | unit | ) | const

Returns the page width in units of unit.

Note that this function takes orientation and margins into consideration. See get_paper_width().

Since gtkmm 2.10:

Parameters:

  | unit | The unit for the return value.

Returns:
  The page width.

double Gtk::PageSetup::get_paper_height | ( | Unit | unit | ) | const

Returns the paper height in units of unit.

Note that this function takes orientation, but not margins into consideration. See get_page_height().

Since gtkmm 2.10:

Parameters:

  | unit | The unit for the return value.

Returns:
  The paper height.

PaperSize Gtk::PageSetup::get_paper_size | ( |  | ) |

Gets the paper size of the Gtk::PageSetup.

Since gtkmm 2.10:

Returns:
  The paper size.

const PaperSize Gtk::PageSetup::get_paper_size | ( |  | ) | const

Gets the paper size of the Gtk::PageSetup.

Since gtkmm 2.10:

Returns:
  The paper size.

double Gtk::PageSetup::get_paper_width | ( | Unit | unit | ) | const

Returns the paper width in units of unit.

Note that this function takes orientation, but not margins into consideration. See get_page_width().

Since gtkmm 2.10:

Parameters:

  | unit | The unit for the return value.

Returns:
  The paper width.

double Gtk::PageSetup::get_right_margin | ( | Unit | unit | ) | const

Gets the right margin in units of unit.

Since gtkmm 2.10:

Parameters:

  | unit | The unit for the return value.

Returns:
  The right margin.

double Gtk::PageSetup::get_top_margin | ( | Unit | unit | ) | const

Gets the top margin in units of unit.

Since gtkmm 2.10:

Parameters:

  | unit | The unit for the return value.

Returns:
  The top margin.

const GtkPageSetup* Gtk::PageSetup::gobj | ( |  | ) | const`[inline]`

Provides access to the underlying C GObject.

Reimplemented from Glib::ObjectBase.

GtkPageSetup* Gtk::PageSetup::gobj | ( |  | ) | `[inline]`

Provides access to the underlying C GObject.

Reimplemented from Glib::ObjectBase.

GtkPageSetup* Gtk::PageSetup::gobj_copy | ( |  | ) |

Provides access to the underlying C instance. The caller is responsible for unrefing it. Use when directly setting fields in structs.

bool Gtk::PageSetup::load_from_file | ( | const std::string & | file_name | ) |

Reads the page setup from the file file_name.

See to_file().

Since gtkmm 2.14:

Parameters:

  | file_name | The filename to read the page setup from.

Returns:
  `true` on success.

bool Gtk::PageSetup::load_from_key_file | ( | const Glib::KeyFile & | key_file,
|  | const Glib::ustring & | group_name |
| ) |  |  |

Reads the page setup from the group group_name in the key file key_file.

Since gtkmm 2.14:

Parameters:

  | key_file | The KeyFile to retrieve the page_setup from.
  | group_name | The name of the group in the key_file to read, or `0` to use the default name "Page Setup".

Returns:
  `true` on success.

bool Gtk::PageSetup::load_from_key_file | ( | const Glib::KeyFile & | key_file | ) |

Reads the page setup from the "Page Setup" group in the key file key_file.

Parameters:

  | key_file | The KeyFile to retrieve the page setup from.

Returns:
  true on success

Exceptions:

  | KeyFileError |

Since gtkmm 2.14:

bool Gtk::PageSetup::save_to_file | ( | const std::string & | file_name | ) | const

This function saves the information from setup to file_name.

Exceptions:

  | Glib::FileError |

Parameters:

  | file_name | The file to save to.

Returns:
  `true` on success

Since gtkmm 2.12:

void Gtk::PageSetup::save_to_key_file | ( | Glib::KeyFile & | key_file | ) | const

This function adds the page setup from setup to key_file, in the group "Page Setup".

Since gtkmm 2.12:

Parameters:

  | key_file | The G::KeyFile to save the page setup to.

void Gtk::PageSetup::save_to_key_file | ( | Glib::KeyFile & | key_file,
|  | const Glib::ustring & | group_name |
| ) |  |  | const

This function adds the page setup from setup to key_file.

Since gtkmm 2.12:

Parameters:

  | key_file | The Glib::KeyFile to save the page setup to.
  | group_name | The group to add the settings to in key_file.

void Gtk::PageSetup::set_bottom_margin | ( | double | margin,
|  | Unit | unit |
| ) |  |  |

Sets the bottom margin of the Gtk::PageSetup.

Since gtkmm 2.10:

Parameters:

  | margin | The new bottom margin in units of unit.
  | unit | The units for margin.

void Gtk::PageSetup::set_left_margin | ( | double | margin,
|  | Unit | unit |
| ) |  |  |

Sets the left margin of the Gtk::PageSetup.

Since gtkmm 2.10:

Parameters:

  | margin | The new left margin in units of unit.
  | unit | The units for margin.

void Gtk::PageSetup::set_orientation | ( | PageOrientation | orientation | ) |

Sets the page orientation of the Gtk::PageSetup.

Since gtkmm 2.10:

Parameters:

  | orientation | A Gtk::PageOrientation value.

void Gtk::PageSetup::set_paper_size | ( | const PaperSize& | paper_size | ) |

Sets the paper size of the Gtk::PageSetup without changing the margins.

See set_paper_size_and_default_margins().

Since gtkmm 2.10:

Parameters:

  | size | A Gtk::PaperSize.

void Gtk::PageSetup::set_paper_size_and_default_margins | ( | const PaperSize& | paper_size | ) |

Sets the paper size of the Gtk::PageSetup and modifies the margins according to the new paper size.

Since gtkmm 2.10:

Parameters:

  | size | A Gtk::PaperSize.

void Gtk::PageSetup::set_right_margin | ( | double | margin,
|  | Unit | unit |
| ) |  |  |

Sets the right margin of the Gtk::PageSetup.

Since gtkmm 2.10:

Parameters:

  | margin | The new right margin in units of unit.
  | unit | The units for margin.

void Gtk::PageSetup::set_top_margin | ( | double | margin,
|  | Unit | unit |
| ) |  |  |

Sets the top margin of the Gtk::PageSetup.

Since gtkmm 2.10:

Parameters:

  | margin | The new top margin in units of unit.
  | unit | The units for margin.

## Friends And Related Function Documentation

Glib::RefPtr< Gtk::PageSetup > wrap | ( | GtkPageSetup * | object,
|  | bool | take_copy = `false` |
| ) |  |  | `[related]`

A Glib::wrap() method for this object.

Parameters:

  | object | The C instance.
  | take_copy | False if the result should take ownership of the C instance. True if it should take a new copy or ref.

Returns:
  A C++ instance that wraps this C instance.

The documentation for this class was generated from the following file:

- gtkmm/pagesetup.h