Top |
A GtkPrintSettings object represents the settings of a print dialog in a system-independent way. The main use for this object is that once you've printed you can get a settings object that represents the settings the user chose, and the next time you print you can pass that object in so that the user doesn't have to re-set all his settings.
Its also possible to enumerate the settings so that you can easily save the settings for the next time your app runs, or even store them in a document. The predefined keys try to use shared values as much as possible so that moving such a document between systems still works.
Printing support was added in GTK+ 2.10.
void (*GtkPrintSettingsFunc) (const gchar *key
,const gchar *value
,gpointer user_data
);
GtkPrintSettings *
gtk_print_settings_new (void
);
Creates a new GtkPrintSettings object.
Since 2.10
GtkPrintSettings *
gtk_print_settings_copy (GtkPrintSettings *other
);
Copies a GtkPrintSettings object.
Since 2.10
gboolean gtk_print_settings_has_key (GtkPrintSettings *settings
,const gchar *key
);
Returns TRUE
, if a value is associated with key
.
Since 2.10
const gchar * gtk_print_settings_get (GtkPrintSettings *settings
,const gchar *key
);
Looks up the string value associated with key
.
Since 2.10
void gtk_print_settings_set (GtkPrintSettings *settings
,const gchar *key
,const gchar *value
);
Associates value
with key
.
Since 2.10
void gtk_print_settings_unset (GtkPrintSettings *settings
,const gchar *key
);
Removes any value associated with key
.
This has the same effect as setting the value to NULL
.
Since 2.10
void gtk_print_settings_foreach (GtkPrintSettings *settings
,GtkPrintSettingsFunc func
,gpointer user_data
);
Calls func
for each key-value pair of settings
.
Since 2.10
gboolean gtk_print_settings_get_bool (GtkPrintSettings *settings
,const gchar *key
);
Returns the boolean represented by the value
that is associated with key
.
The string "true" represents TRUE
, any other
string FALSE
.
Since 2.10
void gtk_print_settings_set_bool (GtkPrintSettings *settings
,const gchar *key
,gboolean value
);
Sets key
to a boolean value.
Since 2.10
gdouble gtk_print_settings_get_double (GtkPrintSettings *settings
,const gchar *key
);
Returns the double value associated with key
, or 0.
Since 2.10
gdouble gtk_print_settings_get_double_with_default (GtkPrintSettings *settings
,const gchar *key
,gdouble def
);
Returns the floating point number represented by
the value that is associated with key
, or default_val
if the value does not represent a floating point number.
Floating point numbers are parsed with g_ascii_strtod()
.
Since 2.10
void gtk_print_settings_set_double (GtkPrintSettings *settings
,const gchar *key
,gdouble value
);
Sets key
to a double value.
Since 2.10
gdouble gtk_print_settings_get_length (GtkPrintSettings *settings
,const gchar *key
,GtkUnit unit
);
Returns the value associated with key
, interpreted
as a length. The returned value is converted to units
.
Since 2.10
void gtk_print_settings_set_length (GtkPrintSettings *settings
,const gchar *key
,gdouble value
,GtkUnit unit
);
Associates a length in units of unit
with key
.
Since 2.10
gint gtk_print_settings_get_int (GtkPrintSettings *settings
,const gchar *key
);
Returns the integer value of key
, or 0.
Since 2.10
gint gtk_print_settings_get_int_with_default (GtkPrintSettings *settings
,const gchar *key
,gint def
);
Returns the value of key
, interpreted as
an integer, or the default value.
Since 2.10
void gtk_print_settings_set_int (GtkPrintSettings *settings
,const gchar *key
,gint value
);
Sets key
to an integer value.
Since 2.10
const gchar *
gtk_print_settings_get_printer (GtkPrintSettings *settings
);
Convenience function to obtain the value of
GTK_PRINT_SETTINGS_PRINTER
.
Since 2.10
void gtk_print_settings_set_printer (GtkPrintSettings *settings
,const gchar *printer
);
Convenience function to set GTK_PRINT_SETTINGS_PRINTER
to printer
.
Since 2.10
GtkPageOrientation
gtk_print_settings_get_orientation (GtkPrintSettings *settings
);
Get the value of GTK_PRINT_SETTINGS_ORIENTATION
,
converted to a GtkPageOrientation.
Since 2.10
void gtk_print_settings_set_orientation (GtkPrintSettings *settings
,GtkPageOrientation orientation
);
Sets the value of GTK_PRINT_SETTINGS_ORIENTATION
.
Since 2.10
GtkPaperSize *
gtk_print_settings_get_paper_size (GtkPrintSettings *settings
);
Gets the value of GTK_PRINT_SETTINGS_PAPER_FORMAT
,
converted to a GtkPaperSize.
Since 2.10
void gtk_print_settings_set_paper_size (GtkPrintSettings *settings
,GtkPaperSize *paper_size
);
Sets the value of GTK_PRINT_SETTINGS_PAPER_FORMAT
,
GTK_PRINT_SETTINGS_PAPER_WIDTH
and
GTK_PRINT_SETTINGS_PAPER_HEIGHT
.
Since 2.10
gdouble gtk_print_settings_get_paper_width (GtkPrintSettings *settings
,GtkUnit unit
);
Gets the value of GTK_PRINT_SETTINGS_PAPER_WIDTH
,
converted to unit
.
Since 2.10
void gtk_print_settings_set_paper_width (GtkPrintSettings *settings
,gdouble width
,GtkUnit unit
);
Sets the value of GTK_PRINT_SETTINGS_PAPER_WIDTH
.
Since 2.10
gdouble gtk_print_settings_get_paper_height (GtkPrintSettings *settings
,GtkUnit unit
);
Gets the value of GTK_PRINT_SETTINGS_PAPER_HEIGHT
,
converted to unit
.
Since 2.10
void gtk_print_settings_set_paper_height (GtkPrintSettings *settings
,gdouble height
,GtkUnit unit
);
Sets the value of GTK_PRINT_SETTINGS_PAPER_HEIGHT
.
Since 2.10
gboolean
gtk_print_settings_get_use_color (GtkPrintSettings *settings
);
Gets the value of GTK_PRINT_SETTINGS_USE_COLOR
.
Since 2.10
void gtk_print_settings_set_use_color (GtkPrintSettings *settings
,gboolean use_color
);
Sets the value of GTK_PRINT_SETTINGS_USE_COLOR
.
Since 2.10
gboolean
gtk_print_settings_get_collate (GtkPrintSettings *settings
);
Gets the value of GTK_PRINT_SETTINGS_COLLATE
.
Since 2.10
void gtk_print_settings_set_collate (GtkPrintSettings *settings
,gboolean collate
);
Sets the value of GTK_PRINT_SETTINGS_COLLATE
.
Since 2.10
gboolean
gtk_print_settings_get_reverse (GtkPrintSettings *settings
);
Gets the value of GTK_PRINT_SETTINGS_REVERSE
.
Since 2.10
void gtk_print_settings_set_reverse (GtkPrintSettings *settings
,gboolean reverse
);
Sets the value of GTK_PRINT_SETTINGS_REVERSE
.
Since 2.10
GtkPrintDuplex
gtk_print_settings_get_duplex (GtkPrintSettings *settings
);
Gets the value of GTK_PRINT_SETTINGS_DUPLEX
.
Since 2.10
void gtk_print_settings_set_duplex (GtkPrintSettings *settings
,GtkPrintDuplex duplex
);
Sets the value of GTK_PRINT_SETTINGS_DUPLEX
.
Since 2.10
GtkPrintQuality
gtk_print_settings_get_quality (GtkPrintSettings *settings
);
Gets the value of GTK_PRINT_SETTINGS_QUALITY
.
Since 2.10
void gtk_print_settings_set_quality (GtkPrintSettings *settings
,GtkPrintQuality quality
);
Sets the value of GTK_PRINT_SETTINGS_QUALITY
.
Since 2.10
gint
gtk_print_settings_get_n_copies (GtkPrintSettings *settings
);
Gets the value of GTK_PRINT_SETTINGS_N_COPIES
.
Since 2.10
void gtk_print_settings_set_n_copies (GtkPrintSettings *settings
,gint num_copies
);
Sets the value of GTK_PRINT_SETTINGS_N_COPIES
.
Since 2.10
gint
gtk_print_settings_get_number_up (GtkPrintSettings *settings
);
Gets the value of GTK_PRINT_SETTINGS_NUMBER_UP
.
Since 2.10
void gtk_print_settings_set_number_up (GtkPrintSettings *settings
,gint number_up
);
Sets the value of GTK_PRINT_SETTINGS_NUMBER_UP
.
Since 2.10
GtkNumberUpLayout
gtk_print_settings_get_number_up_layout
(GtkPrintSettings *settings
);
Gets the value of GTK_PRINT_SETTINGS_NUMBER_UP_LAYOUT
.
Since 2.14
void gtk_print_settings_set_number_up_layout (GtkPrintSettings *settings
,GtkNumberUpLayout number_up_layout
);
Sets the value of GTK_PRINT_SETTINGS_NUMBER_UP_LAYOUT
.
Since 2.14
gint
gtk_print_settings_get_resolution (GtkPrintSettings *settings
);
Gets the value of GTK_PRINT_SETTINGS_RESOLUTION
.
Since 2.10
void gtk_print_settings_set_resolution (GtkPrintSettings *settings
,gint resolution
);
Sets the values of GTK_PRINT_SETTINGS_RESOLUTION
,
GTK_PRINT_SETTINGS_RESOLUTION_X
and
GTK_PRINT_SETTINGS_RESOLUTION_Y
.
Since 2.10
void gtk_print_settings_set_resolution_xy (GtkPrintSettings *settings
,gint resolution_x
,gint resolution_y
);
Sets the values of GTK_PRINT_SETTINGS_RESOLUTION
,
GTK_PRINT_SETTINGS_RESOLUTION_X
and
GTK_PRINT_SETTINGS_RESOLUTION_Y
.
settings |
||
resolution_x |
the horizontal resolution in dpi |
|
resolution_y |
the vertical resolution in dpi |
Since 2.16
gint
gtk_print_settings_get_resolution_x (GtkPrintSettings *settings
);
Gets the value of GTK_PRINT_SETTINGS_RESOLUTION_X
.
Since 2.16
gint
gtk_print_settings_get_resolution_y (GtkPrintSettings *settings
);
Gets the value of GTK_PRINT_SETTINGS_RESOLUTION_Y
.
Since 2.16
gdouble
gtk_print_settings_get_printer_lpi (GtkPrintSettings *settings
);
Gets the value of GTK_PRINT_SETTINGS_PRINTER_LPI
.
Since 2.16
void gtk_print_settings_set_printer_lpi (GtkPrintSettings *settings
,gdouble lpi
);
Sets the value of GTK_PRINT_SETTINGS_PRINTER_LPI
.
Since 2.16
gdouble
gtk_print_settings_get_scale (GtkPrintSettings *settings
);
Gets the value of GTK_PRINT_SETTINGS_SCALE
.
Since 2.10
void gtk_print_settings_set_scale (GtkPrintSettings *settings
,gdouble scale
);
Sets the value of GTK_PRINT_SETTINGS_SCALE
.
Since 2.10
GtkPrintPages
gtk_print_settings_get_print_pages (GtkPrintSettings *settings
);
Gets the value of GTK_PRINT_SETTINGS_PRINT_PAGES
.
Since 2.10
void gtk_print_settings_set_print_pages (GtkPrintSettings *settings
,GtkPrintPages pages
);
Sets the value of GTK_PRINT_SETTINGS_PRINT_PAGES
.
Since 2.10
GtkPageRange * gtk_print_settings_get_page_ranges (GtkPrintSettings *settings
,gint *num_ranges
);
Gets the value of GTK_PRINT_SETTINGS_PAGE_RANGES
.
an array
of GtkPageRanges. Use g_free()
to free the array when
it is no longer needed.
[array length=num_ranges][transfer full]
Since 2.10
void gtk_print_settings_set_page_ranges (GtkPrintSettings *settings
,GtkPageRange *page_ranges
,gint num_ranges
);
Sets the value of GTK_PRINT_SETTINGS_PAGE_RANGES
.
settings |
||
page_ranges |
an array of GtkPageRanges. |
[array length=num_ranges] |
num_ranges |
the length of |
Since 2.10
GtkPageSet
gtk_print_settings_get_page_set (GtkPrintSettings *settings
);
Gets the value of GTK_PRINT_SETTINGS_PAGE_SET
.
Since 2.10
void gtk_print_settings_set_page_set (GtkPrintSettings *settings
,GtkPageSet page_set
);
Sets the value of GTK_PRINT_SETTINGS_PAGE_SET
.
Since 2.10
const gchar *
gtk_print_settings_get_default_source (GtkPrintSettings *settings
);
Gets the value of GTK_PRINT_SETTINGS_DEFAULT_SOURCE
.
Since 2.10
void gtk_print_settings_set_default_source (GtkPrintSettings *settings
,const gchar *default_source
);
Sets the value of GTK_PRINT_SETTINGS_DEFAULT_SOURCE
.
Since 2.10
const gchar *
gtk_print_settings_get_media_type (GtkPrintSettings *settings
);
Gets the value of GTK_PRINT_SETTINGS_MEDIA_TYPE
.
The set of media types is defined in PWG 5101.1-2002 PWG.
Since 2.10
void gtk_print_settings_set_media_type (GtkPrintSettings *settings
,const gchar *media_type
);
Sets the value of GTK_PRINT_SETTINGS_MEDIA_TYPE
.
The set of media types is defined in PWG 5101.1-2002 PWG.
Since 2.10
const gchar *
gtk_print_settings_get_dither (GtkPrintSettings *settings
);
Gets the value of GTK_PRINT_SETTINGS_DITHER
.
Since 2.10
void gtk_print_settings_set_dither (GtkPrintSettings *settings
,const gchar *dither
);
Sets the value of GTK_PRINT_SETTINGS_DITHER
.
Since 2.10
const gchar *
gtk_print_settings_get_finishings (GtkPrintSettings *settings
);
Gets the value of GTK_PRINT_SETTINGS_FINISHINGS
.
Since 2.10
void gtk_print_settings_set_finishings (GtkPrintSettings *settings
,const gchar *finishings
);
Sets the value of GTK_PRINT_SETTINGS_FINISHINGS
.
Since 2.10
const gchar *
gtk_print_settings_get_output_bin (GtkPrintSettings *settings
);
Gets the value of GTK_PRINT_SETTINGS_OUTPUT_BIN
.
Since 2.10
void gtk_print_settings_set_output_bin (GtkPrintSettings *settings
,const gchar *output_bin
);
Sets the value of GTK_PRINT_SETTINGS_OUTPUT_BIN
.
Since 2.10
GtkPrintSettings * gtk_print_settings_new_from_file (const gchar *file_name
,GError **error
);
Reads the print settings from file_name
. Returns a new GtkPrintSettings
object with the restored settings, or NULL
if an error occurred. If the
file could not be loaded then error is set to either a GFileError or
GKeyFileError. See gtk_print_settings_to_file()
.
file_name |
the filename to read the settings from |
|
error |
return location for errors, or |
[allow-none] |
Since 2.12
GtkPrintSettings * gtk_print_settings_new_from_key_file (GKeyFile *key_file
,const gchar *group_name
,GError **error
);
Reads the print settings from the group group_name
in key_file
. Returns a
new GtkPrintSettings object with the restored settings, or NULL
if an
error occurred. If the file could not be loaded then error is set to either
a GFileError or GKeyFileError.
Since 2.12
gboolean gtk_print_settings_load_file (GtkPrintSettings *settings
,const gchar *file_name
,GError **error
);
Reads the print settings from file_name
. If the file could not be loaded
then error is set to either a GFileError or GKeyFileError.
See gtk_print_settings_to_file()
.
settings |
||
file_name |
the filename to read the settings from |
|
error |
return location for errors, or |
[allow-none] |
Since 2.14
gboolean gtk_print_settings_load_key_file (GtkPrintSettings *settings
,GKeyFile *key_file
,const gchar *group_name
,GError **error
);
Reads the print settings from the group group_name
in key_file
. If the
file could not be loaded then error is set to either a GFileError or
GKeyFileError.
Since 2.14
gboolean gtk_print_settings_to_file (GtkPrintSettings *settings
,const gchar *file_name
,GError **error
);
This function saves the print settings from settings
to file_name
. If the
file could not be loaded then error is set to either a GFileError or
GKeyFileError.
settings |
||
file_name |
the file to save to |
|
error |
return location for errors, or |
[allow-none] |
Since 2.12
void gtk_print_settings_to_key_file (GtkPrintSettings *settings
,GKeyFile *key_file
,const gchar *group_name
);
This function adds the print settings from settings
to key_file
.
Since 2.12
Used to determine the layout of pages on a sheet when printing multiple pages per sheet.
#define GTK_PRINT_SETTINGS_OUTPUT_FILE_FORMAT "output-file-format"
The key used by the "Print to file" printer to store the format of the output. The supported values are "PS" and "PDF".
#define GTK_PRINT_SETTINGS_OUTPUT_URI "output-uri"
The key used by the "Print to file" printer to store the URI to which the output should be written. GTK+ itself supports only "file://" URIs.
#define GTK_PRINT_SETTINGS_WIN32_DRIVER_EXTRA "win32-driver-extra"