|
Packit Service |
fb6fa5 |
/* GTK - The GIMP Toolkit
|
|
Packit Service |
fb6fa5 |
* gtkpagesetup.c: Page Setup
|
|
Packit Service |
fb6fa5 |
* Copyright (C) 2006, Red Hat, Inc.
|
|
Packit Service |
fb6fa5 |
*
|
|
Packit Service |
fb6fa5 |
* This library is free software; you can redistribute it and/or
|
|
Packit Service |
fb6fa5 |
* modify it under the terms of the GNU Lesser General Public
|
|
Packit Service |
fb6fa5 |
* License as published by the Free Software Foundation; either
|
|
Packit Service |
fb6fa5 |
* version 2 of the License, or (at your option) any later version.
|
|
Packit Service |
fb6fa5 |
*
|
|
Packit Service |
fb6fa5 |
* This library is distributed in the hope that it will be useful,
|
|
Packit Service |
fb6fa5 |
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
Packit Service |
fb6fa5 |
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
Packit Service |
fb6fa5 |
* Lesser General Public License for more details.
|
|
Packit Service |
fb6fa5 |
*
|
|
Packit Service |
fb6fa5 |
* You should have received a copy of the GNU Lesser General Public
|
|
Packit Service |
fb6fa5 |
* License along with this library; if not, write to the
|
|
Packit Service |
fb6fa5 |
* Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
|
Packit Service |
fb6fa5 |
* Boston, MA 02111-1307, USA.
|
|
Packit Service |
fb6fa5 |
*/
|
|
Packit Service |
fb6fa5 |
|
|
Packit Service |
fb6fa5 |
#include "config.h"
|
|
Packit Service |
fb6fa5 |
|
|
Packit Service |
fb6fa5 |
#include "gtkpagesetup.h"
|
|
Packit Service |
fb6fa5 |
#include "gtkprintutils.h"
|
|
Packit Service |
fb6fa5 |
#include "gtkprintoperation.h" /* for GtkPrintError */
|
|
Packit Service |
fb6fa5 |
#include "gtkintl.h"
|
|
Packit Service |
fb6fa5 |
#include "gtktypebuiltins.h"
|
|
Packit Service |
fb6fa5 |
#include "gtkalias.h"
|
|
Packit Service |
fb6fa5 |
|
|
Packit Service |
fb6fa5 |
#define KEYFILE_GROUP_NAME "Page Setup"
|
|
Packit Service |
fb6fa5 |
|
|
Packit Service |
fb6fa5 |
typedef struct _GtkPageSetupClass GtkPageSetupClass;
|
|
Packit Service |
fb6fa5 |
|
|
Packit Service |
fb6fa5 |
#define GTK_IS_PAGE_SETUP_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GTK_TYPE_PAGE_SETUP))
|
|
Packit Service |
fb6fa5 |
#define GTK_PAGE_SETUP_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GTK_TYPE_PAGE_SETUP, GtkPageSetupClass))
|
|
Packit Service |
fb6fa5 |
#define GTK_PAGE_SETUP_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GTK_TYPE_PAGE_SETUP, GtkPageSetupClass))
|
|
Packit Service |
fb6fa5 |
|
|
Packit Service |
fb6fa5 |
struct _GtkPageSetup
|
|
Packit Service |
fb6fa5 |
{
|
|
Packit Service |
fb6fa5 |
GObject parent_instance;
|
|
Packit Service |
fb6fa5 |
|
|
Packit Service |
fb6fa5 |
GtkPageOrientation orientation;
|
|
Packit Service |
fb6fa5 |
GtkPaperSize *paper_size;
|
|
Packit Service |
fb6fa5 |
/* These are stored in mm */
|
|
Packit Service |
fb6fa5 |
double top_margin, bottom_margin, left_margin, right_margin;
|
|
Packit Service |
fb6fa5 |
};
|
|
Packit Service |
fb6fa5 |
|
|
Packit Service |
fb6fa5 |
struct _GtkPageSetupClass
|
|
Packit Service |
fb6fa5 |
{
|
|
Packit Service |
fb6fa5 |
GObjectClass parent_class;
|
|
Packit Service |
fb6fa5 |
};
|
|
Packit Service |
fb6fa5 |
|
|
Packit Service |
fb6fa5 |
G_DEFINE_TYPE (GtkPageSetup, gtk_page_setup, G_TYPE_OBJECT)
|
|
Packit Service |
fb6fa5 |
|
|
Packit Service |
fb6fa5 |
static void
|
|
Packit Service |
fb6fa5 |
gtk_page_setup_finalize (GObject *object)
|
|
Packit Service |
fb6fa5 |
{
|
|
Packit Service |
fb6fa5 |
GtkPageSetup *setup = GTK_PAGE_SETUP (object);
|
|
Packit Service |
fb6fa5 |
|
|
Packit Service |
fb6fa5 |
gtk_paper_size_free (setup->paper_size);
|
|
Packit Service |
fb6fa5 |
|
|
Packit Service |
fb6fa5 |
G_OBJECT_CLASS (gtk_page_setup_parent_class)->finalize (object);
|
|
Packit Service |
fb6fa5 |
}
|
|
Packit Service |
fb6fa5 |
|
|
Packit Service |
fb6fa5 |
static void
|
|
Packit Service |
fb6fa5 |
gtk_page_setup_init (GtkPageSetup *setup)
|
|
Packit Service |
fb6fa5 |
{
|
|
Packit Service |
fb6fa5 |
setup->paper_size = gtk_paper_size_new (NULL);
|
|
Packit Service |
fb6fa5 |
setup->orientation = GTK_PAGE_ORIENTATION_PORTRAIT;
|
|
Packit Service |
fb6fa5 |
setup->top_margin = gtk_paper_size_get_default_top_margin (setup->paper_size, GTK_UNIT_MM);
|
|
Packit Service |
fb6fa5 |
setup->bottom_margin = gtk_paper_size_get_default_bottom_margin (setup->paper_size, GTK_UNIT_MM);
|
|
Packit Service |
fb6fa5 |
setup->left_margin = gtk_paper_size_get_default_left_margin (setup->paper_size, GTK_UNIT_MM);
|
|
Packit Service |
fb6fa5 |
setup->right_margin = gtk_paper_size_get_default_right_margin (setup->paper_size, GTK_UNIT_MM);
|
|
Packit Service |
fb6fa5 |
}
|
|
Packit Service |
fb6fa5 |
|
|
Packit Service |
fb6fa5 |
static void
|
|
Packit Service |
fb6fa5 |
gtk_page_setup_class_init (GtkPageSetupClass *class)
|
|
Packit Service |
fb6fa5 |
{
|
|
Packit Service |
fb6fa5 |
GObjectClass *gobject_class = (GObjectClass *)class;
|
|
Packit Service |
fb6fa5 |
|
|
Packit Service |
fb6fa5 |
gobject_class->finalize = gtk_page_setup_finalize;
|
|
Packit Service |
fb6fa5 |
}
|
|
Packit Service |
fb6fa5 |
|
|
Packit Service |
fb6fa5 |
/**
|
|
Packit Service |
fb6fa5 |
* gtk_page_setup_new:
|
|
Packit Service |
fb6fa5 |
*
|
|
Packit Service |
fb6fa5 |
* Creates a new #GtkPageSetup.
|
|
Packit Service |
fb6fa5 |
*
|
|
Packit Service |
fb6fa5 |
* Return value: a new #GtkPageSetup.
|
|
Packit Service |
fb6fa5 |
*
|
|
Packit Service |
fb6fa5 |
* Since: 2.10
|
|
Packit Service |
fb6fa5 |
*/
|
|
Packit Service |
fb6fa5 |
GtkPageSetup *
|
|
Packit Service |
fb6fa5 |
gtk_page_setup_new (void)
|
|
Packit Service |
fb6fa5 |
{
|
|
Packit Service |
fb6fa5 |
return g_object_new (GTK_TYPE_PAGE_SETUP, NULL);
|
|
Packit Service |
fb6fa5 |
}
|
|
Packit Service |
fb6fa5 |
|
|
Packit Service |
fb6fa5 |
/**
|
|
Packit Service |
fb6fa5 |
* gtk_page_setup_copy:
|
|
Packit Service |
fb6fa5 |
* @other: the #GtkPageSetup to copy
|
|
Packit Service |
fb6fa5 |
*
|
|
Packit Service |
fb6fa5 |
* Copies a #GtkPageSetup.
|
|
Packit Service |
fb6fa5 |
*
|
|
Packit Service |
fb6fa5 |
* Return value: (transfer full): a copy of @other
|
|
Packit Service |
fb6fa5 |
*
|
|
Packit Service |
fb6fa5 |
* Since: 2.10
|
|
Packit Service |
fb6fa5 |
*/
|
|
Packit Service |
fb6fa5 |
GtkPageSetup *
|
|
Packit Service |
fb6fa5 |
gtk_page_setup_copy (GtkPageSetup *other)
|
|
Packit Service |
fb6fa5 |
{
|
|
Packit Service |
fb6fa5 |
GtkPageSetup *copy;
|
|
Packit Service |
fb6fa5 |
|
|
Packit Service |
fb6fa5 |
copy = gtk_page_setup_new ();
|
|
Packit Service |
fb6fa5 |
copy->orientation = other->orientation;
|
|
Packit Service |
fb6fa5 |
gtk_paper_size_free (copy->paper_size);
|
|
Packit Service |
fb6fa5 |
copy->paper_size = gtk_paper_size_copy (other->paper_size);
|
|
Packit Service |
fb6fa5 |
copy->top_margin = other->top_margin;
|
|
Packit Service |
fb6fa5 |
copy->bottom_margin = other->bottom_margin;
|
|
Packit Service |
fb6fa5 |
copy->left_margin = other->left_margin;
|
|
Packit Service |
fb6fa5 |
copy->right_margin = other->right_margin;
|
|
Packit Service |
fb6fa5 |
|
|
Packit Service |
fb6fa5 |
return copy;
|
|
Packit Service |
fb6fa5 |
}
|
|
Packit Service |
fb6fa5 |
|
|
Packit Service |
fb6fa5 |
/**
|
|
Packit Service |
fb6fa5 |
* gtk_page_setup_get_orientation:
|
|
Packit Service |
fb6fa5 |
* @setup: a #GtkPageSetup
|
|
Packit Service |
fb6fa5 |
*
|
|
Packit Service |
fb6fa5 |
* Gets the page orientation of the #GtkPageSetup.
|
|
Packit Service |
fb6fa5 |
*
|
|
Packit Service |
fb6fa5 |
* Return value: the page orientation
|
|
Packit Service |
fb6fa5 |
*
|
|
Packit Service |
fb6fa5 |
* Since: 2.10
|
|
Packit Service |
fb6fa5 |
*/
|
|
Packit Service |
fb6fa5 |
GtkPageOrientation
|
|
Packit Service |
fb6fa5 |
gtk_page_setup_get_orientation (GtkPageSetup *setup)
|
|
Packit Service |
fb6fa5 |
{
|
|
Packit Service |
fb6fa5 |
return setup->orientation;
|
|
Packit Service |
fb6fa5 |
}
|
|
Packit Service |
fb6fa5 |
|
|
Packit Service |
fb6fa5 |
/**
|
|
Packit Service |
fb6fa5 |
* gtk_page_setup_set_orientation:
|
|
Packit Service |
fb6fa5 |
* @setup: a #GtkPageSetup
|
|
Packit Service |
fb6fa5 |
* @orientation: a #GtkPageOrientation value
|
|
Packit Service |
fb6fa5 |
*
|
|
Packit Service |
fb6fa5 |
* Sets the page orientation of the #GtkPageSetup.
|
|
Packit Service |
fb6fa5 |
*
|
|
Packit Service |
fb6fa5 |
* Since: 2.10
|
|
Packit Service |
fb6fa5 |
*/
|
|
Packit Service |
fb6fa5 |
void
|
|
Packit Service |
fb6fa5 |
gtk_page_setup_set_orientation (GtkPageSetup *setup,
|
|
Packit Service |
fb6fa5 |
GtkPageOrientation orientation)
|
|
Packit Service |
fb6fa5 |
{
|
|
Packit Service |
fb6fa5 |
setup->orientation = orientation;
|
|
Packit Service |
fb6fa5 |
}
|
|
Packit Service |
fb6fa5 |
|
|
Packit Service |
fb6fa5 |
/**
|
|
Packit Service |
fb6fa5 |
* gtk_page_setup_get_paper_size:
|
|
Packit Service |
fb6fa5 |
* @setup: a #GtkPageSetup
|
|
Packit Service |
fb6fa5 |
*
|
|
Packit Service |
fb6fa5 |
* Gets the paper size of the #GtkPageSetup.
|
|
Packit Service |
fb6fa5 |
*
|
|
Packit Service |
fb6fa5 |
* Return value: the paper size
|
|
Packit Service |
fb6fa5 |
*
|
|
Packit Service |
fb6fa5 |
* Since: 2.10
|
|
Packit Service |
fb6fa5 |
*/
|
|
Packit Service |
fb6fa5 |
GtkPaperSize *
|
|
Packit Service |
fb6fa5 |
gtk_page_setup_get_paper_size (GtkPageSetup *setup)
|
|
Packit Service |
fb6fa5 |
{
|
|
Packit Service |
fb6fa5 |
g_return_val_if_fail (GTK_IS_PAGE_SETUP (setup), NULL);
|
|
Packit Service |
fb6fa5 |
|
|
Packit Service |
fb6fa5 |
return setup->paper_size;
|
|
Packit Service |
fb6fa5 |
}
|
|
Packit Service |
fb6fa5 |
|
|
Packit Service |
fb6fa5 |
/**
|
|
Packit Service |
fb6fa5 |
* gtk_page_setup_set_paper_size:
|
|
Packit Service |
fb6fa5 |
* @setup: a #GtkPageSetup
|
|
Packit Service |
fb6fa5 |
* @size: a #GtkPaperSize
|
|
Packit Service |
fb6fa5 |
*
|
|
Packit Service |
fb6fa5 |
* Sets the paper size of the #GtkPageSetup without
|
|
Packit Service |
fb6fa5 |
* changing the margins. See
|
|
Packit Service |
fb6fa5 |
* gtk_page_setup_set_paper_size_and_default_margins().
|
|
Packit Service |
fb6fa5 |
*
|
|
Packit Service |
fb6fa5 |
* Since: 2.10
|
|
Packit Service |
fb6fa5 |
*/
|
|
Packit Service |
fb6fa5 |
void
|
|
Packit Service |
fb6fa5 |
gtk_page_setup_set_paper_size (GtkPageSetup *setup,
|
|
Packit Service |
fb6fa5 |
GtkPaperSize *size)
|
|
Packit Service |
fb6fa5 |
{
|
|
Packit Service |
fb6fa5 |
GtkPaperSize *old_size;
|
|
Packit Service |
fb6fa5 |
|
|
Packit Service |
fb6fa5 |
g_return_if_fail (GTK_IS_PAGE_SETUP (setup));
|
|
Packit Service |
fb6fa5 |
g_return_if_fail (size != NULL);
|
|
Packit Service |
fb6fa5 |
|
|
Packit Service |
fb6fa5 |
old_size = setup->paper_size;
|
|
Packit Service |
fb6fa5 |
|
|
Packit Service |
fb6fa5 |
setup->paper_size = gtk_paper_size_copy (size);
|
|
Packit Service |
fb6fa5 |
|
|
Packit Service |
fb6fa5 |
if (old_size)
|
|
Packit Service |
fb6fa5 |
gtk_paper_size_free (old_size);
|
|
Packit Service |
fb6fa5 |
}
|
|
Packit Service |
fb6fa5 |
|
|
Packit Service |
fb6fa5 |
/**
|
|
Packit Service |
fb6fa5 |
* gtk_page_setup_set_paper_size_and_default_margins:
|
|
Packit Service |
fb6fa5 |
* @setup: a #GtkPageSetup
|
|
Packit Service |
fb6fa5 |
* @size: a #GtkPaperSize
|
|
Packit Service |
fb6fa5 |
*
|
|
Packit Service |
fb6fa5 |
* Sets the paper size of the #GtkPageSetup and modifies
|
|
Packit Service |
fb6fa5 |
* the margins according to the new paper size.
|
|
Packit Service |
fb6fa5 |
*
|
|
Packit Service |
fb6fa5 |
* Since: 2.10
|
|
Packit Service |
fb6fa5 |
*/
|
|
Packit Service |
fb6fa5 |
void
|
|
Packit Service |
fb6fa5 |
gtk_page_setup_set_paper_size_and_default_margins (GtkPageSetup *setup,
|
|
Packit Service |
fb6fa5 |
GtkPaperSize *size)
|
|
Packit Service |
fb6fa5 |
{
|
|
Packit Service |
fb6fa5 |
gtk_page_setup_set_paper_size (setup, size);
|
|
Packit Service |
fb6fa5 |
setup->top_margin = gtk_paper_size_get_default_top_margin (setup->paper_size, GTK_UNIT_MM);
|
|
Packit Service |
fb6fa5 |
setup->bottom_margin = gtk_paper_size_get_default_bottom_margin (setup->paper_size, GTK_UNIT_MM);
|
|
Packit Service |
fb6fa5 |
setup->left_margin = gtk_paper_size_get_default_left_margin (setup->paper_size, GTK_UNIT_MM);
|
|
Packit Service |
fb6fa5 |
setup->right_margin = gtk_paper_size_get_default_right_margin (setup->paper_size, GTK_UNIT_MM);
|
|
Packit Service |
fb6fa5 |
}
|
|
Packit Service |
fb6fa5 |
|
|
Packit Service |
fb6fa5 |
/**
|
|
Packit Service |
fb6fa5 |
* gtk_page_setup_get_top_margin:
|
|
Packit Service |
fb6fa5 |
* @setup: a #GtkPageSetup
|
|
Packit Service |
fb6fa5 |
* @unit: the unit for the return value
|
|
Packit Service |
fb6fa5 |
*
|
|
Packit Service |
fb6fa5 |
* Gets the top margin in units of @unit.
|
|
Packit Service |
fb6fa5 |
*
|
|
Packit Service |
fb6fa5 |
* Return value: the top margin
|
|
Packit Service |
fb6fa5 |
*
|
|
Packit Service |
fb6fa5 |
* Since: 2.10
|
|
Packit Service |
fb6fa5 |
*/
|
|
Packit Service |
fb6fa5 |
gdouble
|
|
Packit Service |
fb6fa5 |
gtk_page_setup_get_top_margin (GtkPageSetup *setup,
|
|
Packit Service |
fb6fa5 |
GtkUnit unit)
|
|
Packit Service |
fb6fa5 |
{
|
|
Packit Service |
fb6fa5 |
return _gtk_print_convert_from_mm (setup->top_margin, unit);
|
|
Packit Service |
fb6fa5 |
}
|
|
Packit Service |
fb6fa5 |
|
|
Packit Service |
fb6fa5 |
/**
|
|
Packit Service |
fb6fa5 |
* gtk_page_setup_set_top_margin:
|
|
Packit Service |
fb6fa5 |
* @setup: a #GtkPageSetup
|
|
Packit Service |
fb6fa5 |
* @margin: the new top margin in units of @unit
|
|
Packit Service |
fb6fa5 |
* @unit: the units for @margin
|
|
Packit Service |
fb6fa5 |
*
|
|
Packit Service |
fb6fa5 |
* Sets the top margin of the #GtkPageSetup.
|
|
Packit Service |
fb6fa5 |
*
|
|
Packit Service |
fb6fa5 |
* Since: 2.10
|
|
Packit Service |
fb6fa5 |
*/
|
|
Packit Service |
fb6fa5 |
void
|
|
Packit Service |
fb6fa5 |
gtk_page_setup_set_top_margin (GtkPageSetup *setup,
|
|
Packit Service |
fb6fa5 |
gdouble margin,
|
|
Packit Service |
fb6fa5 |
GtkUnit unit)
|
|
Packit Service |
fb6fa5 |
{
|
|
Packit Service |
fb6fa5 |
setup->top_margin = _gtk_print_convert_to_mm (margin, unit);
|
|
Packit Service |
fb6fa5 |
}
|
|
Packit Service |
fb6fa5 |
|
|
Packit Service |
fb6fa5 |
/**
|
|
Packit Service |
fb6fa5 |
* gtk_page_setup_get_bottom_margin:
|
|
Packit Service |
fb6fa5 |
* @setup: a #GtkPageSetup
|
|
Packit Service |
fb6fa5 |
* @unit: the unit for the return value
|
|
Packit Service |
fb6fa5 |
*
|
|
Packit Service |
fb6fa5 |
* Gets the bottom margin in units of @unit.
|
|
Packit Service |
fb6fa5 |
*
|
|
Packit Service |
fb6fa5 |
* Return value: the bottom margin
|
|
Packit Service |
fb6fa5 |
*
|
|
Packit Service |
fb6fa5 |
* Since: 2.10
|
|
Packit Service |
fb6fa5 |
*/
|
|
Packit Service |
fb6fa5 |
gdouble
|
|
Packit Service |
fb6fa5 |
gtk_page_setup_get_bottom_margin (GtkPageSetup *setup,
|
|
Packit Service |
fb6fa5 |
GtkUnit unit)
|
|
Packit Service |
fb6fa5 |
{
|
|
Packit Service |
fb6fa5 |
return _gtk_print_convert_from_mm (setup->bottom_margin, unit);
|
|
Packit Service |
fb6fa5 |
}
|
|
Packit Service |
fb6fa5 |
|
|
Packit Service |
fb6fa5 |
/**
|
|
Packit Service |
fb6fa5 |
* gtk_page_setup_set_bottom_margin:
|
|
Packit Service |
fb6fa5 |
* @setup: a #GtkPageSetup
|
|
Packit Service |
fb6fa5 |
* @margin: the new bottom margin in units of @unit
|
|
Packit Service |
fb6fa5 |
* @unit: the units for @margin
|
|
Packit Service |
fb6fa5 |
*
|
|
Packit Service |
fb6fa5 |
* Sets the bottom margin of the #GtkPageSetup.
|
|
Packit Service |
fb6fa5 |
*
|
|
Packit Service |
fb6fa5 |
* Since: 2.10
|
|
Packit Service |
fb6fa5 |
*/
|
|
Packit Service |
fb6fa5 |
void
|
|
Packit Service |
fb6fa5 |
gtk_page_setup_set_bottom_margin (GtkPageSetup *setup,
|
|
Packit Service |
fb6fa5 |
gdouble margin,
|
|
Packit Service |
fb6fa5 |
GtkUnit unit)
|
|
Packit Service |
fb6fa5 |
{
|
|
Packit Service |
fb6fa5 |
setup->bottom_margin = _gtk_print_convert_to_mm (margin, unit);
|
|
Packit Service |
fb6fa5 |
}
|
|
Packit Service |
fb6fa5 |
|
|
Packit Service |
fb6fa5 |
/**
|
|
Packit Service |
fb6fa5 |
* gtk_page_setup_get_left_margin:
|
|
Packit Service |
fb6fa5 |
* @setup: a #GtkPageSetup
|
|
Packit Service |
fb6fa5 |
* @unit: the unit for the return value
|
|
Packit Service |
fb6fa5 |
*
|
|
Packit Service |
fb6fa5 |
* Gets the left margin in units of @unit.
|
|
Packit Service |
fb6fa5 |
*
|
|
Packit Service |
fb6fa5 |
* Return value: the left margin
|
|
Packit Service |
fb6fa5 |
*
|
|
Packit Service |
fb6fa5 |
* Since: 2.10
|
|
Packit Service |
fb6fa5 |
*/
|
|
Packit Service |
fb6fa5 |
gdouble
|
|
Packit Service |
fb6fa5 |
gtk_page_setup_get_left_margin (GtkPageSetup *setup,
|
|
Packit Service |
fb6fa5 |
GtkUnit unit)
|
|
Packit Service |
fb6fa5 |
{
|
|
Packit Service |
fb6fa5 |
return _gtk_print_convert_from_mm (setup->left_margin, unit);
|
|
Packit Service |
fb6fa5 |
}
|
|
Packit Service |
fb6fa5 |
|
|
Packit Service |
fb6fa5 |
/**
|
|
Packit Service |
fb6fa5 |
* gtk_page_setup_set_left_margin:
|
|
Packit Service |
fb6fa5 |
* @setup: a #GtkPageSetup
|
|
Packit Service |
fb6fa5 |
* @margin: the new left margin in units of @unit
|
|
Packit Service |
fb6fa5 |
* @unit: the units for @margin
|
|
Packit Service |
fb6fa5 |
*
|
|
Packit Service |
fb6fa5 |
* Sets the left margin of the #GtkPageSetup.
|
|
Packit Service |
fb6fa5 |
*
|
|
Packit Service |
fb6fa5 |
* Since: 2.10
|
|
Packit Service |
fb6fa5 |
*/
|
|
Packit Service |
fb6fa5 |
void
|
|
Packit Service |
fb6fa5 |
gtk_page_setup_set_left_margin (GtkPageSetup *setup,
|
|
Packit Service |
fb6fa5 |
gdouble margin,
|
|
Packit Service |
fb6fa5 |
GtkUnit unit)
|
|
Packit Service |
fb6fa5 |
{
|
|
Packit Service |
fb6fa5 |
setup->left_margin = _gtk_print_convert_to_mm (margin, unit);
|
|
Packit Service |
fb6fa5 |
}
|
|
Packit Service |
fb6fa5 |
|
|
Packit Service |
fb6fa5 |
/**
|
|
Packit Service |
fb6fa5 |
* gtk_page_setup_get_right_margin:
|
|
Packit Service |
fb6fa5 |
* @setup: a #GtkPageSetup
|
|
Packit Service |
fb6fa5 |
* @unit: the unit for the return value
|
|
Packit Service |
fb6fa5 |
*
|
|
Packit Service |
fb6fa5 |
* Gets the right margin in units of @unit.
|
|
Packit Service |
fb6fa5 |
*
|
|
Packit Service |
fb6fa5 |
* Return value: the right margin
|
|
Packit Service |
fb6fa5 |
*
|
|
Packit Service |
fb6fa5 |
* Since: 2.10
|
|
Packit Service |
fb6fa5 |
*/
|
|
Packit Service |
fb6fa5 |
gdouble
|
|
Packit Service |
fb6fa5 |
gtk_page_setup_get_right_margin (GtkPageSetup *setup,
|
|
Packit Service |
fb6fa5 |
GtkUnit unit)
|
|
Packit Service |
fb6fa5 |
{
|
|
Packit Service |
fb6fa5 |
return _gtk_print_convert_from_mm (setup->right_margin, unit);
|
|
Packit Service |
fb6fa5 |
}
|
|
Packit Service |
fb6fa5 |
|
|
Packit Service |
fb6fa5 |
/**
|
|
Packit Service |
fb6fa5 |
* gtk_page_setup_set_right_margin:
|
|
Packit Service |
fb6fa5 |
* @setup: a #GtkPageSetup
|
|
Packit Service |
fb6fa5 |
* @margin: the new right margin in units of @unit
|
|
Packit Service |
fb6fa5 |
* @unit: the units for @margin
|
|
Packit Service |
fb6fa5 |
*
|
|
Packit Service |
fb6fa5 |
* Sets the right margin of the #GtkPageSetup.
|
|
Packit Service |
fb6fa5 |
*
|
|
Packit Service |
fb6fa5 |
* Since: 2.10
|
|
Packit Service |
fb6fa5 |
*/
|
|
Packit Service |
fb6fa5 |
void
|
|
Packit Service |
fb6fa5 |
gtk_page_setup_set_right_margin (GtkPageSetup *setup,
|
|
Packit Service |
fb6fa5 |
gdouble margin,
|
|
Packit Service |
fb6fa5 |
GtkUnit unit)
|
|
Packit Service |
fb6fa5 |
{
|
|
Packit Service |
fb6fa5 |
setup->right_margin = _gtk_print_convert_to_mm (margin, unit);
|
|
Packit Service |
fb6fa5 |
}
|
|
Packit Service |
fb6fa5 |
|
|
Packit Service |
fb6fa5 |
/**
|
|
Packit Service |
fb6fa5 |
* gtk_page_setup_get_paper_width:
|
|
Packit Service |
fb6fa5 |
* @setup: a #GtkPageSetup
|
|
Packit Service |
fb6fa5 |
* @unit: the unit for the return value
|
|
Packit Service |
fb6fa5 |
*
|
|
Packit Service |
fb6fa5 |
* Returns the paper width in units of @unit.
|
|
Packit Service |
fb6fa5 |
*
|
|
Packit Service |
fb6fa5 |
* Note that this function takes orientation, but
|
|
Packit Service |
fb6fa5 |
* not margins into consideration.
|
|
Packit Service |
fb6fa5 |
* See gtk_page_setup_get_page_width().
|
|
Packit Service |
fb6fa5 |
*
|
|
Packit Service |
fb6fa5 |
* Return value: the paper width.
|
|
Packit Service |
fb6fa5 |
*
|
|
Packit Service |
fb6fa5 |
* Since: 2.10
|
|
Packit Service |
fb6fa5 |
*/
|
|
Packit Service |
fb6fa5 |
gdouble
|
|
Packit Service |
fb6fa5 |
gtk_page_setup_get_paper_width (GtkPageSetup *setup,
|
|
Packit Service |
fb6fa5 |
GtkUnit unit)
|
|
Packit Service |
fb6fa5 |
{
|
|
Packit Service |
fb6fa5 |
if (setup->orientation == GTK_PAGE_ORIENTATION_PORTRAIT ||
|
|
Packit Service |
fb6fa5 |
setup->orientation == GTK_PAGE_ORIENTATION_REVERSE_PORTRAIT)
|
|
Packit Service |
fb6fa5 |
return gtk_paper_size_get_width (setup->paper_size, unit);
|
|
Packit Service |
fb6fa5 |
else
|
|
Packit Service |
fb6fa5 |
return gtk_paper_size_get_height (setup->paper_size, unit);
|
|
Packit Service |
fb6fa5 |
}
|
|
Packit Service |
fb6fa5 |
|
|
Packit Service |
fb6fa5 |
/**
|
|
Packit Service |
fb6fa5 |
* gtk_page_setup_get_paper_height:
|
|
Packit Service |
fb6fa5 |
* @setup: a #GtkPageSetup
|
|
Packit Service |
fb6fa5 |
* @unit: the unit for the return value
|
|
Packit Service |
fb6fa5 |
*
|
|
Packit Service |
fb6fa5 |
* Returns the paper height in units of @unit.
|
|
Packit Service |
fb6fa5 |
*
|
|
Packit Service |
fb6fa5 |
* Note that this function takes orientation, but
|
|
Packit Service |
fb6fa5 |
* not margins into consideration.
|
|
Packit Service |
fb6fa5 |
* See gtk_page_setup_get_page_height().
|
|
Packit Service |
fb6fa5 |
*
|
|
Packit Service |
fb6fa5 |
* Return value: the paper height.
|
|
Packit Service |
fb6fa5 |
*
|
|
Packit Service |
fb6fa5 |
* Since: 2.10
|
|
Packit Service |
fb6fa5 |
*/
|
|
Packit Service |
fb6fa5 |
gdouble
|
|
Packit Service |
fb6fa5 |
gtk_page_setup_get_paper_height (GtkPageSetup *setup,
|
|
Packit Service |
fb6fa5 |
GtkUnit unit)
|
|
Packit Service |
fb6fa5 |
{
|
|
Packit Service |
fb6fa5 |
if (setup->orientation == GTK_PAGE_ORIENTATION_PORTRAIT ||
|
|
Packit Service |
fb6fa5 |
setup->orientation == GTK_PAGE_ORIENTATION_REVERSE_PORTRAIT)
|
|
Packit Service |
fb6fa5 |
return gtk_paper_size_get_height (setup->paper_size, unit);
|
|
Packit Service |
fb6fa5 |
else
|
|
Packit Service |
fb6fa5 |
return gtk_paper_size_get_width (setup->paper_size, unit);
|
|
Packit Service |
fb6fa5 |
}
|
|
Packit Service |
fb6fa5 |
|
|
Packit Service |
fb6fa5 |
/**
|
|
Packit Service |
fb6fa5 |
* gtk_page_setup_get_page_width:
|
|
Packit Service |
fb6fa5 |
* @setup: a #GtkPageSetup
|
|
Packit Service |
fb6fa5 |
* @unit: the unit for the return value
|
|
Packit Service |
fb6fa5 |
*
|
|
Packit Service |
fb6fa5 |
* Returns the page width in units of @unit.
|
|
Packit Service |
fb6fa5 |
*
|
|
Packit Service |
fb6fa5 |
* Note that this function takes orientation and
|
|
Packit Service |
fb6fa5 |
* margins into consideration.
|
|
Packit Service |
fb6fa5 |
* See gtk_page_setup_get_paper_width().
|
|
Packit Service |
fb6fa5 |
*
|
|
Packit Service |
fb6fa5 |
* Return value: the page width.
|
|
Packit Service |
fb6fa5 |
*
|
|
Packit Service |
fb6fa5 |
* Since: 2.10
|
|
Packit Service |
fb6fa5 |
*/
|
|
Packit Service |
fb6fa5 |
gdouble
|
|
Packit Service |
fb6fa5 |
gtk_page_setup_get_page_width (GtkPageSetup *setup,
|
|
Packit Service |
fb6fa5 |
GtkUnit unit)
|
|
Packit Service |
fb6fa5 |
{
|
|
Packit Service |
fb6fa5 |
gdouble width;
|
|
Packit Service |
fb6fa5 |
|
|
Packit Service |
fb6fa5 |
width = gtk_page_setup_get_paper_width (setup, GTK_UNIT_MM);
|
|
Packit Service |
fb6fa5 |
width -= setup->left_margin + setup->right_margin;
|
|
Packit Service |
fb6fa5 |
|
|
Packit Service |
fb6fa5 |
return _gtk_print_convert_from_mm (width, unit);
|
|
Packit Service |
fb6fa5 |
}
|
|
Packit Service |
fb6fa5 |
|
|
Packit Service |
fb6fa5 |
/**
|
|
Packit Service |
fb6fa5 |
* gtk_page_setup_get_page_height:
|
|
Packit Service |
fb6fa5 |
* @setup: a #GtkPageSetup
|
|
Packit Service |
fb6fa5 |
* @unit: the unit for the return value
|
|
Packit Service |
fb6fa5 |
*
|
|
Packit Service |
fb6fa5 |
* Returns the page height in units of @unit.
|
|
Packit Service |
fb6fa5 |
*
|
|
Packit Service |
fb6fa5 |
* Note that this function takes orientation and
|
|
Packit Service |
fb6fa5 |
* margins into consideration.
|
|
Packit Service |
fb6fa5 |
* See gtk_page_setup_get_paper_height().
|
|
Packit Service |
fb6fa5 |
*
|
|
Packit Service |
fb6fa5 |
* Return value: the page height.
|
|
Packit Service |
fb6fa5 |
*
|
|
Packit Service |
fb6fa5 |
* Since: 2.10
|
|
Packit Service |
fb6fa5 |
*/
|
|
Packit Service |
fb6fa5 |
gdouble
|
|
Packit Service |
fb6fa5 |
gtk_page_setup_get_page_height (GtkPageSetup *setup,
|
|
Packit Service |
fb6fa5 |
GtkUnit unit)
|
|
Packit Service |
fb6fa5 |
{
|
|
Packit Service |
fb6fa5 |
gdouble height;
|
|
Packit Service |
fb6fa5 |
|
|
Packit Service |
fb6fa5 |
height = gtk_page_setup_get_paper_height (setup, GTK_UNIT_MM);
|
|
Packit Service |
fb6fa5 |
height -= setup->top_margin + setup->bottom_margin;
|
|
Packit Service |
fb6fa5 |
|
|
Packit Service |
fb6fa5 |
return _gtk_print_convert_from_mm (height, unit);
|
|
Packit Service |
fb6fa5 |
}
|
|
Packit Service |
fb6fa5 |
|
|
Packit Service |
fb6fa5 |
/**
|
|
Packit Service |
fb6fa5 |
* gtk_page_setup_load_file:
|
|
Packit Service |
fb6fa5 |
* @setup: a #GtkPageSetup
|
|
Packit Service |
fb6fa5 |
* @file_name: the filename to read the page setup from
|
|
Packit Service |
fb6fa5 |
* @error: (allow-none): return location for an error, or %NULL
|
|
Packit Service |
fb6fa5 |
*
|
|
Packit Service |
fb6fa5 |
* Reads the page setup from the file @file_name.
|
|
Packit Service |
fb6fa5 |
* See gtk_page_setup_to_file().
|
|
Packit Service |
fb6fa5 |
*
|
|
Packit Service |
fb6fa5 |
* Return value: %TRUE on success
|
|
Packit Service |
fb6fa5 |
*
|
|
Packit Service |
fb6fa5 |
* Since: 2.14
|
|
Packit Service |
fb6fa5 |
*/
|
|
Packit Service |
fb6fa5 |
gboolean
|
|
Packit Service |
fb6fa5 |
gtk_page_setup_load_file (GtkPageSetup *setup,
|
|
Packit Service |
fb6fa5 |
const gchar *file_name,
|
|
Packit Service |
fb6fa5 |
GError **error)
|
|
Packit Service |
fb6fa5 |
{
|
|
Packit Service |
fb6fa5 |
gboolean retval = FALSE;
|
|
Packit Service |
fb6fa5 |
GKeyFile *key_file;
|
|
Packit Service |
fb6fa5 |
|
|
Packit Service |
fb6fa5 |
g_return_val_if_fail (GTK_IS_PAGE_SETUP (setup), FALSE);
|
|
Packit Service |
fb6fa5 |
g_return_val_if_fail (file_name != NULL, FALSE);
|
|
Packit Service |
fb6fa5 |
|
|
Packit Service |
fb6fa5 |
key_file = g_key_file_new ();
|
|
Packit Service |
fb6fa5 |
|
|
Packit Service |
fb6fa5 |
if (g_key_file_load_from_file (key_file, file_name, 0, error) &&
|
|
Packit Service |
fb6fa5 |
gtk_page_setup_load_key_file (setup, key_file, NULL, error))
|
|
Packit Service |
fb6fa5 |
retval = TRUE;
|
|
Packit Service |
fb6fa5 |
|
|
Packit Service |
fb6fa5 |
g_key_file_free (key_file);
|
|
Packit Service |
fb6fa5 |
|
|
Packit Service |
fb6fa5 |
return retval;
|
|
Packit Service |
fb6fa5 |
}
|
|
Packit Service |
fb6fa5 |
|
|
Packit Service |
fb6fa5 |
/**
|
|
Packit Service |
fb6fa5 |
* gtk_page_setup_new_from_file:
|
|
Packit Service |
fb6fa5 |
* @file_name: the filename to read the page setup from
|
|
Packit Service |
fb6fa5 |
* @error: (allow-none): return location for an error, or %NULL
|
|
Packit Service |
fb6fa5 |
*
|
|
Packit Service |
fb6fa5 |
* Reads the page setup from the file @file_name. Returns a
|
|
Packit Service |
fb6fa5 |
* new #GtkPageSetup object with the restored page setup,
|
|
Packit Service |
fb6fa5 |
* or %NULL if an error occurred. See gtk_page_setup_to_file().
|
|
Packit Service |
fb6fa5 |
*
|
|
Packit Service |
fb6fa5 |
* Return value: the restored #GtkPageSetup
|
|
Packit Service |
fb6fa5 |
*
|
|
Packit Service |
fb6fa5 |
* Since: 2.12
|
|
Packit Service |
fb6fa5 |
*/
|
|
Packit Service |
fb6fa5 |
GtkPageSetup *
|
|
Packit Service |
fb6fa5 |
gtk_page_setup_new_from_file (const gchar *file_name,
|
|
Packit Service |
fb6fa5 |
GError **error)
|
|
Packit Service |
fb6fa5 |
{
|
|
Packit Service |
fb6fa5 |
GtkPageSetup *setup = gtk_page_setup_new ();
|
|
Packit Service |
fb6fa5 |
|
|
Packit Service |
fb6fa5 |
if (!gtk_page_setup_load_file (setup, file_name, error))
|
|
Packit Service |
fb6fa5 |
{
|
|
Packit Service |
fb6fa5 |
g_object_unref (setup);
|
|
Packit Service |
fb6fa5 |
setup = NULL;
|
|
Packit Service |
fb6fa5 |
}
|
|
Packit Service |
fb6fa5 |
|
|
Packit Service |
fb6fa5 |
return setup;
|
|
Packit Service |
fb6fa5 |
}
|
|
Packit Service |
fb6fa5 |
|
|
Packit Service |
fb6fa5 |
/* something like this should really be in gobject! */
|
|
Packit Service |
fb6fa5 |
static guint
|
|
Packit Service |
fb6fa5 |
string_to_enum (GType type,
|
|
Packit Service |
fb6fa5 |
const char *enum_string)
|
|
Packit Service |
fb6fa5 |
{
|
|
Packit Service |
fb6fa5 |
GEnumClass *enum_class;
|
|
Packit Service |
fb6fa5 |
const GEnumValue *value;
|
|
Packit Service |
fb6fa5 |
guint retval = 0;
|
|
Packit Service |
fb6fa5 |
|
|
Packit Service |
fb6fa5 |
g_return_val_if_fail (enum_string != NULL, 0);
|
|
Packit Service |
fb6fa5 |
|
|
Packit Service |
fb6fa5 |
enum_class = g_type_class_ref (type);
|
|
Packit Service |
fb6fa5 |
value = g_enum_get_value_by_nick (enum_class, enum_string);
|
|
Packit Service |
fb6fa5 |
if (value)
|
|
Packit Service |
fb6fa5 |
retval = value->value;
|
|
Packit Service |
fb6fa5 |
|
|
Packit Service |
fb6fa5 |
g_type_class_unref (enum_class);
|
|
Packit Service |
fb6fa5 |
|
|
Packit Service |
fb6fa5 |
return retval;
|
|
Packit Service |
fb6fa5 |
}
|
|
Packit Service |
fb6fa5 |
|
|
Packit Service |
fb6fa5 |
/**
|
|
Packit Service |
fb6fa5 |
* gtk_page_setup_load_key_file:
|
|
Packit Service |
fb6fa5 |
* @setup: a #GtkPageSetup
|
|
Packit Service |
fb6fa5 |
* @key_file: the #GKeyFile to retrieve the page_setup from
|
|
Packit Service |
fb6fa5 |
* @group_name: (allow-none): the name of the group in the key_file to read, or %NULL
|
|
Packit Service |
fb6fa5 |
* to use the default name "Page Setup"
|
|
Packit Service |
fb6fa5 |
* @error: (allow-none): return location for an error, or %NULL
|
|
Packit Service |
fb6fa5 |
*
|
|
Packit Service |
fb6fa5 |
* Reads the page setup from the group @group_name in the key file
|
|
Packit Service |
fb6fa5 |
* @key_file.
|
|
Packit Service |
fb6fa5 |
*
|
|
Packit Service |
fb6fa5 |
* Return value: %TRUE on success
|
|
Packit Service |
fb6fa5 |
*
|
|
Packit Service |
fb6fa5 |
* Since: 2.14
|
|
Packit Service |
fb6fa5 |
*/
|
|
Packit Service |
fb6fa5 |
gboolean
|
|
Packit Service |
fb6fa5 |
gtk_page_setup_load_key_file (GtkPageSetup *setup,
|
|
Packit Service |
fb6fa5 |
GKeyFile *key_file,
|
|
Packit Service |
fb6fa5 |
const gchar *group_name,
|
|
Packit Service |
fb6fa5 |
GError **error)
|
|
Packit Service |
fb6fa5 |
{
|
|
Packit Service |
fb6fa5 |
GtkPaperSize *paper_size;
|
|
Packit Service |
fb6fa5 |
gdouble top, bottom, left, right;
|
|
Packit Service |
fb6fa5 |
char *orientation = NULL, *freeme = NULL;
|
|
Packit Service |
fb6fa5 |
gboolean retval = FALSE;
|
|
Packit Service |
fb6fa5 |
GError *err = NULL;
|
|
Packit Service |
fb6fa5 |
|
|
Packit Service |
fb6fa5 |
g_return_val_if_fail (GTK_IS_PAGE_SETUP (setup), FALSE);
|
|
Packit Service |
fb6fa5 |
g_return_val_if_fail (key_file != NULL, FALSE);
|
|
Packit Service |
fb6fa5 |
|
|
Packit Service |
fb6fa5 |
if (!group_name)
|
|
Packit Service |
fb6fa5 |
group_name = KEYFILE_GROUP_NAME;
|
|
Packit Service |
fb6fa5 |
|
|
Packit Service |
fb6fa5 |
if (!g_key_file_has_group (key_file, group_name))
|
|
Packit Service |
fb6fa5 |
{
|
|
Packit Service |
fb6fa5 |
g_set_error_literal (error,
|
|
Packit Service |
fb6fa5 |
GTK_PRINT_ERROR,
|
|
Packit Service |
fb6fa5 |
GTK_PRINT_ERROR_INVALID_FILE,
|
|
Packit Service |
fb6fa5 |
_("Not a valid page setup file"));
|
|
Packit Service |
fb6fa5 |
goto out;
|
|
Packit Service |
fb6fa5 |
}
|
|
Packit Service |
fb6fa5 |
|
|
Packit Service |
fb6fa5 |
#define GET_DOUBLE(kf, group, name, v) \
|
|
Packit Service |
fb6fa5 |
v = g_key_file_get_double (kf, group, name, &err;; \
|
|
Packit Service |
fb6fa5 |
if (err != NULL) \
|
|
Packit Service |
fb6fa5 |
{ \
|
|
Packit Service |
fb6fa5 |
g_propagate_error (error, err);\
|
|
Packit Service |
fb6fa5 |
goto out;\
|
|
Packit Service |
fb6fa5 |
}
|
|
Packit Service |
fb6fa5 |
|
|
Packit Service |
fb6fa5 |
GET_DOUBLE (key_file, group_name, "MarginTop", top);
|
|
Packit Service |
fb6fa5 |
GET_DOUBLE (key_file, group_name, "MarginBottom", bottom);
|
|
Packit Service |
fb6fa5 |
GET_DOUBLE (key_file, group_name, "MarginLeft", left);
|
|
Packit Service |
fb6fa5 |
GET_DOUBLE (key_file, group_name, "MarginRight", right);
|
|
Packit Service |
fb6fa5 |
|
|
Packit Service |
fb6fa5 |
#undef GET_DOUBLE
|
|
Packit Service |
fb6fa5 |
|
|
Packit Service |
fb6fa5 |
paper_size = gtk_paper_size_new_from_key_file (key_file, group_name, &err;;
|
|
Packit Service |
fb6fa5 |
if (!paper_size)
|
|
Packit Service |
fb6fa5 |
{
|
|
Packit Service |
fb6fa5 |
g_propagate_error (error, err);
|
|
Packit Service |
fb6fa5 |
goto out;
|
|
Packit Service |
fb6fa5 |
}
|
|
Packit Service |
fb6fa5 |
|
|
Packit Service |
fb6fa5 |
gtk_page_setup_set_paper_size (setup, paper_size);
|
|
Packit Service |
fb6fa5 |
gtk_paper_size_free (paper_size);
|
|
Packit Service |
fb6fa5 |
|
|
Packit Service |
fb6fa5 |
gtk_page_setup_set_top_margin (setup, top, GTK_UNIT_MM);
|
|
Packit Service |
fb6fa5 |
gtk_page_setup_set_bottom_margin (setup, bottom, GTK_UNIT_MM);
|
|
Packit Service |
fb6fa5 |
gtk_page_setup_set_left_margin (setup, left, GTK_UNIT_MM);
|
|
Packit Service |
fb6fa5 |
gtk_page_setup_set_right_margin (setup, right, GTK_UNIT_MM);
|
|
Packit Service |
fb6fa5 |
|
|
Packit Service |
fb6fa5 |
orientation = g_key_file_get_string (key_file, group_name,
|
|
Packit Service |
fb6fa5 |
"Orientation", NULL);
|
|
Packit Service |
fb6fa5 |
if (orientation)
|
|
Packit Service |
fb6fa5 |
{
|
|
Packit Service |
fb6fa5 |
gtk_page_setup_set_orientation (setup,
|
|
Packit Service |
fb6fa5 |
string_to_enum (GTK_TYPE_PAGE_ORIENTATION,
|
|
Packit Service |
fb6fa5 |
orientation));
|
|
Packit Service |
fb6fa5 |
g_free (orientation);
|
|
Packit Service |
fb6fa5 |
}
|
|
Packit Service |
fb6fa5 |
|
|
Packit Service |
fb6fa5 |
retval = TRUE;
|
|
Packit Service |
fb6fa5 |
|
|
Packit Service |
fb6fa5 |
out:
|
|
Packit Service |
fb6fa5 |
g_free (freeme);
|
|
Packit Service |
fb6fa5 |
return retval;
|
|
Packit Service |
fb6fa5 |
}
|
|
Packit Service |
fb6fa5 |
|
|
Packit Service |
fb6fa5 |
/**
|
|
Packit Service |
fb6fa5 |
* gtk_page_setup_new_from_key_file:
|
|
Packit Service |
fb6fa5 |
* @key_file: the #GKeyFile to retrieve the page_setup from
|
|
Packit Service |
fb6fa5 |
* @group_name: (allow-none): the name of the group in the key_file to read, or %NULL
|
|
Packit Service |
fb6fa5 |
* to use the default name "Page Setup"
|
|
Packit Service |
fb6fa5 |
* @error: (allow-none): return location for an error, or %NULL
|
|
Packit Service |
fb6fa5 |
*
|
|
Packit Service |
fb6fa5 |
* Reads the page setup from the group @group_name in the key file
|
|
Packit Service |
fb6fa5 |
* @key_file. Returns a new #GtkPageSetup object with the restored
|
|
Packit Service |
fb6fa5 |
* page setup, or %NULL if an error occurred.
|
|
Packit Service |
fb6fa5 |
*
|
|
Packit Service |
fb6fa5 |
* Return value: the restored #GtkPageSetup
|
|
Packit Service |
fb6fa5 |
*
|
|
Packit Service |
fb6fa5 |
* Since: 2.12
|
|
Packit Service |
fb6fa5 |
*/
|
|
Packit Service |
fb6fa5 |
GtkPageSetup *
|
|
Packit Service |
fb6fa5 |
gtk_page_setup_new_from_key_file (GKeyFile *key_file,
|
|
Packit Service |
fb6fa5 |
const gchar *group_name,
|
|
Packit Service |
fb6fa5 |
GError **error)
|
|
Packit Service |
fb6fa5 |
{
|
|
Packit Service |
fb6fa5 |
GtkPageSetup *setup = gtk_page_setup_new ();
|
|
Packit Service |
fb6fa5 |
|
|
Packit Service |
fb6fa5 |
if (!gtk_page_setup_load_key_file (setup, key_file, group_name, error))
|
|
Packit Service |
fb6fa5 |
{
|
|
Packit Service |
fb6fa5 |
g_object_unref (setup);
|
|
Packit Service |
fb6fa5 |
setup = NULL;
|
|
Packit Service |
fb6fa5 |
}
|
|
Packit Service |
fb6fa5 |
|
|
Packit Service |
fb6fa5 |
return setup;
|
|
Packit Service |
fb6fa5 |
}
|
|
Packit Service |
fb6fa5 |
|
|
Packit Service |
fb6fa5 |
/**
|
|
Packit Service |
fb6fa5 |
* gtk_page_setup_to_file:
|
|
Packit Service |
fb6fa5 |
* @setup: a #GtkPageSetup
|
|
Packit Service |
fb6fa5 |
* @file_name: the file to save to
|
|
Packit Service |
fb6fa5 |
* @error: (allow-none): return location for errors, or %NULL
|
|
Packit Service |
fb6fa5 |
*
|
|
Packit Service |
fb6fa5 |
* This function saves the information from @setup to @file_name.
|
|
Packit Service |
fb6fa5 |
*
|
|
Packit Service |
fb6fa5 |
* Return value: %TRUE on success
|
|
Packit Service |
fb6fa5 |
*
|
|
Packit Service |
fb6fa5 |
* Since: 2.12
|
|
Packit Service |
fb6fa5 |
*/
|
|
Packit Service |
fb6fa5 |
gboolean
|
|
Packit Service |
fb6fa5 |
gtk_page_setup_to_file (GtkPageSetup *setup,
|
|
Packit Service |
fb6fa5 |
const char *file_name,
|
|
Packit Service |
fb6fa5 |
GError **error)
|
|
Packit Service |
fb6fa5 |
{
|
|
Packit Service |
fb6fa5 |
GKeyFile *key_file;
|
|
Packit Service |
fb6fa5 |
gboolean retval = FALSE;
|
|
Packit Service |
fb6fa5 |
char *data = NULL;
|
|
Packit Service |
fb6fa5 |
gsize len;
|
|
Packit Service |
fb6fa5 |
|
|
Packit Service |
fb6fa5 |
g_return_val_if_fail (GTK_IS_PAGE_SETUP (setup), FALSE);
|
|
Packit Service |
fb6fa5 |
g_return_val_if_fail (file_name != NULL, FALSE);
|
|
Packit Service |
fb6fa5 |
|
|
Packit Service |
fb6fa5 |
key_file = g_key_file_new ();
|
|
Packit Service |
fb6fa5 |
gtk_page_setup_to_key_file (setup, key_file, NULL);
|
|
Packit Service |
fb6fa5 |
|
|
Packit Service |
fb6fa5 |
data = g_key_file_to_data (key_file, &len, error);
|
|
Packit Service |
fb6fa5 |
if (!data)
|
|
Packit Service |
fb6fa5 |
goto out;
|
|
Packit Service |
fb6fa5 |
|
|
Packit Service |
fb6fa5 |
retval = g_file_set_contents (file_name, data, len, error);
|
|
Packit Service |
fb6fa5 |
|
|
Packit Service |
fb6fa5 |
out:
|
|
Packit Service |
fb6fa5 |
g_key_file_free (key_file);
|
|
Packit Service |
fb6fa5 |
g_free (data);
|
|
Packit Service |
fb6fa5 |
|
|
Packit Service |
fb6fa5 |
return retval;
|
|
Packit Service |
fb6fa5 |
}
|
|
Packit Service |
fb6fa5 |
|
|
Packit Service |
fb6fa5 |
/* something like this should really be in gobject! */
|
|
Packit Service |
fb6fa5 |
static char *
|
|
Packit Service |
fb6fa5 |
enum_to_string (GType type,
|
|
Packit Service |
fb6fa5 |
guint enum_value)
|
|
Packit Service |
fb6fa5 |
{
|
|
Packit Service |
fb6fa5 |
GEnumClass *enum_class;
|
|
Packit Service |
fb6fa5 |
GEnumValue *value;
|
|
Packit Service |
fb6fa5 |
char *retval = NULL;
|
|
Packit Service |
fb6fa5 |
|
|
Packit Service |
fb6fa5 |
enum_class = g_type_class_ref (type);
|
|
Packit Service |
fb6fa5 |
|
|
Packit Service |
fb6fa5 |
value = g_enum_get_value (enum_class, enum_value);
|
|
Packit Service |
fb6fa5 |
if (value)
|
|
Packit Service |
fb6fa5 |
retval = g_strdup (value->value_nick);
|
|
Packit Service |
fb6fa5 |
|
|
Packit Service |
fb6fa5 |
g_type_class_unref (enum_class);
|
|
Packit Service |
fb6fa5 |
|
|
Packit Service |
fb6fa5 |
return retval;
|
|
Packit Service |
fb6fa5 |
}
|
|
Packit Service |
fb6fa5 |
|
|
Packit Service |
fb6fa5 |
/**
|
|
Packit Service |
fb6fa5 |
* gtk_page_setup_to_key_file:
|
|
Packit Service |
fb6fa5 |
* @setup: a #GtkPageSetup
|
|
Packit Service |
fb6fa5 |
* @key_file: the #GKeyFile to save the page setup to
|
|
Packit Service |
fb6fa5 |
* @group_name: the group to add the settings to in @key_file,
|
|
Packit Service |
fb6fa5 |
* or %NULL to use the default name "Page Setup"
|
|
Packit Service |
fb6fa5 |
*
|
|
Packit Service |
fb6fa5 |
* This function adds the page setup from @setup to @key_file.
|
|
Packit Service |
fb6fa5 |
*
|
|
Packit Service |
fb6fa5 |
* Since: 2.12
|
|
Packit Service |
fb6fa5 |
*/
|
|
Packit Service |
fb6fa5 |
void
|
|
Packit Service |
fb6fa5 |
gtk_page_setup_to_key_file (GtkPageSetup *setup,
|
|
Packit Service |
fb6fa5 |
GKeyFile *key_file,
|
|
Packit Service |
fb6fa5 |
const gchar *group_name)
|
|
Packit Service |
fb6fa5 |
{
|
|
Packit Service |
fb6fa5 |
GtkPaperSize *paper_size;
|
|
Packit Service |
fb6fa5 |
char *orientation;
|
|
Packit Service |
fb6fa5 |
|
|
Packit Service |
fb6fa5 |
g_return_if_fail (GTK_IS_PAGE_SETUP (setup));
|
|
Packit Service |
fb6fa5 |
g_return_if_fail (key_file != NULL);
|
|
Packit Service |
fb6fa5 |
|
|
Packit Service |
fb6fa5 |
if (!group_name)
|
|
Packit Service |
fb6fa5 |
group_name = KEYFILE_GROUP_NAME;
|
|
Packit Service |
fb6fa5 |
|
|
Packit Service |
fb6fa5 |
paper_size = gtk_page_setup_get_paper_size (setup);
|
|
Packit Service |
fb6fa5 |
g_assert (paper_size != NULL);
|
|
Packit Service |
fb6fa5 |
|
|
Packit Service |
fb6fa5 |
gtk_paper_size_to_key_file (paper_size, key_file, group_name);
|
|
Packit Service |
fb6fa5 |
|
|
Packit Service |
fb6fa5 |
g_key_file_set_double (key_file, group_name,
|
|
Packit Service |
fb6fa5 |
"MarginTop", gtk_page_setup_get_top_margin (setup, GTK_UNIT_MM));
|
|
Packit Service |
fb6fa5 |
g_key_file_set_double (key_file, group_name,
|
|
Packit Service |
fb6fa5 |
"MarginBottom", gtk_page_setup_get_bottom_margin (setup, GTK_UNIT_MM));
|
|
Packit Service |
fb6fa5 |
g_key_file_set_double (key_file, group_name,
|
|
Packit Service |
fb6fa5 |
"MarginLeft", gtk_page_setup_get_left_margin (setup, GTK_UNIT_MM));
|
|
Packit Service |
fb6fa5 |
g_key_file_set_double (key_file, group_name,
|
|
Packit Service |
fb6fa5 |
"MarginRight", gtk_page_setup_get_right_margin (setup, GTK_UNIT_MM));
|
|
Packit Service |
fb6fa5 |
|
|
Packit Service |
fb6fa5 |
orientation = enum_to_string (GTK_TYPE_PAGE_ORIENTATION,
|
|
Packit Service |
fb6fa5 |
gtk_page_setup_get_orientation (setup));
|
|
Packit Service |
fb6fa5 |
g_key_file_set_string (key_file, group_name,
|
|
Packit Service |
fb6fa5 |
"Orientation", orientation);
|
|
Packit Service |
fb6fa5 |
g_free (orientation);
|
|
Packit Service |
fb6fa5 |
}
|
|
Packit Service |
fb6fa5 |
|
|
Packit Service |
fb6fa5 |
#define __GTK_PAGE_SETUP_C__
|
|
Packit Service |
fb6fa5 |
#include "gtkaliasdef.c"
|