GtkPageSetup

GtkPageSetup — Stores page setup information

Types and Values

Object Hierarchy

    GObject
    ╰── GtkPageSetup

Includes

#include <gtk/gtk.h>

Description

A GtkPageSetup object stores the page size, orientation and margins. The idea is that you can get one of these from the page setup dialog and then pass it to the GtkPrintOperation when printing. The benefit of splitting this out of the GtkPrintSettings is that these affect the actual layout of the page, and thus need to be set long before user prints.

Margins

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 GtkPageSetup use gtk_page_setup_new() to get the defaults, or use gtk_print_run_page_setup_dialog() to show the page setup dialog and receive the resulting page setup.

A page setup dialog

static GtkPrintSettings *settings = NULL;
static GtkPageSetup *page_setup = NULL;

static void
do_page_setup (void)
{
  GtkPageSetup *new_page_setup;

  if (settings == NULL)
    settings = gtk_print_settings_new ();

  new_page_setup = gtk_print_run_page_setup_dialog (GTK_WINDOW (main_window),
                                                    page_setup, settings);

  if (page_setup)
    g_object_unref (page_setup);

  page_setup = new_page_setup;
}

Printing support was added in GTK+ 2.10.

Functions

gtk_page_setup_new ()

GtkPageSetup *
gtk_page_setup_new (void);

Creates a new GtkPageSetup.

Returns

a new GtkPageSetup.

Since: 2.10

gtk_page_setup_copy ()

GtkPageSetup *
gtk_page_setup_copy (GtkPageSetup *other);

Copies a GtkPageSetup.

Parameters

other

the GtkPageSetup to copy

Returns

a copy of other .

[transfer full]

Since: 2.10

gtk_page_setup_get_orientation ()

GtkPageOrientation
gtk_page_setup_get_orientation (GtkPageSetup *setup);

Gets the page orientation of the GtkPageSetup.

Parameters

setup

a GtkPageSetup

Returns

the page orientation

Since: 2.10

gtk_page_setup_set_orientation ()

void
gtk_page_setup_set_orientation (GtkPageSetup *setup,
                                GtkPageOrientation orientation);

Sets the page orientation of the GtkPageSetup.

Parameters

setup

a GtkPageSetup

orientation

a GtkPageOrientation value

Since: 2.10

gtk_page_setup_get_paper_size ()

GtkPaperSize *
gtk_page_setup_get_paper_size (GtkPageSetup *setup);

Gets the paper size of the GtkPageSetup.

Parameters

setup

a GtkPageSetup

Returns

the paper size.

[transfer none]

Since: 2.10

gtk_page_setup_set_paper_size ()

void
gtk_page_setup_set_paper_size (GtkPageSetup *setup,
                               GtkPaperSize *size);

Sets the paper size of the GtkPageSetup without changing the margins. See gtk_page_setup_set_paper_size_and_default_margins().

Parameters

setup

a GtkPageSetup

size

a GtkPaperSize

Since: 2.10

gtk_page_setup_get_top_margin ()

gdouble
gtk_page_setup_get_top_margin (GtkPageSetup *setup,
                               GtkUnit unit);

Gets the top margin in units of unit .

Parameters

setup

a GtkPageSetup

unit

the unit for the return value

Returns

the top margin

Since: 2.10

gtk_page_setup_set_top_margin ()

void
gtk_page_setup_set_top_margin (GtkPageSetup *setup,
                               gdouble margin,
                               GtkUnit unit);

Sets the top margin of the GtkPageSetup.

Parameters

setup

a GtkPageSetup

margin

the new top margin in units of unit

unit

the units for margin

Since: 2.10

gtk_page_setup_get_bottom_margin ()

gdouble
gtk_page_setup_get_bottom_margin (GtkPageSetup *setup,
                                  GtkUnit unit);

Gets the bottom margin in units of unit .

Parameters

setup

a GtkPageSetup

unit

the unit for the return value

Returns

the bottom margin

Since: 2.10

gtk_page_setup_set_bottom_margin ()

void
gtk_page_setup_set_bottom_margin (GtkPageSetup *setup,
                                  gdouble margin,
                                  GtkUnit unit);

Sets the bottom margin of the GtkPageSetup.

Parameters

setup

a GtkPageSetup

margin

the new bottom margin in units of unit

unit

the units for margin

Since: 2.10

gtk_page_setup_get_left_margin ()

gdouble
gtk_page_setup_get_left_margin (GtkPageSetup *setup,
                                GtkUnit unit);

Gets the left margin in units of unit .

Parameters

setup

a GtkPageSetup

unit

the unit for the return value

Returns

the left margin

Since: 2.10

gtk_page_setup_set_left_margin ()

void
gtk_page_setup_set_left_margin (GtkPageSetup *setup,
                                gdouble margin,
                                GtkUnit unit);

Sets the left margin of the GtkPageSetup.

Parameters

setup

a GtkPageSetup

margin

the new left margin in units of unit

unit

the units for margin

Since: 2.10

gtk_page_setup_get_right_margin ()

gdouble
gtk_page_setup_get_right_margin (GtkPageSetup *setup,
                                 GtkUnit unit);

Gets the right margin in units of unit .

Parameters

setup

a GtkPageSetup

unit

the unit for the return value

Returns

the right margin

Since: 2.10

gtk_page_setup_set_right_margin ()

void
gtk_page_setup_set_right_margin (GtkPageSetup *setup,
                                 gdouble margin,
                                 GtkUnit unit);

Sets the right margin of the GtkPageSetup.

Parameters

setup

a GtkPageSetup

margin

the new right margin in units of unit

unit

the units for margin

Since: 2.10

gtk_page_setup_set_paper_size_and_default_margins ()

void
gtk_page_setup_set_paper_size_and_default_margins
                               (GtkPageSetup *setup,
                                GtkPaperSize *size);

Sets the paper size of the GtkPageSetup and modifies the margins according to the new paper size.

Parameters

setup

a GtkPageSetup

size

a GtkPaperSize

Since: 2.10

gtk_page_setup_get_paper_width ()

gdouble
gtk_page_setup_get_paper_width (GtkPageSetup *setup,
                                GtkUnit unit);

Returns the paper width in units of unit .

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

Parameters

setup

a GtkPageSetup

unit

the unit for the return value

Returns

the paper width.

Since: 2.10

gtk_page_setup_get_paper_height ()

gdouble
gtk_page_setup_get_paper_height (GtkPageSetup *setup,
                                 GtkUnit unit);

Returns the paper height in units of unit .

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

Parameters

setup

a GtkPageSetup

unit

the unit for the return value

Returns

the paper height.

Since: 2.10

gtk_page_setup_get_page_width ()

gdouble
gtk_page_setup_get_page_width (GtkPageSetup *setup,
                               GtkUnit unit);

Returns the page width in units of unit .

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

Parameters

setup

a GtkPageSetup

unit

the unit for the return value

Returns

the page width.

Since: 2.10

gtk_page_setup_get_page_height ()

gdouble
gtk_page_setup_get_page_height (GtkPageSetup *setup,
                                GtkUnit unit);

Returns the page height in units of unit .

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

Parameters

setup

a GtkPageSetup

unit

the unit for the return value

Returns

the page height.

Since: 2.10

gtk_page_setup_new_from_file ()

GtkPageSetup *
gtk_page_setup_new_from_file (const gchar *file_name,
                              GError **error);

Reads the page setup from the file file_name . Returns a new GtkPageSetup object with the restored page setup, or NULL if an error occurred. See gtk_page_setup_to_file().

Parameters

file_name

the filename to read the page setup from.

[type filename]

error

return location for an error, or NULL.

[allow-none]

Returns

the restored GtkPageSetup

Since: 2.12

gtk_page_setup_new_from_key_file ()

GtkPageSetup *
gtk_page_setup_new_from_key_file (GKeyFile *key_file,
                                  const gchar *group_name,
                                  GError **error);

Reads the page setup from the group group_name in the key file key_file . Returns a new GtkPageSetup object with the restored page setup, or NULL if an error occurred.

Parameters

key_file

the GKeyFile to retrieve the page_setup from

group_name

the name of the group in the key_file to read, or NULL to use the default name “Page Setup”.

[allow-none]

error

return location for an error, or NULL.

[allow-none]

Returns

the restored GtkPageSetup

Since: 2.12

gtk_page_setup_new_from_gvariant ()

GtkPageSetup *
gtk_page_setup_new_from_gvariant (GVariant *variant);

Desrialize a page setup from an a{sv} variant in the format produced by gtk_page_setup_to_gvariant().

Parameters

variant

an a{sv} GVariant

Returns

a new GtkPageSetup object.

[transfer full]

Since: 3.22

gtk_page_setup_load_file ()

gboolean
gtk_page_setup_load_file (GtkPageSetup *setup,
                          const char *file_name,
                          GError **error);

Reads the page setup from the file file_name . See gtk_page_setup_to_file().

Parameters

setup

a GtkPageSetup

file_name

the filename to read the page setup from.

[type filename]

error

return location for an error, or NULL.

[allow-none]

Returns

TRUE on success

Since: 2.14

gtk_page_setup_load_key_file ()

gboolean
gtk_page_setup_load_key_file (GtkPageSetup *setup,
                              GKeyFile *key_file,
                              const gchar *group_name,
                              GError **error);

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

Parameters

setup

a GtkPageSetup

key_file

the GKeyFile to retrieve the page_setup from

group_name

the name of the group in the key_file to read, or NULL to use the default name “Page Setup”.

[allow-none]

error

return location for an error, or NULL.

[allow-none]

Returns

TRUE on success

Since: 2.14

gtk_page_setup_to_file ()

gboolean
gtk_page_setup_to_file (GtkPageSetup *setup,
                        const char *file_name,
                        GError **error);

This function saves the information from setup to file_name .

Parameters

setup

a GtkPageSetup

file_name

the file to save to.

[type filename]

error

return location for errors, or NULL.

[allow-none]

Returns

TRUE on success

Since: 2.12

gtk_page_setup_to_key_file ()

void
gtk_page_setup_to_key_file (GtkPageSetup *setup,
                            GKeyFile *key_file,
                            const gchar *group_name);

This function adds the page setup from setup to key_file .

Parameters

setup

a GtkPageSetup

key_file

the GKeyFile to save the page setup to

group_name

the group to add the settings to in key_file , or NULL to use the default name “Page Setup”.

[nullable]

Since: 2.12

gtk_page_setup_to_gvariant ()

GVariant *
gtk_page_setup_to_gvariant (GtkPageSetup *setup);

Serialize page setup to an a{sv} variant.

Return: (transfer none): a new, floating, GVariant

Parameters

setup

a GtkPageSetup

Since: 3.22

Types and Values

GtkPageSetup

typedef struct _GtkPageSetup GtkPageSetup;

© 2005–2020 The GNOME Project
Licensed under the GNU Lesser General Public License version 2.1 or later.
https://developer.gnome.org/gtk3/3.24/GtkPageSetup.html