# Gtk::Printer Class Reference
[Printing]

A Printer object represents a printer. More...

Inherits Glib::Object.

Collaboration diagram for Gtk::Printer:
[legend]

List of all members.

## Public Member Functions

virtual | ~Printer ()
GtkPrinter* | gobj ()
| Provides access to the underlying C GObject.
const GtkPrinter* | gobj () const
| Provides access to the underlying C GObject.
GtkPrinter* | gobj_copy ()
| Provides access to the underlying C instance. The caller is responsible for unrefing it. Use when directly setting fields in structs.
bool | equal (const Glib::RefPtr< Printer >& other) const
Glib::ustring | get_name () const
| Returns the name of the printer.
Glib::ustring | get_state_message () const
| Returns the state message describing the current state of the printer.
Glib::ustring | get_description () const
| Gets the description of the printer.
Glib::ustring | get_location () const
| Returns a description of the location of the printer.
Glib::ustring | get_icon_name () const
| Gets the name of the icon to use for the printer.
int | get_job_count () const
| Gets the number of jobs currently queued on the printer.
bool | is_active () const
| Returns whether the printer is currently active (i.e. accepts new jobs).
bool | is_paused () const
| Returns whether the printer is currently paused.
bool | is_accepting_jobs () const
| Returns whether the printer is accepting jobs.
bool | is_virtual () const
| Returns whether the printer is virtual (i.e. does not represent actual printer hardware, but something like a CUPS class).
bool | is_default () const
| Returns whether the printer is the default printer.
bool | accepts_pdf () const
| Returns whether the printer accepts input in PDF format.
bool | accepts_ps () const
| Returns whether the printer accepts input in PostScript format.
Glib::ListHandle< Glib::RefPtr < PageSetup > > | list_papers ()
| Lists all the paper sizes printer supports.
Glib::RefPtr< PageSetup > | get_default_page_size () const
| Returns default page size of printer.
Glib::ListHandle< Glib::RefPtr < const PageSetup > > | list_papers () const
| Lists all the paper sizes printer supports.
bool | has_details () const
| Returns whether the printer details are available.
void | request_details ()
| Requests the printer details.
PrintCapabilities | get_capabilities () const
| Returns the printer's capabilities.
bool | get_hard_margins (double& top, double& bottom, double& left, double& right) const
| Retrieve the hard margins of printer, i.e. the margins that define the area at the borders of the paper that the printer cannot print to.
Glib::SignalProxy1< void, bool > | signal_details_acquired ()
Glib::PropertyProxy_ReadOnly < Glib::ustring > | property_name () const
| Name of the printer.
Glib::PropertyProxy_ReadOnly < bool > | property_is_virtual () const
| FALSE if this represents a real hardware printer.
Glib::PropertyProxy_ReadOnly < Glib::ustring > | property_state_message () const
| String giving the current state of the printer.
Glib::PropertyProxy_ReadOnly < Glib::ustring > | property_location () const
| The location of the printer.
Glib::PropertyProxy_ReadOnly < Glib::ustring > | property_icon_name () const
| The icon name to use for the printer.
Glib::PropertyProxy_ReadOnly< int > | property_job_count () const
| Number of jobs queued in the printer.
Glib::PropertyProxy_ReadOnly < bool > | property_accepts_pdf () const
| TRUE if this printer can accept PDF.
Glib::PropertyProxy_ReadOnly < bool > | property_accepts_ps () const
| TRUE if this printer can accept PostScript.

## Protected Member Functions

virtual void | on_details_acquired (bool success)

## Related Functions

(Note that these are not member functions.)
typedef sigc::slot< bool, const Glib::RefPtr< Printer >& > | SlotPrinterEnumerator
| For example, bool on_enumerate_printers(const Glib::RefPtr<Printer>& printer);.
bool | operator== (const Glib::RefPtr< Printer >& lhs, const Glib::RefPtr< Printer >& rhs)
bool | operator!= (const Glib::RefPtr< Printer >& lhs, const Glib::RefPtr< Printer >& rhs)
void | enumerate_printers (const SlotPrinterEnumerator& slot, bool wait=true)
| Calls a function for all Printers.
Glib::RefPtr< Gtk::Printer > | wrap (GtkPrinter* object, bool take_copy=false)
| A Glib::wrap() method for this object.

## Detailed Description

A Printer object represents a printer.

You only need to deal directly with printers if you use the non-portable PrintUnixDialog API.

A Printer object allows to get status information about the printer, such as its description, its location, the number of queued jobs, etc. Most importantly, a Printer object can be used to create a PrintJob object, which lets you print to the printer.

Since gtkmm 2.10:

## Constructor & Destructor Documentation

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

## Member Function Documentation

bool Gtk::Printer::accepts_pdf | ( |  | ) | const

Returns whether the printer accepts input in PDF format.

Since gtkmm 2.10:

Returns:
  `true` if printer accepts PDF.

bool Gtk::Printer::accepts_ps | ( |  | ) | const

Returns whether the printer accepts input in PostScript format.

Since gtkmm 2.10:

Returns:
  `true` if printer accepts PostScript.

bool Gtk::Printer::equal | ( | const Glib::RefPtr< Printer >& | other | ) | const

PrintCapabilities Gtk::Printer::get_capabilities | ( |  | ) | const

Returns the printer's capabilities.

This is useful when you're using Gtk::PrintUnixDialog's manual-capabilities setting and need to know which settings the printer can handle and which you must handle yourself.

This will return 0 unless the printer's details are available, see has_details() and request_details().

Since gtkmm 2.12:

Returns:
  The printer's capabilities.

Glib::RefPtr<PageSetup> Gtk::Printer::get_default_page_size | ( |  | ) | const

Returns default page size of printer.

Since gtkmm 2.14:

Returns:
  A newly allocated Gtk::PageSetup with default page size of the printer.

Glib::ustring Gtk::Printer::get_description | ( |  | ) | const

Gets the description of the printer.

Since gtkmm 2.10:

Returns:
  The description of printer.

bool Gtk::Printer::get_hard_margins | ( | double & | top,
|  | double & | bottom,
|  | double & | left,
|  | double & | right |
| ) |  |  | const

Retrieve the hard margins of printer, i.e. the margins that define the area at the borders of the paper that the printer cannot print to.

Note:
  This will not succeed unless the printer's details are available, see has_details() and request_details().

Since gtkmm 2.20:

Parameters:

  | top | A location to store the top margin in.
  | bottom | A location to store the bottom margin in.
  | left | A location to store the left margin in.
  | right | A location to store the right margin in.

Returns:
  `true` iff the hard margins were retrieved.

Glib::ustring Gtk::Printer::get_icon_name | ( |  | ) | const

Gets the name of the icon to use for the printer.

Since gtkmm 2.10:

Returns:
  The icon name for printer.

int Gtk::Printer::get_job_count | ( |  | ) | const

Gets the number of jobs currently queued on the printer.

Since gtkmm 2.10:

Returns:
  The number of jobs on printer.

Glib::ustring Gtk::Printer::get_location | ( |  | ) | const

Returns a description of the location of the printer.

Since gtkmm 2.10:

Returns:
  The location of printer.

Glib::ustring Gtk::Printer::get_name | ( |  | ) | const

Returns the name of the printer.

Since gtkmm 2.10:

Returns:
  The name of printer.

Glib::ustring Gtk::Printer::get_state_message | ( |  | ) | const

Returns the state message describing the current state of the printer.

Since gtkmm 2.10:

Returns:
  The state message of printer.

const GtkPrinter* Gtk::Printer::gobj | ( |  | ) | const`[inline]`

Provides access to the underlying C GObject.

Reimplemented from Glib::ObjectBase.

GtkPrinter* Gtk::Printer::gobj | ( |  | ) | `[inline]`

Provides access to the underlying C GObject.

Reimplemented from Glib::ObjectBase.

GtkPrinter* Gtk::Printer::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::Printer::has_details | ( |  | ) | const

Returns whether the printer details are available.

Since gtkmm 2.12:

Returns:
  `true` if printer details are available.

bool Gtk::Printer::is_accepting_jobs | ( |  | ) | const

Returns whether the printer is accepting jobs.

Since gtkmm 2.14:

Returns:
  `true` if printer is accepting jobs.

bool Gtk::Printer::is_active | ( |  | ) | const

Returns whether the printer is currently active (i.e. accepts new jobs).

Since gtkmm 2.10:

Returns:
  `true` if printer is active.

bool Gtk::Printer::is_default | ( |  | ) | const

Returns whether the printer is the default printer.

Since gtkmm 2.10:

Returns:
  `true` if printer is the default.

bool Gtk::Printer::is_paused | ( |  | ) | const

Returns whether the printer is currently paused.

A paused printer still accepts jobs, but it is not printing them.

Since gtkmm 2.14:

Returns:
  `true` if printer is paused.

bool Gtk::Printer::is_virtual | ( |  | ) | const

Returns whether the printer is virtual (i.e. does not represent actual printer hardware, but something like a CUPS class).

Since gtkmm 2.10:

Returns:
  `true` if printer is virtual.

Glib::ListHandle< Glib::RefPtr<const PageSetup> > Gtk::Printer::list_papers | ( |  | ) | const

Lists all the paper sizes printer supports.

This will return and empty list unless the printer's details are available, see has_details() and request_details().

Since gtkmm 2.12:

Returns:
  A newly allocated list of newly allocated Gtk::PageSetup s.

Glib::ListHandle< Glib::RefPtr<PageSetup> > Gtk::Printer::list_papers | ( |  | ) |

Lists all the paper sizes printer supports.

This will return and empty list unless the printer's details are available, see has_details() and request_details().

Since gtkmm 2.12:

Returns:
  A newly allocated list of newly allocated Gtk::PageSetup s.

virtual void Gtk::Printer::on_details_acquired | ( | bool | success | ) | `[protected, virtual]`

Glib::PropertyProxy_ReadOnly<bool> Gtk::Printer::property_accepts_pdf | ( |  | ) | const

TRUE if this printer can accept PDF.

You rarely need to use properties because there are get_ and set_ methods for almost all of them.

Returns:
  A PropertyProxy that allows you to get or set the property of the value, or receive notification when the value of the property changes.

Glib::PropertyProxy_ReadOnly<bool> Gtk::Printer::property_accepts_ps | ( |  | ) | const

TRUE if this printer can accept PostScript.

You rarely need to use properties because there are get_ and set_ methods for almost all of them.

Returns:
  A PropertyProxy that allows you to get or set the property of the value, or receive notification when the value of the property changes.

Glib::PropertyProxy_ReadOnly<Glib::ustring> Gtk::Printer::property_icon_name | ( |  | ) | const

The icon name to use for the printer.

You rarely need to use properties because there are get_ and set_ methods for almost all of them.

Returns:
  A PropertyProxy that allows you to get or set the property of the value, or receive notification when the value of the property changes.

Glib::PropertyProxy_ReadOnly<bool> Gtk::Printer::property_is_virtual | ( |  | ) | const

FALSE if this represents a real hardware printer.

You rarely need to use properties because there are get_ and set_ methods for almost all of them.

Returns:
  A PropertyProxy that allows you to get or set the property of the value, or receive notification when the value of the property changes.

Glib::PropertyProxy_ReadOnly<int> Gtk::Printer::property_job_count | ( |  | ) | const

Number of jobs queued in the printer.

You rarely need to use properties because there are get_ and set_ methods for almost all of them.

Returns:
  A PropertyProxy that allows you to get or set the property of the value, or receive notification when the value of the property changes.

Glib::PropertyProxy_ReadOnly<Glib::ustring> Gtk::Printer::property_location | ( |  | ) | const

The location of the printer.

You rarely need to use properties because there are get_ and set_ methods for almost all of them.

Returns:
  A PropertyProxy that allows you to get or set the property of the value, or receive notification when the value of the property changes.

Glib::PropertyProxy_ReadOnly<Glib::ustring> Gtk::Printer::property_name | ( |  | ) | const

Name of the printer.

You rarely need to use properties because there are get_ and set_ methods for almost all of them.

Returns:
  A PropertyProxy that allows you to get or set the property of the value, or receive notification when the value of the property changes.

Glib::PropertyProxy_ReadOnly<Glib::ustring> Gtk::Printer::property_state_message | ( |  | ) | const

String giving the current state of the printer.

You rarely need to use properties because there are get_ and set_ methods for almost all of them.

Returns:
  A PropertyProxy that allows you to get or set the property of the value, or receive notification when the value of the property changes.

void Gtk::Printer::request_details | ( |  | ) |

Requests the printer details.

When the details are available, the details_acquired signal will be emitted.

Since gtkmm 2.12:

Glib::SignalProxy1< void,bool > Gtk::Printer::signal_details_acquired | ( |  | ) |

Prototype:
  `void on_my_details_acquired(bool success)`

## Friends And Related Function Documentation

void enumerate_printers | ( | const SlotPrinterEnumerator & | slot,
|  | bool | wait = `true` |
| ) |  |  | `[related]`

Calls a function for all Printers.

If the callback returns true, the enumeration is stopped. A function to call for each printer wait If true, wait in a recursive mainloop until all printers are enumerated; otherwise return early.

bool operator!= | ( | const Glib::RefPtr< Printer >& | lhs,
|  | const Glib::RefPtr< Printer >& | rhs |
| ) |  |  | `[related]`

bool operator== | ( | const Glib::RefPtr< Printer >& | lhs,
|  | const Glib::RefPtr< Printer >& | rhs |
| ) |  |  | `[related]`

typedef sigc::slot< bool, const Glib::RefPtr<Printer>& > SlotPrinterEnumerator `[related]`

For example, bool on_enumerate_printers(const Glib::RefPtr<Printer>& printer);.

Parameters:

  | printer | A printer.
  | result | true to stop the enumeration, false to continue.

Glib::RefPtr< Gtk::Printer > wrap | ( | GtkPrinter * | 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/printer.h