diff options
Diffstat (limited to 'docs')
-rw-r--r-- | docs/reference/ChangeLog | 20 | ||||
-rw-r--r-- | docs/reference/gtk/Makefile.am | 6 | ||||
-rw-r--r-- | docs/reference/gtk/gtk-docs.sgml | 22 | ||||
-rw-r--r-- | docs/reference/gtk/gtk-sections.txt | 330 | ||||
-rw-r--r-- | docs/reference/gtk/gtk.types | 9 | ||||
-rw-r--r-- | docs/reference/gtk/images/pagesetupdialog.png | bin | 0 -> 19758 bytes | |||
-rw-r--r-- | docs/reference/gtk/images/printdialog.png | bin | 0 -> 30969 bytes | |||
-rw-r--r-- | docs/reference/gtk/tmpl/gtkpagesetup.sgml | 251 | ||||
-rw-r--r-- | docs/reference/gtk/tmpl/gtkpagesetupunixdialog.sgml | 80 | ||||
-rw-r--r-- | docs/reference/gtk/tmpl/gtkpapersize.sgml | 275 | ||||
-rw-r--r-- | docs/reference/gtk/tmpl/gtkprintcontext.sgml | 175 | ||||
-rw-r--r-- | docs/reference/gtk/tmpl/gtkprinter.sgml | 163 | ||||
-rw-r--r-- | docs/reference/gtk/tmpl/gtkprintjob.sgml | 159 | ||||
-rw-r--r-- | docs/reference/gtk/tmpl/gtkprintoperation.sgml | 321 | ||||
-rw-r--r-- | docs/reference/gtk/tmpl/gtkprintsettings.sgml | 697 | ||||
-rw-r--r-- | docs/reference/gtk/tmpl/gtkprintunixdialog.sgml | 86 | ||||
-rw-r--r-- | docs/reference/gtk/visual_index.xml | 6 | ||||
-rw-r--r-- | docs/tools/widgets.c | 41 |
18 files changed, 2641 insertions, 0 deletions
diff --git a/docs/reference/ChangeLog b/docs/reference/ChangeLog index d6259339ee..66e5ef428f 100644 --- a/docs/reference/ChangeLog +++ b/docs/reference/ChangeLog @@ -1,3 +1,23 @@ +2006-04-21 Alexander Larsson <alexl@redhat.com> + + * gtk/Makefile.am: + * gtk/gtk-docs.sgml: + * gtk/gtk-sections.txt: + * gtk/gtk.types: + * gtk/images/pagesetupdialog.png: + * gtk/images/printdialog.png: + * gtk/tmpl/gtkpagesetup.sgml: + * gtk/tmpl/gtkpagesetupunixdialog.sgml: + * gtk/tmpl/gtkpapersize.sgml: + * gtk/tmpl/gtkprintcontext.sgml: + * gtk/tmpl/gtkprinter.sgml: + * gtk/tmpl/gtkprintjob.sgml: + * gtk/tmpl/gtkprintoperation.sgml: + * gtk/tmpl/gtkprintsettings.sgml: + * gtk/tmpl/gtkprintunixdialog.sgml: + * gtk/visual_index.xml: + Add docs for the printing support + 2006-04-17 Emmanuele Bassi <ebassi@cvs.gnome.org> * gtk/tmp/gtkicontheme.sgml: Fix the code of the look up example. diff --git a/docs/reference/gtk/Makefile.am b/docs/reference/gtk/Makefile.am index 4ceaa70889..3dc2b9b7dd 100644 --- a/docs/reference/gtk/Makefile.am +++ b/docs/reference/gtk/Makefile.am @@ -48,6 +48,10 @@ IGNORE_HFILES= \ gtkmnemonichash.h \ gtkpathbar.h \ gtkplugprivate.h \ + gtkprintbackend.h \ + gtkprinteroptionwidget.h \ + gtkprinter-private.h \ + gtkprintoperation-private.h \ gtkprivate.h \ gtkrbtree.h \ gtkrecentchooserdefault.h \ @@ -277,6 +281,8 @@ HTML_IMAGES = \ $(srcdir)/images/multiline-text.png \ $(srcdir)/images/notebook.png \ $(srcdir)/images/panes.png \ + $(srcdir)/images/pagesetupdialog.png \ + $(srcdir)/images/printdialog.png \ $(srcdir)/images/progressbar.png \ $(srcdir)/images/radio-group.png \ $(srcdir)/images/recentchooserdialog.png \ diff --git a/docs/reference/gtk/gtk-docs.sgml b/docs/reference/gtk/gtk-docs.sgml index 794769b17e..370a6dbaf8 100644 --- a/docs/reference/gtk/gtk-docs.sgml +++ b/docs/reference/gtk/gtk-docs.sgml @@ -84,6 +84,15 @@ <!ENTITY GtkPixmap SYSTEM "xml/gtkpixmap.xml"> <!ENTITY GtkPlug SYSTEM "xml/gtkplug.xml"> <!ENTITY GtkPreview SYSTEM "xml/gtkpreview.xml"> +<!ENTITY GtkPrintOperation SYSTEM "xml/gtkprintoperation.xml"> +<!ENTITY GtkPrintContext SYSTEM "xml/gtkprintcontext.xml"> +<!ENTITY GtkPrintSettings SYSTEM "xml/gtkprintsettings.xml"> +<!ENTITY GtkPageSetup SYSTEM "xml/gtkpagesetup.xml"> +<!ENTITY GtkPaperSize SYSTEM "xml/gtkpapersize.xml"> +<!ENTITY GtkPrinter SYSTEM "xml/gtkprinter.xml"> +<!ENTITY GtkPrintJob SYSTEM "xml/gtkprintjob.xml"> +<!ENTITY GtkPrintUnixDialog SYSTEM "xml/gtkprintunixdialog.xml"> +<!ENTITY GtkPageSetupUnixDialog SYSTEM "xml/gtkpagesetupunixdialog.xml"> <!ENTITY GtkProgress SYSTEM "xml/gtkprogress.xml"> <!ENTITY GtkProgressBar SYSTEM "xml/gtkprogressbar.xml"> <!ENTITY GtkRadioAction SYSTEM "xml/gtkradioaction.xml"> @@ -513,6 +522,19 @@ that is, GUI components such as <link linkend="GtkButton">GtkButton</link> or &GtkScrolledWindow; </chapter> + <chapter id="Printing"> + <title>Printing</title> + &GtkPrintOperation; + &GtkPrintContext; + &GtkPrintSettings; + &GtkPageSetup; + &GtkPaperSize; + &GtkPrintUnixDialog; + &GtkPrinter; + &GtkPrintJob; + &GtkPageSetupUnixDialog; + </chapter> + <chapter id="MiscObjects"> <title>Miscellaneous</title> &GtkAdjustment; diff --git a/docs/reference/gtk/gtk-sections.txt b/docs/reference/gtk/gtk-sections.txt index 5b4defd22f..48e832e898 100644 --- a/docs/reference/gtk/gtk-sections.txt +++ b/docs/reference/gtk/gtk-sections.txt @@ -6057,3 +6057,333 @@ gtk_icon_factory_get_type gtk_icon_set_get_type gtk_icon_source_get_type </SECTION> + + +<SECTION> +<FILE>gtkprintoperation</FILE> +<TITLE>High-level Printing API</TITLE> +GtkPrintOperation +GtkPrintStatus +GtkPrintOperationResult +GtkPrintError +GTK_PRINT_ERROR +gtk_print_error_quark +gtk_print_operation_new +gtk_print_operation_set_default_page_setup +gtk_print_operation_get_default_page_setup +gtk_print_operation_set_print_settings +gtk_print_operation_get_print_settings +gtk_print_operation_set_job_name +gtk_print_operation_set_nr_of_pages +gtk_print_operation_set_current_page +gtk_print_operation_set_use_full_page +gtk_print_operation_set_unit +gtk_print_operation_set_show_dialog +gtk_print_operation_set_pdf_target +gtk_print_operation_run +gtk_print_operation_get_status +gtk_print_operation_is_finished +gtk_print_run_page_setup_dialog + +<SUBSECTION Standard> +GTK_TYPE_PRINT_OPERATION +GTK_PRINT_OPERATION +GTK_IS_PRINT_OPERATION + +<SUBSECTION Private> +gtk_print_operation_get_type +GtkPrintOperationPrivate +</SECTION> + + +<SECTION> +<INCLUDE>gtk/gtkprintunixdialog.h</INCLUDE> +<FILE>gtkprintunixdialog</FILE> +<TITLE>GtkPrintUnixDialog</TITLE> +GtkPrintUnixDialog +gtk_print_unix_dialog_set_page_setup +gtk_print_unix_dialog_get_page_setup +gtk_print_unix_dialog_set_current_page +gtk_print_unix_dialog_get_current_page +gtk_print_unix_dialog_set_settings +gtk_print_unix_dialog_get_settings +gtk_print_unix_dialog_get_selected_printer + +<SUBSECTION Standard> +GTK_TYPE_PRINT_UNIX_DIALOG +GTK_PRINT_UNIX_DIALOG +GTK_PRINT_UNIX_DIALOG_CLASS +GTK_IS_PRINT_UNIX_DIALOG +GTK_IS_PRINT_UNIX_DIALOG_CLASS +GTK_PRINT_UNIX_DIALOG_GET_CLASS + +<SUBSECTION Private> +GtkPrintUnixDialogPrivate +gtk_print_unix_dialog_get_type +</SECTION> + + +<SECTION> +<FILE>gtkprinter</FILE> +<TITLE>GtkPrinter</TITLE> +GtkPrinter +GtkPrintBackend +gtk_printer_new +gtk_printer_get_backend +gtk_printer_get_name +gtk_printer_get_state_message +gtk_printer_get_description +gtk_printer_get_location +gtk_printer_get_icon_name +gtk_printer_get_job_count +gtk_printer_is_active +gtk_printer_is_virtual +gtk_printer_is_default + +<SUBSECTION Standard> +GTK_TYPE_PRINTER +GTK_PRINTER +GTK_PRINTER_CLASS +GTK_IS_PRINTER +GTK_IS_PRINTER_CLASS +GTK_PRINTER_GET_CLASS + +<SUBSECTION Private> +GtkPrinterPrivate +gtk_printer_get_type +</SECTION> + + +<SECTION> +<FILE>gtkprintsettings</FILE> +<TITLE>GtkPrintSettings</TITLE> +GtkPrintSettings +GtkPrintSettingsFunc +gtk_print_settings_new +gtk_print_settings_copy +gtk_print_settings_has_key +gtk_print_settings_get +gtk_print_settings_set +gtk_print_settings_unset +gtk_print_settings_foreach +gtk_print_settings_get_bool +gtk_print_settings_set_bool +gtk_print_settings_get_double +gtk_print_settings_get_double_with_default +gtk_print_settings_set_double +gtk_print_settings_get_length +gtk_print_settings_set_length +gtk_print_settings_get_int +gtk_print_settings_get_int_with_default +gtk_print_settings_set_int +gtk_print_settings_get_printer +gtk_print_settings_set_printer +GtkPageOrientation +gtk_print_settings_get_orientation +gtk_print_settings_set_orientation +gtk_print_settings_get_paper_size +gtk_print_settings_set_paper_size +gtk_print_settings_get_paper_width +gtk_print_settings_set_paper_width +gtk_print_settings_get_paper_height +gtk_print_settings_set_paper_height +gtk_print_settings_get_use_color +gtk_print_settings_set_use_color +gtk_print_settings_get_collate +gtk_print_settings_set_collate +gtk_print_settings_get_reverse +gtk_print_settings_set_reverse +GtkPrintDuplex +gtk_print_settings_get_duplex +gtk_print_settings_set_duplex +GtkPrintQuality +gtk_print_settings_get_quality +gtk_print_settings_set_quality +gtk_print_settings_get_num_copies +gtk_print_settings_set_num_copies +gtk_print_settings_get_number_up +gtk_print_settings_set_number_up +gtk_print_settings_get_resolution +gtk_print_settings_set_resolution +gtk_print_settings_get_scale +gtk_print_settings_set_scale +gtk_print_settings_get_print_to_file +gtk_print_settings_set_print_to_file +GtkPrintPages +gtk_print_settings_get_print_pages +gtk_print_settings_set_print_pages +GtkPageRange +gtk_print_settings_get_page_ranges +gtk_print_settings_set_page_ranges +GtkPageSet +gtk_print_settings_get_page_set +gtk_print_settings_set_page_set +gtk_print_settings_get_default_source +gtk_print_settings_set_default_source +gtk_print_settings_get_media_type +gtk_print_settings_set_media_type +gtk_print_settings_get_dither +gtk_print_settings_set_dither +gtk_print_settings_get_finishings +gtk_print_settings_set_finishings +gtk_print_settings_get_output_bin +gtk_print_settings_set_output_bin + +<SUBSECTION Standard> +GTK_TYPE_PRINT_SETTINGS +GTK_PRINT_SETTINGS +GTK_IS_PRINT_SETTINGS + +<SUBSECTION Private> +gtk_print_settings_get_type +</SECTION> + + +<SECTION> +<FILE>gtkpapersize</FILE> +<TITLE>GtkPaperSize</TITLE> +GtkPaperSize +GtkUnit +GTK_PAPER_NAME_A3 +GTK_PAPER_NAME_A4 +GTK_PAPER_NAME_A5 +GTK_PAPER_NAME_B5 +GTK_PAPER_NAME_LETTER +GTK_PAPER_NAME_EXECUTIVE +GTK_PAPER_NAME_LEGAL +gtk_paper_size_new +gtk_paper_size_new_from_ppd +gtk_paper_size_new_custom +gtk_paper_size_copy +gtk_paper_size_free +gtk_paper_size_is_equal +gtk_paper_size_get_name +gtk_paper_size_get_display_name +gtk_paper_size_get_ppd_name +gtk_paper_size_get_width +gtk_paper_size_get_height +gtk_paper_size_is_custom +gtk_paper_size_set_size +gtk_paper_size_get_default_top_margin +gtk_paper_size_get_default_bottom_margin +gtk_paper_size_get_default_left_margin +gtk_paper_size_get_default_right_margin +gtk_paper_size_get_default + +<SUBSECTION Standard> +GTK_TYPE_PAPER_SIZE +<SUBSECTION Private> +gtk_paper_size_get_type +</SECTION> + + +<SECTION> +<FILE>gtkpagesetup</FILE> +<TITLE>GtkPageSetup</TITLE> +GtkPageSetup +gtk_page_setup_new +gtk_page_setup_copy +gtk_page_setup_get_orientation +gtk_page_setup_set_orientation +gtk_page_setup_get_paper_size +gtk_page_setup_set_paper_size +gtk_page_setup_get_top_margin +gtk_page_setup_set_top_margin +gtk_page_setup_get_bottom_margin +gtk_page_setup_set_bottom_margin +gtk_page_setup_get_left_margin +gtk_page_setup_set_left_margin +gtk_page_setup_get_right_margin +gtk_page_setup_set_right_margin +gtk_page_setup_set_paper_size_and_default_margins +gtk_page_setup_get_paper_width +gtk_page_setup_get_paper_height +gtk_page_setup_get_page_width +gtk_page_setup_get_page_height + +<SUBSECTION Standard> +GTK_TYPE_PAGE_SETUP +GTK_PAGE_SETUP +GTK_IS_PAGE_SETUP + +<SUBSECTION Private> +gtk_page_setup_get_type +</SECTION> + + +<SECTION> +<FILE>gtkprintcontext</FILE> +<TITLE>GtkPrintContext</TITLE> +GtkPrintContext +gtk_print_context_get_cairo +gtk_print_context_get_page_setup +gtk_print_context_get_width +gtk_print_context_get_height +gtk_print_context_get_dpi_x +gtk_print_context_get_dpi_y +gtk_print_context_get_fontmap +gtk_print_context_create_context +gtk_print_context_create_layout + +<SUBSECTION Standard> +GTK_TYPE_PRINT_CONTEXT +GTK_PRINT_CONTEXT +GTK_IS_PRINT_CONTEXT + +<SUBSECTION Private> +gtk_print_context_get_type +</SECTION> + + +<SECTION> +<FILE>gtkprintjob</FILE> +<TITLE>GtkPrintJob</TITLE> +GtkPrintJob +GtkPrintJobCompleteFunc +gtk_print_job_new +gtk_print_job_get_settings +gtk_print_job_get_printer +gtk_print_job_get_title +gtk_print_job_get_status +gtk_print_job_set_source_file +gtk_print_job_get_surface +gtk_print_job_send + +<SUBSECTION Standard> +GTK_TYPE_PRINT_JOB +GTK_PRINT_JOB +GTK_PRINT_JOB_CLASS +GTK_IS_PRINT_JOB +GTK_IS_PRINT_JOB_CLASS +GTK_PRINT_JOB_GET_CLASS + +<SUBSECTION Private> +GtkPrintJobPrivate +gtk_print_job_get_type +</SECTION> + + +<SECTION> +<INCLUDE>gtk/gtkpagesetupunixdialog.h</INCLUDE> +<FILE>gtkpagesetupunixdialog</FILE> +<TITLE>GtkPageSetupUnixDialog</TITLE> +GtkPageSetupUnixDialog +gtk_page_setup_unix_dialog_new +gtk_page_setup_unix_dialog_set_page_setup +gtk_page_setup_unix_dialog_get_page_setup +gtk_page_setup_unix_dialog_set_print_settings +gtk_page_setup_unix_dialog_get_print_settings + +<SUBSECTION Standard> +GtkPageSetupUnixDialogClass +GTK_TYPE_PAGE_SETUP_UNIX_DIALOG +GTK_PAGE_SETUP_UNIX_DIALOG +GTK_PAGE_SETUP_UNIX_DIALOG_CLASS +GTK_IS_PAGE_SETUP_UNIX_DIALOG +GTK_IS_PAGE_SETUP_UNIX_DIALOG_CLASS +GTK_PAGE_SETUP_UNIX_DIALOG_GET_CLASS + +<SUBSECTION Private> +GtkPageSetupUnixDialogPrivate +gtk_page_setup_unix_dialog_get_type +</SECTION> diff --git a/docs/reference/gtk/gtk.types b/docs/reference/gtk/gtk.types index 9650289c71..89be3ba80e 100644 --- a/docs/reference/gtk/gtk.types +++ b/docs/reference/gtk/gtk.types @@ -96,10 +96,19 @@ gtk_notebook_get_type gtk_object_get_type gtk_old_editable_get_type gtk_option_menu_get_type +gtk_page_setup_get_type +gtk_page_setup_unix_dialog_get_type gtk_paned_get_type +gtk_paper_size_get_type gtk_pixmap_get_type gtk_plug_get_type gtk_preview_get_type +gtk_printer_get_type +gtk_print_context_get_type +gtk_print_job_get_type +gtk_print_operation_get_type +gtk_print_settings_get_type +gtk_print_unix_dialog_get_type gtk_progress_bar_get_type gtk_progress_get_type gtk_radio_action_get_type diff --git a/docs/reference/gtk/images/pagesetupdialog.png b/docs/reference/gtk/images/pagesetupdialog.png Binary files differnew file mode 100644 index 0000000000..7f79a2c8b2 --- /dev/null +++ b/docs/reference/gtk/images/pagesetupdialog.png diff --git a/docs/reference/gtk/images/printdialog.png b/docs/reference/gtk/images/printdialog.png Binary files differnew file mode 100644 index 0000000000..7645b7023b --- /dev/null +++ b/docs/reference/gtk/images/printdialog.png diff --git a/docs/reference/gtk/tmpl/gtkpagesetup.sgml b/docs/reference/gtk/tmpl/gtkpagesetup.sgml new file mode 100644 index 0000000000..1a15fb8d6a --- /dev/null +++ b/docs/reference/gtk/tmpl/gtkpagesetup.sgml @@ -0,0 +1,251 @@ +<!-- ##### SECTION Title ##### --> +GtkPageSetup + +<!-- ##### SECTION Short_Description ##### --> +Stores page setup information + +<!-- ##### SECTION Long_Description ##### --> +<para> +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 #GtkPrittntOperation 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. +</para> +<para id="print-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 <emphasis>minimal</emphasis> size for the layout +margins. +</para> +<para> +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. +</para> +<example> +<title>A page setup dialog</title> +<programlisting> +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; +} +</programlisting> +</example> +<para> +Printing support was added in GTK+ 2.10. +</para> + +<!-- ##### SECTION See_Also ##### --> +<para> + +</para> + +<!-- ##### SECTION Stability_Level ##### --> + + +<!-- ##### STRUCT GtkPageSetup ##### --> +<para> + +</para> + + +<!-- ##### FUNCTION gtk_page_setup_new ##### --> +<para> + +</para> + +@Returns: + + +<!-- ##### FUNCTION gtk_page_setup_copy ##### --> +<para> + +</para> + +@other: +@Returns: + + +<!-- ##### FUNCTION gtk_page_setup_get_orientation ##### --> +<para> + +</para> + +@setup: +@Returns: + + +<!-- ##### FUNCTION gtk_page_setup_set_orientation ##### --> +<para> + +</para> + +@setup: +@orientation: + + +<!-- ##### FUNCTION gtk_page_setup_get_paper_size ##### --> +<para> + +</para> + +@setup: +@Returns: + + +<!-- ##### FUNCTION gtk_page_setup_set_paper_size ##### --> +<para> + +</para> + +@setup: +@size: + + +<!-- ##### FUNCTION gtk_page_setup_get_top_margin ##### --> +<para> + +</para> + +@setup: +@unit: +@Returns: + + +<!-- ##### FUNCTION gtk_page_setup_set_top_margin ##### --> +<para> + +</para> + +@setup: +@margin: +@unit: + + +<!-- ##### FUNCTION gtk_page_setup_get_bottom_margin ##### --> +<para> + +</para> + +@setup: +@unit: +@Returns: + + +<!-- ##### FUNCTION gtk_page_setup_set_bottom_margin ##### --> +<para> + +</para> + +@setup: +@margin: +@unit: + + +<!-- ##### FUNCTION gtk_page_setup_get_left_margin ##### --> +<para> + +</para> + +@setup: +@unit: +@Returns: + + +<!-- ##### FUNCTION gtk_page_setup_set_left_margin ##### --> +<para> + +</para> + +@setup: +@margin: +@unit: + + +<!-- ##### FUNCTION gtk_page_setup_get_right_margin ##### --> +<para> + +</para> + +@setup: +@unit: +@Returns: + + +<!-- ##### FUNCTION gtk_page_setup_set_right_margin ##### --> +<para> + +</para> + +@setup: +@margin: +@unit: + + +<!-- ##### FUNCTION gtk_page_setup_set_paper_size_and_default_margins ##### --> +<para> + +</para> + +@setup: +@size: + + +<!-- ##### FUNCTION gtk_page_setup_get_paper_width ##### --> +<para> + +</para> + +@setup: +@unit: +@Returns: + + +<!-- ##### FUNCTION gtk_page_setup_get_paper_height ##### --> +<para> + +</para> + +@setup: +@unit: +@Returns: + + +<!-- ##### FUNCTION gtk_page_setup_get_page_width ##### --> +<para> + +</para> + +@setup: +@unit: +@Returns: + + +<!-- ##### FUNCTION gtk_page_setup_get_page_height ##### --> +<para> + +</para> + +@setup: +@unit: +@Returns: + + diff --git a/docs/reference/gtk/tmpl/gtkpagesetupunixdialog.sgml b/docs/reference/gtk/tmpl/gtkpagesetupunixdialog.sgml new file mode 100644 index 0000000000..c98752ab1a --- /dev/null +++ b/docs/reference/gtk/tmpl/gtkpagesetupunixdialog.sgml @@ -0,0 +1,80 @@ +<!-- ##### SECTION Title ##### --> +GtkPageSetupUnixDialog + +<!-- ##### SECTION Short_Description ##### --> +A page setup dialog + +<!-- ##### SECTION Long_Description ##### --> +<para> +GtkPageSetupUnixDialog implements a page setup dialog for platforms +which don't provide a native page setup dialog, like Unix. It can +be used very much like any other GTK+ dialog, at the cost of +the portability offered by the <link +linkend="gtk-High-level-Printing-API">high-level printing API</link> +</para> + +<para> +Printing support was added in GTK+ 2.10. +</para> + +<!-- ##### SECTION See_Also ##### --> +<para> + +</para> + + +<!-- ##### SECTION Stability_Level ##### --> + + +<!-- ##### STRUCT GtkPageSetupUnixDialog ##### --> +<para> + +</para> + + +<!-- ##### FUNCTION gtk_page_setup_unix_dialog_new ##### --> +<para> + +</para> + +@title: +@parent: +@Returns: + + +<!-- ##### FUNCTION gtk_page_setup_unix_dialog_set_page_setup ##### --> +<para> + +</para> + +@dialog: +@page_setup: + + +<!-- ##### FUNCTION gtk_page_setup_unix_dialog_get_page_setup ##### --> +<para> + +</para> + +@dialog: +@Returns: + + +<!-- ##### FUNCTION gtk_page_setup_unix_dialog_set_print_settings ##### --> +<para> + +</para> + +@dialog: +@print_settings: + + +<!-- ##### FUNCTION gtk_page_setup_unix_dialog_get_print_settings ##### --> +<para> + +</para> + +@dialog: +@Returns: + + diff --git a/docs/reference/gtk/tmpl/gtkpapersize.sgml b/docs/reference/gtk/tmpl/gtkpapersize.sgml new file mode 100644 index 0000000000..4298c4efc8 --- /dev/null +++ b/docs/reference/gtk/tmpl/gtkpapersize.sgml @@ -0,0 +1,275 @@ +<!-- ##### SECTION Title ##### --> +GtkPaperSize + +<!-- ##### SECTION Short_Description ##### --> +Support for named paper sizes + +<!-- ##### SECTION Long_Description ##### --> +<para> +GtkPaperSize handles paper sizes. It uses the standard called +"PWG 5101.1-2002 PWG: Standard for Media Standardized Names" +<!-- FIXME link here --> +to name the paper sizes (and to get the data for the page sizes). +In addition to standard paper sizes, GtkPaperSize allows to +construct custom paper sizes with arbitrary dimensions. +</para> +<para> +The #GtkPaperSize object stores not only the dimensions (width +and height) of a paper size and its name, it also provides +default <link linkend="print-margins">print margins</link>. +</para> + +<para> +Printing support has been added in GTK+ 2.10. +</para> + +<!-- ##### SECTION See_Also ##### --> +<para> +#GtkPageSetup +</para> + + +<!-- ##### SECTION Stability_Level ##### --> + + +<!-- ##### STRUCT GtkPaperSize ##### --> +<para> + +</para> + + +<!-- ##### ENUM GtkUnit ##### --> +<para> + +</para> + +@GTK_UNIT_PIXEL: +@GTK_UNIT_POINTS: +@GTK_UNIT_INCH: +@GTK_UNIT_MM: + +<!-- ##### MACRO GTK_PAPER_NAME_A3 ##### --> +<para> + +</para> + + + +<!-- ##### MACRO GTK_PAPER_NAME_A4 ##### --> +<para> + +</para> + + + +<!-- ##### MACRO GTK_PAPER_NAME_A5 ##### --> +<para> + +</para> + + + +<!-- ##### MACRO GTK_PAPER_NAME_B5 ##### --> +<para> + +</para> + + + +<!-- ##### MACRO GTK_PAPER_NAME_LETTER ##### --> +<para> + +</para> + + + +<!-- ##### MACRO GTK_PAPER_NAME_EXECUTIVE ##### --> +<para> + +</para> + + + +<!-- ##### MACRO GTK_PAPER_NAME_LEGAL ##### --> +<para> + +</para> + + + +<!-- ##### FUNCTION gtk_paper_size_new ##### --> +<para> + +</para> + +@name: +@Returns: + + +<!-- ##### FUNCTION gtk_paper_size_new_from_ppd ##### --> +<para> + +</para> + +@ppd_name: +@ppd_display_name: +@width: +@height: +@Returns: + + +<!-- ##### FUNCTION gtk_paper_size_new_custom ##### --> +<para> + +</para> + +@name: +@display_name: +@width: +@height: +@unit: +@Returns: + + +<!-- ##### FUNCTION gtk_paper_size_copy ##### --> +<para> + +</para> + +@other: +@Returns: + + +<!-- ##### FUNCTION gtk_paper_size_free ##### --> +<para> + +</para> + +@size: + + +<!-- ##### FUNCTION gtk_paper_size_is_equal ##### --> +<para> + +</para> + +@size1: +@size2: +@Returns: + + +<!-- ##### FUNCTION gtk_paper_size_get_name ##### --> +<para> + +</para> + +@size: +@Returns: + + +<!-- ##### FUNCTION gtk_paper_size_get_display_name ##### --> +<para> + +</para> + +@size: +@Returns: + + +<!-- ##### FUNCTION gtk_paper_size_get_ppd_name ##### --> +<para> + +</para> + +@size: +@Returns: + + +<!-- ##### FUNCTION gtk_paper_size_get_width ##### --> +<para> + +</para> + +@size: +@unit: +@Returns: + + +<!-- ##### FUNCTION gtk_paper_size_get_height ##### --> +<para> + +</para> + +@size: +@unit: +@Returns: + + +<!-- ##### FUNCTION gtk_paper_size_is_custom ##### --> +<para> + +</para> + +@size: +@Returns: + + +<!-- ##### FUNCTION gtk_paper_size_set_size ##### --> +<para> + +</para> + +@size: +@width: +@height: +@unit: + + +<!-- ##### FUNCTION gtk_paper_size_get_default_top_margin ##### --> +<para> + +</para> + +@size: +@unit: +@Returns: + + +<!-- ##### FUNCTION gtk_paper_size_get_default_bottom_margin ##### --> +<para> + +</para> + +@size: +@unit: +@Returns: + + +<!-- ##### FUNCTION gtk_paper_size_get_default_left_margin ##### --> +<para> + +</para> + +@size: +@unit: +@Returns: + + +<!-- ##### FUNCTION gtk_paper_size_get_default_right_margin ##### --> +<para> + +</para> + +@size: +@unit: +@Returns: + + +<!-- ##### FUNCTION gtk_paper_size_get_default ##### --> +<para> + +</para> + +@Returns: + + diff --git a/docs/reference/gtk/tmpl/gtkprintcontext.sgml b/docs/reference/gtk/tmpl/gtkprintcontext.sgml new file mode 100644 index 0000000000..26a2651da6 --- /dev/null +++ b/docs/reference/gtk/tmpl/gtkprintcontext.sgml @@ -0,0 +1,175 @@ +<!-- ##### SECTION Title ##### --> +GtkPrintContext + +<!-- ##### SECTION Short_Description ##### --> +Encapsulates context for drawing pages + +<!-- ##### SECTION Long_Description ##### --> +<para> +A GtkPrintContext encapsulates context information that is required when +drawing pages for printing, such as the cairo context and important +parameters like page size and resolution. It also lets you easily +create #PangoLayout and #PangoContext objects that match the font metrics +of the cairo surface. +</para> +<para> +GtkPrintContext objects gets passed to the ::begin-print, ::end-print, +::request-page-setup and ::draw-page signals on the #GtkPrintOperation. +</para> + +<example> +<title>Using GtkPrintContext in a ::draw-page callback</title> +<programlisting> +static void +draw_page (GtkPrintOperation *operation, + GtkPrintContext *context, + int page_nr) +{ + cairo_t *cr; + PangoLayout *layout; + PangoFontDescription *desc; + + cr = gtk_print_context_get_cairo (context); + + /* Draw a red rectangle, as wide as the paper (inside the margins) */ + cairo_set_source_rgb (cr, 1.0, 0, 0); + cairo_rectangle (cr, 0, 0, gtk_print_context_get_width (context), 50); + + cairo_fill (cr); + + /* Draw some lines */ + cairo_move_to (cr, 20, 10); + cairo_line_to (cr, 40, 20); + cairo_arc (cr, 60, 60, 20, 0, M_PI); + cairo_line_to (cr, 80, 20); + + cairo_set_source_rgb (cr, 0, 0, 0); + cairo_set_line_width (cr, 5); + cairo_set_line_cap (cr, CAIRO_LINE_CAP_ROUND); + cairo_set_line_join (cr, CAIRO_LINE_JOIN_ROUND); + + cairo_stroke (cr); + + /* Draw some text */ + layout = gtk_print_context_create_layout (context); + pango_layout_set_text (layout, "Hello World! Printing is easy", -1); + desc = pango_font_description_from_string ("sans 28"); + pango_layout_set_font_description (layout, desc); + pango_font_description_free (desc); + + cairo_move_to (cr, 30, 20); + pango_cairo_layout_path (cr, layout); + + /* Font Outline */ + cairo_set_source_rgb (cr, 0.93, 1.0, 0.47); + cairo_set_line_width (cr, 0.5); + cairo_stroke_preserve (cr); + + /* Font Fill */ + cairo_set_source_rgb (cr, 0, 0.0, 1.0); + cairo_fill (cr); + + g_object_unref (layout); +} +</programlisting> +</example> + +<para> +Printing support was added in GTK+ 2.10. +</para> + +<!-- ##### SECTION See_Also ##### --> +<para> + +</para> + +<!-- ##### SECTION Stability_Level ##### --> + + +<!-- ##### STRUCT GtkPrintContext ##### --> +<para> + +</para> + + +<!-- ##### FUNCTION gtk_print_context_get_cairo ##### --> +<para> + +</para> + +@context: +@Returns: + + +<!-- ##### FUNCTION gtk_print_context_get_page_setup ##### --> +<para> + +</para> + +@context: +@Returns: + + +<!-- ##### FUNCTION gtk_print_context_get_width ##### --> +<para> + +</para> + +@context: +@Returns: + + +<!-- ##### FUNCTION gtk_print_context_get_height ##### --> +<para> + +</para> + +@context: +@Returns: + + +<!-- ##### FUNCTION gtk_print_context_get_dpi_x ##### --> +<para> + +</para> + +@context: +@Returns: + + +<!-- ##### FUNCTION gtk_print_context_get_dpi_y ##### --> +<para> + +</para> + +@context: +@Returns: + + +<!-- ##### FUNCTION gtk_print_context_get_fontmap ##### --> +<para> + +</para> + +@context: +@Returns: + + +<!-- ##### FUNCTION gtk_print_context_create_context ##### --> +<para> + +</para> + +@context: +@Returns: + + +<!-- ##### FUNCTION gtk_print_context_create_layout ##### --> +<para> + +</para> + +@context: +@Returns: + + diff --git a/docs/reference/gtk/tmpl/gtkprinter.sgml b/docs/reference/gtk/tmpl/gtkprinter.sgml new file mode 100644 index 0000000000..36f0da6970 --- /dev/null +++ b/docs/reference/gtk/tmpl/gtkprinter.sgml @@ -0,0 +1,163 @@ +<!-- ##### SECTION Title ##### --> +GtkPrinter + +<!-- ##### SECTION Short_Description ##### --> +Represents a printer + +<!-- ##### SECTION Long_Description ##### --> +<para> +A #GtkPrinter object represents a printer. You only need to +deal directly with printers if you use the non-portable +#GtkPrintUnixDialog API. +</para> +<para> +A #GtkPrinter allows to get status information about the printer, +such as its description, its location, the number of queued jobs, +etc. Most importantly, a #GtkPrinter object can be used to create +a #GtkPrintJob object, which lets you print to the printer. +</para> + +<para> +Printing support was added in GTK+ 2.10. +</para> + +<!-- ##### SECTION See_Also ##### --> +<para> + +</para> + +<!-- ##### SECTION Stability_Level ##### --> + + +<!-- ##### STRUCT GtkPrinter ##### --> +<para> + +</para> + + +<!-- ##### SIGNAL GtkPrinter::details-acquired ##### --> +<para> + +</para> + +@printer: the object which received the signal. +@arg1: + +<!-- ##### ARG GtkPrinter:backend ##### --> +<para> + +</para> + +<!-- ##### ARG GtkPrinter:icon-name ##### --> +<para> + +</para> + +<!-- ##### ARG GtkPrinter:is-virtual ##### --> +<para> + +</para> + +<!-- ##### ARG GtkPrinter:job-count ##### --> +<para> + +</para> + +<!-- ##### ARG GtkPrinter:location ##### --> +<para> + +</para> + +<!-- ##### ARG GtkPrinter:name ##### --> +<para> + +</para> + +<!-- ##### ARG GtkPrinter:state-message ##### --> +<para> + +</para> + +<!-- ##### FUNCTION gtk_printer_new ##### --> +<para> + +</para> + +@name: +@backend: +@virtual: +@Returns: + + +<!-- ##### FUNCTION gtk_printer_get_backend ##### --> +<para> + +</para> + +@printer: +@Returns: + + +<!-- ##### FUNCTION gtk_printer_get_name ##### --> +<para> + +</para> + +@printer: +@Returns: + + +<!-- ##### FUNCTION gtk_printer_get_state_message ##### --> +<para> + +</para> + +@printer: +@Returns: + + +<!-- ##### FUNCTION gtk_printer_get_location ##### --> +<para> + +</para> + +@printer: +@Returns: + + +<!-- ##### FUNCTION gtk_printer_get_icon_name ##### --> +<para> + +</para> + +@printer: +@Returns: + + +<!-- ##### FUNCTION gtk_printer_get_job_count ##### --> +<para> + +</para> + +@printer: +@Returns: + + +<!-- ##### FUNCTION gtk_printer_is_active ##### --> +<para> + +</para> + +@printer: +@Returns: + + +<!-- ##### FUNCTION gtk_printer_is_virtual ##### --> +<para> + +</para> + +@printer: +@Returns: + + diff --git a/docs/reference/gtk/tmpl/gtkprintjob.sgml b/docs/reference/gtk/tmpl/gtkprintjob.sgml new file mode 100644 index 0000000000..1d94ddc42e --- /dev/null +++ b/docs/reference/gtk/tmpl/gtkprintjob.sgml @@ -0,0 +1,159 @@ +<!-- ##### SECTION Title ##### --> +GtkPrintJob + +<!-- ##### SECTION Short_Description ##### --> +Represents a print job + +<!-- ##### SECTION Long_Description ##### --> +<para> +A #GtkPrintJob object represents a job that is sent to a +printer. You only need to deal directly with print jobs if +you use the non-portable #GtkPrintUnixDialog API. +</para> +<para> +Use gtk_print_job_get_surface() to obtain the cairo surface +onto which the pages must be drawn. Use gtk_print_job_send() +to send the finished job to the printer. If you don't use cairo +#GtkPrintJob also supports printing of manually generated postscript, +via gtk_print_job_set_source_file(). +<!-- FIXME more details needed here --> +</para> +<!-- FIXME examples ? --> + +<para> +Printing support was added in GTK+ 2.10. +</para> + +<!-- ##### SECTION See_Also ##### --> +<para> + +</para> + +<!-- ##### SECTION Stability_Level ##### --> + + +<!-- ##### STRUCT GtkPrintJob ##### --> +<para> + +</para> + + +<!-- ##### SIGNAL GtkPrintJob::status-changed ##### --> +<para> + +</para> + +@printjob: the object which received the signal. + +<!-- ##### ARG GtkPrintJob:page-setup ##### --> +<para> + +</para> + +<!-- ##### ARG GtkPrintJob:printer ##### --> +<para> + +</para> + +<!-- ##### ARG GtkPrintJob:settings ##### --> +<para> + +</para> + +<!-- ##### ARG GtkPrintJob:title ##### --> +<para> + +</para> + +<!-- ##### USER_FUNCTION GtkPrintJobCompleteFunc ##### --> +<para> + +</para> + +@print_job: +@user_data: +@error: + + +<!-- ##### FUNCTION gtk_print_job_new ##### --> +<para> + +</para> + +@title: +@printer: +@settings: +@page_setup: +@Returns: + + +<!-- ##### FUNCTION gtk_print_job_get_settings ##### --> +<para> + +</para> + +@print_job: +@Returns: + + +<!-- ##### FUNCTION gtk_print_job_get_printer ##### --> +<para> + +</para> + +@print_job: +@Returns: + + +<!-- ##### FUNCTION gtk_print_job_get_title ##### --> +<para> + +</para> + +@print_job: +@Returns: + + +<!-- ##### FUNCTION gtk_print_job_get_status ##### --> +<para> + +</para> + +@print_job: +@Returns: + + +<!-- ##### FUNCTION gtk_print_job_set_source_file ##### --> +<para> + +</para> + +@print_job: +@filename: +@error: +@Returns: + + +<!-- ##### FUNCTION gtk_print_job_get_surface ##### --> +<para> + +</para> + +@print_job: +@error: +@Returns: + + +<!-- ##### FUNCTION gtk_print_job_send ##### --> +<para> + +</para> + +@print_job: +@callback: +@user_data: +@dnotify: +@error: +@Returns: + + diff --git a/docs/reference/gtk/tmpl/gtkprintoperation.sgml b/docs/reference/gtk/tmpl/gtkprintoperation.sgml new file mode 100644 index 0000000000..00e26dd40b --- /dev/null +++ b/docs/reference/gtk/tmpl/gtkprintoperation.sgml @@ -0,0 +1,321 @@ +<!-- ##### SECTION Title ##### --> +GtkPrintOperation + +<!-- ##### SECTION Short_Description ##### --> +High-level Printing API + +<!-- ##### SECTION Long_Description ##### --> +<para> +GtkPrintOperation is the high-level, portable printing API. It looks +a bit different than other GTK+ dialogs such as the #GtkFileChooser, +since some platforms don't expose enough infrastructure to implement +a good print dialog. On such platforms, GtkPrintOperation uses the +native print dialog. On platforms which do not provide a native +print dialog, GTK+ uses its own, see #GtkPrintUnixDialog. +</para> + +<para> +The typical way to use the high-level printing API is to create a +#GtkPrintOperation object with gtk_print_operation_new() when the user +selects to print. Then you set some properties on it, e.g. the page size, +any #GtkPrintSettings from previous print operations, the number of pages, +the current page, etc. +</para> +<para> +Then you start the print operation by calling gtk_print_operation_run(). +It will then show a dialog, let the user select a printer and options. +When the user finished the dialog various signals will be emitted on the +#GtkPrintOperation, the main one being ::draw-page, which you are supposed +to catch and render the page on the provided #GtkPrintContext using Cairo. +</para> + +<example> +<title>The high-level printing API</title> +<programlisting> +static GtkPrintSettings *settings = NULL; + +static void +do_print (void) +{ + GtkPrintOperation *print; + GtkPrintOperationResult res; + + print = gtk_print_operation_new (<!-- -->); + + if (settings != NULL) + gtk_print_operation_set_print_settings (print, settings); + + g_signal_connect (print, "begin_print", G_CALLBACK (begin_print), NULL); + g_signal_connect (print, "draw_page", G_CALLBACK (draw_page), NULL); + + res = gtk_print_operation_run (print, GTK_WINDOW (main_window), NULL); + + if (res == GTK_PRINT_OPERATION_RESULT_APPLY) + { + if (settings != NULL) + g_object_unref (settings); + settings = g_object_ref (gtk_print_operation_get_print_settings (print)); + } + + g_object_unref (print); +} + +</programlisting> +</example> + +<para> +Printing support was added in GTK+ 2.10. +</para> + + +<!-- ##### SECTION See_Also ##### --> +<para> +#GtkPrintContext, #GtkPrintUnixDialog +</para> + +<!-- ##### SECTION Stability_Level ##### --> + + +<!-- ##### STRUCT GtkPrintOperation ##### --> +<para> + +</para> + + +<!-- ##### SIGNAL GtkPrintOperation::begin-print ##### --> +<para> + +</para> + +@printoperation: the object which received the signal. +@arg1: + +<!-- ##### SIGNAL GtkPrintOperation::draw-page ##### --> +<para> + +</para> + +@printoperation: the object which received the signal. +@arg1: +@arg2: + +<!-- ##### SIGNAL GtkPrintOperation::end-print ##### --> +<para> + +</para> + +@printoperation: the object which received the signal. +@arg1: + +<!-- ##### SIGNAL GtkPrintOperation::request-page-setup ##### --> +<para> + +</para> + +@printoperation: the object which received the signal. +@arg1: +@arg2: +@arg3: + +<!-- ##### SIGNAL GtkPrintOperation::status-changed ##### --> +<para> + +</para> + +@printoperation: the object which received the signal. + +<!-- ##### ENUM GtkPrintStatus ##### --> +<para> + +</para> + +@GTK_PRINT_STATUS_INITIAL: +@GTK_PRINT_STATUS_PREPARING: +@GTK_PRINT_STATUS_GENERATING_DATA: +@GTK_PRINT_STATUS_SENDING_DATA: +@GTK_PRINT_STATUS_PENDING: +@GTK_PRINT_STATUS_PENDING_ISSUE: +@GTK_PRINT_STATUS_PRINTING: +@GTK_PRINT_STATUS_FINISHED: +@GTK_PRINT_STATUS_FINISHED_ABORTED: + +<!-- ##### ENUM GtkPrintOperationResult ##### --> +<para> + +</para> + +@GTK_PRINT_OPERATION_RESULT_ERROR: +@GTK_PRINT_OPERATION_RESULT_APPLY: +@GTK_PRINT_OPERATION_RESULT_CANCEL: + +<!-- ##### ENUM GtkPrintError ##### --> +<para> + +</para> + +@GTK_PRINT_ERROR_GENERAL: +@GTK_PRINT_ERROR_INTERNAL_ERROR: +@GTK_PRINT_ERROR_NOMEM: + +<!-- ##### MACRO GTK_PRINT_ERROR ##### --> +<para> + +</para> + + + +<!-- ##### FUNCTION gtk_print_error_quark ##### --> +<para> + +</para> + +@Returns: + + +<!-- ##### FUNCTION gtk_print_operation_new ##### --> +<para> + +</para> + +@Returns: + + +<!-- ##### FUNCTION gtk_print_operation_set_default_page_setup ##### --> +<para> + +</para> + +@op: +@default_page_setup: + + +<!-- ##### FUNCTION gtk_print_operation_get_default_page_setup ##### --> +<para> + +</para> + +@op: +@Returns: + + +<!-- ##### FUNCTION gtk_print_operation_set_print_settings ##### --> +<para> + +</para> + +@op: +@print_settings: + + +<!-- ##### FUNCTION gtk_print_operation_get_print_settings ##### --> +<para> + +</para> + +@op: +@Returns: + + +<!-- ##### FUNCTION gtk_print_operation_set_job_name ##### --> +<para> + +</para> + +@op: +@job_name: + + +<!-- ##### FUNCTION gtk_print_operation_set_nr_of_pages ##### --> +<para> + +</para> + +@op: +@n_pages: + + +<!-- ##### FUNCTION gtk_print_operation_set_current_page ##### --> +<para> + +</para> + +@op: +@current_page: + + +<!-- ##### FUNCTION gtk_print_operation_set_use_full_page ##### --> +<para> + +</para> + +@op: +@full_page: + + +<!-- ##### FUNCTION gtk_print_operation_set_unit ##### --> +<para> + +</para> + +@op: +@unit: + + +<!-- ##### FUNCTION gtk_print_operation_set_show_dialog ##### --> +<para> + +</para> + +@op: +@show_dialog: + + +<!-- ##### FUNCTION gtk_print_operation_set_pdf_target ##### --> +<para> + +</para> + +@op: +@filename: + + +<!-- ##### FUNCTION gtk_print_operation_run ##### --> +<para> + +</para> + +@op: +@parent: +@error: +@Returns: + + +<!-- ##### FUNCTION gtk_print_operation_get_status ##### --> +<para> + +</para> + +@op: +@Returns: + + +<!-- ##### FUNCTION gtk_print_operation_is_finished ##### --> +<para> + +</para> + +@op: +@Returns: + + +<!-- ##### FUNCTION gtk_print_run_page_setup_dialog ##### --> +<para> + +</para> + +@parent: +@page_setup: +@settings: +@Returns: + + diff --git a/docs/reference/gtk/tmpl/gtkprintsettings.sgml b/docs/reference/gtk/tmpl/gtkprintsettings.sgml new file mode 100644 index 0000000000..b9d9a4f999 --- /dev/null +++ b/docs/reference/gtk/tmpl/gtkprintsettings.sgml @@ -0,0 +1,697 @@ +<!-- ##### SECTION Title ##### --> +GtkPrintSettings + +<!-- ##### SECTION Short_Description ##### --> +Stores print settings + +<!-- ##### SECTION Long_Description ##### --> +<para> +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. +</para> +<para> +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. +</para> + +<!-- TODO example of getting, storing and setting settings --> + +<para> +Printing support was added in GTK+ 2.10. +</para> + +<!-- ##### SECTION See_Also ##### --> +<para> + +</para> + + +<!-- ##### SECTION Stability_Level ##### --> + + +<!-- ##### STRUCT GtkPrintSettings ##### --> +<para> + +</para> + + +<!-- ##### USER_FUNCTION GtkPrintSettingsFunc ##### --> +<para> + +</para> + +@key: +@value: +@user_data: + + +<!-- ##### FUNCTION gtk_print_settings_new ##### --> +<para> + +</para> + +@Returns: + + +<!-- ##### FUNCTION gtk_print_settings_copy ##### --> +<para> + +</para> + +@other: +@Returns: + + +<!-- ##### FUNCTION gtk_print_settings_has_key ##### --> +<para> + +</para> + +@settings: +@key: +@Returns: + + +<!-- ##### FUNCTION gtk_print_settings_get ##### --> +<para> + +</para> + +@settings: +@key: +@Returns: + + +<!-- ##### FUNCTION gtk_print_settings_set ##### --> +<para> + +</para> + +@settings: +@key: +@value: + + +<!-- ##### FUNCTION gtk_print_settings_unset ##### --> +<para> + +</para> + +@settings: +@key: + + +<!-- ##### FUNCTION gtk_print_settings_foreach ##### --> +<para> + +</para> + +@settings: +@func: +@user_data: + + +<!-- ##### FUNCTION gtk_print_settings_get_bool ##### --> +<para> + +</para> + +@settings: +@key: +@Returns: + + +<!-- ##### FUNCTION gtk_print_settings_set_bool ##### --> +<para> + +</para> + +@settings: +@key: +@value: + + +<!-- ##### FUNCTION gtk_print_settings_get_double ##### --> +<para> + +</para> + +@settings: +@key: +@Returns: + + +<!-- ##### FUNCTION gtk_print_settings_get_double_with_default ##### --> +<para> + +</para> + +@settings: +@key: +@def: +@Returns: + + +<!-- ##### FUNCTION gtk_print_settings_set_double ##### --> +<para> + +</para> + +@settings: +@key: +@value: + + +<!-- ##### FUNCTION gtk_print_settings_get_length ##### --> +<para> + +</para> + +@settings: +@key: +@unit: +@Returns: + + +<!-- ##### FUNCTION gtk_print_settings_set_length ##### --> +<para> + +</para> + +@settings: +@key: +@value: +@unit: + + +<!-- ##### FUNCTION gtk_print_settings_get_int ##### --> +<para> + +</para> + +@settings: +@key: +@Returns: + + +<!-- ##### FUNCTION gtk_print_settings_get_int_with_default ##### --> +<para> + +</para> + +@settings: +@key: +@def: +@Returns: + + +<!-- ##### FUNCTION gtk_print_settings_set_int ##### --> +<para> + +</para> + +@settings: +@key: +@value: + + +<!-- ##### FUNCTION gtk_print_settings_get_printer ##### --> +<para> + +</para> + +@settings: +@Returns: + + +<!-- ##### FUNCTION gtk_print_settings_set_printer ##### --> +<para> + +</para> + +@settings: +@printer: + + +<!-- ##### ENUM GtkPageOrientation ##### --> +<para> + +</para> + +@GTK_PAGE_ORIENTATION_PORTRAIT: +@GTK_PAGE_ORIENTATION_LANDSCAPE: +@GTK_PAGE_ORIENTATION_REVERSE_PORTRAIT: +@GTK_PAGE_ORIENTATION_REVERSE_LANDSCAPE: + +<!-- ##### FUNCTION gtk_print_settings_get_orientation ##### --> +<para> + +</para> + +@settings: +@Returns: + + +<!-- ##### FUNCTION gtk_print_settings_set_orientation ##### --> +<para> + +</para> + +@settings: +@orientation: + + +<!-- ##### FUNCTION gtk_print_settings_get_paper_size ##### --> +<para> + +</para> + +@settings: +@Returns: + + +<!-- ##### FUNCTION gtk_print_settings_set_paper_size ##### --> +<para> + +</para> + +@settings: +@paper_size: + + +<!-- ##### FUNCTION gtk_print_settings_get_paper_width ##### --> +<para> + +</para> + +@settings: +@unit: +@Returns: + + +<!-- ##### FUNCTION gtk_print_settings_set_paper_width ##### --> +<para> + +</para> + +@settings: +@width: +@unit: + + +<!-- ##### FUNCTION gtk_print_settings_get_paper_height ##### --> +<para> + +</para> + +@settings: +@unit: +@Returns: + + +<!-- ##### FUNCTION gtk_print_settings_set_paper_height ##### --> +<para> + +</para> + +@settings: +@width: +@unit: + + +<!-- ##### FUNCTION gtk_print_settings_get_use_color ##### --> +<para> + +</para> + +@settings: +@Returns: + + +<!-- ##### FUNCTION gtk_print_settings_set_use_color ##### --> +<para> + +</para> + +@settings: +@use_color: + + +<!-- ##### FUNCTION gtk_print_settings_get_collate ##### --> +<para> + +</para> + +@settings: +@Returns: + + +<!-- ##### FUNCTION gtk_print_settings_set_collate ##### --> +<para> + +</para> + +@settings: +@collate: + + +<!-- ##### FUNCTION gtk_print_settings_get_reverse ##### --> +<para> + +</para> + +@settings: +@Returns: + + +<!-- ##### FUNCTION gtk_print_settings_set_reverse ##### --> +<para> + +</para> + +@settings: +@reverse: + + +<!-- ##### ENUM GtkPrintDuplex ##### --> +<para> + +</para> + +@GTK_PRINT_DUPLEX_SIMPLEX: +@GTK_PRINT_DUPLEX_HORIZONTAL: +@GTK_PRINT_DUPLEX_VERTICAL: + +<!-- ##### FUNCTION gtk_print_settings_get_duplex ##### --> +<para> + +</para> + +@settings: +@Returns: + + +<!-- ##### FUNCTION gtk_print_settings_set_duplex ##### --> +<para> + +</para> + +@settings: +@duplex: + + +<!-- ##### ENUM GtkPrintQuality ##### --> +<para> + +</para> + +@GTK_PRINT_QUALITY_LOW: +@GTK_PRINT_QUALITY_NORMAL: +@GTK_PRINT_QUALITY_HIGH: +@GTK_PRINT_QUALITY_DRAFT: + +<!-- ##### FUNCTION gtk_print_settings_get_quality ##### --> +<para> + +</para> + +@settings: +@Returns: + + +<!-- ##### FUNCTION gtk_print_settings_set_quality ##### --> +<para> + +</para> + +@settings: +@quality: + + +<!-- ##### FUNCTION gtk_print_settings_get_num_copies ##### --> +<para> + +</para> + +@settings: +@Returns: + + +<!-- ##### FUNCTION gtk_print_settings_set_num_copies ##### --> +<para> + +</para> + +@settings: +@num_copies: + + +<!-- ##### FUNCTION gtk_print_settings_get_number_up ##### --> +<para> + +</para> + +@settings: +@Returns: + + +<!-- ##### FUNCTION gtk_print_settings_set_number_up ##### --> +<para> + +</para> + +@settings: +@number_up: + + +<!-- ##### FUNCTION gtk_print_settings_get_resolution ##### --> +<para> + +</para> + +@settings: +@Returns: + + +<!-- ##### FUNCTION gtk_print_settings_set_resolution ##### --> +<para> + +</para> + +@settings: +@resolution: + + +<!-- ##### FUNCTION gtk_print_settings_get_scale ##### --> +<para> + +</para> + +@settings: +@Returns: + + +<!-- ##### FUNCTION gtk_print_settings_set_scale ##### --> +<para> + +</para> + +@settings: +@scale: + + +<!-- ##### FUNCTION gtk_print_settings_get_print_to_file ##### --> +<para> + +</para> + +@settings: +@Returns: + + +<!-- ##### FUNCTION gtk_print_settings_set_print_to_file ##### --> +<para> + +</para> + +@settings: +@print_to_file: + + +<!-- ##### ENUM GtkPrintPages ##### --> +<para> + +</para> + +@GTK_PRINT_PAGES_ALL: +@GTK_PRINT_PAGES_CURRENT: +@GTK_PRINT_PAGES_RANGES: + +<!-- ##### FUNCTION gtk_print_settings_get_print_pages ##### --> +<para> + +</para> + +@settings: +@Returns: + + +<!-- ##### FUNCTION gtk_print_settings_set_print_pages ##### --> +<para> + +</para> + +@settings: +@pages: + + +<!-- ##### STRUCT GtkPageRange ##### --> +<para> + +</para> + +@start: +@end: + +<!-- ##### FUNCTION gtk_print_settings_get_page_ranges ##### --> +<para> + +</para> + +@settings: +@num_ranges: +@Returns: + + +<!-- ##### FUNCTION gtk_print_settings_set_page_ranges ##### --> +<para> + +</para> + +@settings: +@page_ranges: +@num_ranges: + + +<!-- ##### ENUM GtkPageSet ##### --> +<para> + +</para> + +@GTK_PAGE_SET_ALL: +@GTK_PAGE_SET_EVEN: +@GTK_PAGE_SET_ODD: + +<!-- ##### FUNCTION gtk_print_settings_get_page_set ##### --> +<para> + +</para> + +@settings: +@Returns: + + +<!-- ##### FUNCTION gtk_print_settings_set_page_set ##### --> +<para> + +</para> + +@settings: +@page_set: + + +<!-- ##### FUNCTION gtk_print_settings_get_default_source ##### --> +<para> + +</para> + +@settings: +@Returns: + + +<!-- ##### FUNCTION gtk_print_settings_set_default_source ##### --> +<para> + +</para> + +@settings: +@default_source: + + +<!-- ##### FUNCTION gtk_print_settings_get_media_type ##### --> +<para> + +</para> + +@settings: +@Returns: + + +<!-- ##### FUNCTION gtk_print_settings_set_media_type ##### --> +<para> + +</para> + +@settings: +@media_type: + + +<!-- ##### FUNCTION gtk_print_settings_get_dither ##### --> +<para> + +</para> + +@settings: +@Returns: + + +<!-- ##### FUNCTION gtk_print_settings_set_dither ##### --> +<para> + +</para> + +@settings: +@dither: + + +<!-- ##### FUNCTION gtk_print_settings_get_finishings ##### --> +<para> + +</para> + +@settings: +@Returns: + + +<!-- ##### FUNCTION gtk_print_settings_set_finishings ##### --> +<para> + +</para> + +@settings: +@finishings: + + +<!-- ##### FUNCTION gtk_print_settings_get_output_bin ##### --> +<para> + +</para> + +@settings: +@Returns: + + +<!-- ##### FUNCTION gtk_print_settings_set_output_bin ##### --> +<para> + +</para> + +@settings: +@output_bin: + + diff --git a/docs/reference/gtk/tmpl/gtkprintunixdialog.sgml b/docs/reference/gtk/tmpl/gtkprintunixdialog.sgml new file mode 100644 index 0000000000..f27d5da92a --- /dev/null +++ b/docs/reference/gtk/tmpl/gtkprintunixdialog.sgml @@ -0,0 +1,86 @@ +<!-- ##### SECTION Title ##### --> +GtkPrintUnixDialog + +<!-- ##### SECTION Short_Description ##### --> +A print dialog + +<!-- ##### SECTION Long_Description ##### --> +<para> +GtkPrintUnixDialog implements a print dialog for platforms +which don't provide a native print dialog, like Unix. It can +be used very much like any other GTK+ dialog, at the cost of +the portability offered by the <link +linkend="gtk-High-level-Printing-API">high-level printing API</link> +</para> +<para> +In order to print something with #GtkPrintUnixDialog, you need +to use gtk_print_unix_dialog_get_selected_printer() to obtain +a #GtkPrinter object and use it to construct a #GtkPrintJob using +gtk_print_job_new(). +</para> + +<!-- FIXME example here --> + +<para> +Printing support was added in GTK+ 2.10. +</para> + +<!-- ##### SECTION See_Also ##### --> +<para> +#GtkPageSetupUnixDialog, #GtkPrinter, #GtkPrintJob +</para> + +<!-- ##### SECTION Stability_Level ##### --> + + +<!-- ##### STRUCT GtkPrintUnixDialog ##### --> +<para> + +</para> + + +<!-- ##### FUNCTION gtk_print_unix_dialog_set_page_setup ##### --> +<para> + +</para> + +@dialog: +@page_setup: + + +<!-- ##### FUNCTION gtk_print_unix_dialog_set_current_page ##### --> +<para> + +</para> + +@dialog: +@current_page: + + +<!-- ##### FUNCTION gtk_print_unix_dialog_set_settings ##### --> +<para> + +</para> + +@dialog: +@settings: + + +<!-- ##### FUNCTION gtk_print_unix_dialog_get_settings ##### --> +<para> + +</para> + +@dialog: +@Returns: + + +<!-- ##### FUNCTION gtk_print_unix_dialog_get_selected_printer ##### --> +<para> + +</para> + +@dialog: +@Returns: + + diff --git a/docs/reference/gtk/visual_index.xml b/docs/reference/gtk/visual_index.xml index ef3cc6b567..c6dc17eab6 100644 --- a/docs/reference/gtk/visual_index.xml +++ b/docs/reference/gtk/visual_index.xml @@ -50,6 +50,12 @@ <link linkend="GtkPaned"> <inlinegraphic fileref="panes.png" format="PNG"></inlinegraphic> </link> + <link linkend="GtkPageSetupUnixDialog"> + <inlinegraphic fileref="pagesetupdialog.png" format="PNG"></inlinegraphic> + </link> + <link linkend="GtkPrintUnixDialog"> + <inlinegraphic fileref="printdialog.png" format="PNG"></inlinegraphic> + </link> <link linkend="GtkProgressBar"> <inlinegraphic fileref="progressbar.png" format="PNG"></inlinegraphic> </link> diff --git a/docs/tools/widgets.c b/docs/tools/widgets.c index 4d822610bf..2675632b63 100644 --- a/docs/tools/widgets.c +++ b/docs/tools/widgets.c @@ -1,3 +1,5 @@ +#include <gtk/gtkprintunixdialog.h> +#include <gtk/gtkpagesetupunixdialog.h> #include <gdk/gdkkeysyms.h> #include <X11/Xatom.h> #include <gdkx.h> @@ -667,6 +669,43 @@ create_filesel (void) } static WidgetInfo * +create_print_dialog (void) +{ + WidgetInfo *info; + GtkWidget *widget; + + widget = gtk_print_unix_dialog_new ("Print Dialog", NULL); + gtk_widget_set_size_request (widget, 505, 350); + info = new_widget_info ("printdialog", widget, ASIS); + info->include_decorations = TRUE; + + return info; +} + +static WidgetInfo * +create_page_setup_dialog (void) +{ + WidgetInfo *info; + GtkWidget *widget; + GtkPageSetup *page_setup; + GtkPrintSettings *settings; + + page_setup = gtk_page_setup_new (); + settings = gtk_print_settings_new (); + widget = gtk_page_setup_unix_dialog_new ("Page Setup Dialog", NULL); + gtk_page_setup_unix_dialog_set_page_setup (GTK_PAGE_SETUP_UNIX_DIALOG (widget), + page_setup); + gtk_page_setup_unix_dialog_set_print_settings (GTK_PAGE_SETUP_UNIX_DIALOG (widget), + settings); + + info = new_widget_info ("pagesetupdialog", widget, ASIS); + gtk_widget_set_app_paintable (info->window, FALSE); + info->include_decorations = TRUE; + + return info; +} + +static WidgetInfo * create_toolbar (void) { GtkWidget *widget, *menu; @@ -940,6 +979,8 @@ get_all_widgets (void) retval = g_list_prepend (retval, create_fontsel ()); retval = g_list_prepend (retval, create_assistant ()); retval = g_list_prepend (retval, create_recent_chooser_dialog ()); + retval = g_list_prepend (retval, create_page_setup_dialog ()); + retval = g_list_prepend (retval, create_print_dialog ()); return retval; } |