* Boston, MA 02111-1307, USA.
*/
+#if defined(GTK_DISABLE_SINGLE_INCLUDES) && !defined (__GTK_H_INSIDE__) && !defined (GTK_COMPILATION)
+#error "Only <gtk/gtk.h> can be included directly."
+#endif
+
#ifndef __GTK_PRINT_OPERATION_H__
#define __GTK_PRINT_OPERATION_H__
-#include <glib-object.h>
+
#include <cairo.h>
-#include "gtkmain.h"
-#include "gtkenums.h"
-#include "gtkwindow.h"
-#include "gtkpagesetup.h"
-#include "gtkprintsettings.h"
-#include "gtkprintcontext.h"
-#include "gtkprintoperationpreview.h"
+#include <gtk/gtkmain.h>
+#include <gtk/gtkwindow.h>
+#include <gtk/gtkpagesetup.h>
+#include <gtk/gtkprintsettings.h>
+#include <gtk/gtkprintcontext.h>
+#include <gtk/gtkprintoperationpreview.h>
+
G_BEGIN_DECLS
GTK_PRINT_OPERATION_RESULT_ERROR,
GTK_PRINT_OPERATION_RESULT_APPLY,
GTK_PRINT_OPERATION_RESULT_CANCEL,
- GTK_PRINT_OPERATION_RESULT_PREVIEW,
GTK_PRINT_OPERATION_RESULT_IN_PROGRESS
} GtkPrintOperationResult;
GTK_PRINT_OPERATION_ACTION_PRINT_DIALOG,
GTK_PRINT_OPERATION_ACTION_PRINT,
GTK_PRINT_OPERATION_ACTION_PREVIEW,
- GTK_PRINT_OPERATION_ACTION_EXPORT,
+ GTK_PRINT_OPERATION_ACTION_EXPORT
} GtkPrintOperationAction;
struct _GtkPrintOperation
{
GObject parent_instance;
-
- GtkPrintOperationPrivate *priv;
+
+ GtkPrintOperationPrivate *GSEAL (priv);
};
struct _GtkPrintOperationClass
{
GObjectClass parent_class;
-
+
void (*done) (GtkPrintOperation *operation,
GtkPrintOperationResult result);
- void (*begin_print) (GtkPrintOperation *operation,
+ void (*begin_print) (GtkPrintOperation *operation,
GtkPrintContext *context);
- gboolean (*paginate) (GtkPrintOperation *operation,
+ gboolean (*paginate) (GtkPrintOperation *operation,
GtkPrintContext *context);
void (*request_page_setup) (GtkPrintOperation *operation,
GtkPrintContext *context,
GtkWidget *(*create_custom_widget) (GtkPrintOperation *operation);
void (*custom_widget_apply) (GtkPrintOperation *operation,
- GtkWidget *widget);
+ GtkWidget *widget);
-
gboolean (*preview) (GtkPrintOperation *operation,
- GtkPrintOperationPreview *preview,
+ GtkPrintOperationPreview *preview,
GtkPrintContext *context,
- GtkWindow *parent);
+ GtkWindow *parent);
+
+ void (*update_custom_widget) (GtkPrintOperation *operation,
+ GtkWidget *widget,
+ GtkPageSetup *setup,
+ GtkPrintSettings *settings);
/* Padding for future expansion */
void (*_gtk_reserved1) (void);
void (*_gtk_reserved4) (void);
void (*_gtk_reserved5) (void);
void (*_gtk_reserved6) (void);
- void (*_gtk_reserved7) (void);
};
#define GTK_PRINT_ERROR gtk_print_error_quark ()
{
GTK_PRINT_ERROR_GENERAL,
GTK_PRINT_ERROR_INTERNAL_ERROR,
- GTK_PRINT_ERROR_NOMEM
+ GTK_PRINT_ERROR_NOMEM,
+ GTK_PRINT_ERROR_INVALID_FILE
} GtkPrintError;
GQuark gtk_print_error_quark (void);
gboolean full_page);
void gtk_print_operation_set_unit (GtkPrintOperation *op,
GtkUnit unit);
-void gtk_print_operation_set_pdf_target (GtkPrintOperation *op,
+void gtk_print_operation_set_export_filename (GtkPrintOperation *op,
const gchar *filename);
void gtk_print_operation_set_track_print_status (GtkPrintOperation *op,
gboolean track_status);
GtkPrintOperationAction action,
GtkWindow *parent,
GError **error);
-GError * gtk_print_operation_get_error (GtkPrintOperation *op);
+void gtk_print_operation_get_error (GtkPrintOperation *op,
+ GError **error);
GtkPrintStatus gtk_print_operation_get_status (GtkPrintOperation *op);
G_CONST_RETURN gchar * gtk_print_operation_get_status_string (GtkPrintOperation *op);
gboolean gtk_print_operation_is_finished (GtkPrintOperation *op);
void gtk_print_operation_cancel (GtkPrintOperation *op);
+void gtk_print_operation_draw_page_finish (GtkPrintOperation *op);
+void gtk_print_operation_set_defer_drawing (GtkPrintOperation *op);
+void gtk_print_operation_set_support_selection (GtkPrintOperation *op,
+ gboolean support_selection);
+gboolean gtk_print_operation_get_support_selection (GtkPrintOperation *op);
+void gtk_print_operation_set_has_selection (GtkPrintOperation *op,
+ gboolean has_selection);
+gboolean gtk_print_operation_get_has_selection (GtkPrintOperation *op);
+void gtk_print_operation_set_embed_page_setup (GtkPrintOperation *op,
+ gboolean embed);
+gboolean gtk_print_operation_get_embed_page_setup (GtkPrintOperation *op);
+gint gtk_print_operation_get_n_pages_to_print (GtkPrintOperation *op);
GtkPageSetup *gtk_print_run_page_setup_dialog (GtkWindow *parent,
GtkPageSetup *page_setup,
GtkPrintSettings *settings);
-typedef void (* GtkPageSetupDoneFunc) (GtkPageSetup *page_setup,
+typedef void (* GtkPageSetupDoneFunc) (GtkPageSetup *page_setup,
gpointer data);
-void gtk_print_operation_run_async (GtkPrintOperation *op,
- GtkWindow *parent);
void gtk_print_run_page_setup_dialog_async (GtkWindow *parent,
GtkPageSetup *page_setup,
GtkPrintSettings *settings,