gtkPrintOperationRun {RGtk2} | R Documentation

## gtkPrintOperationRun

### Description

Runs the print operation, by first letting the user modify print settings in the print dialog, and then print the document.

### Usage

    gtkPrintOperationRun(object, action, parent = NULL, .errwarn = TRUE)

### Arguments

``object`` | a `GtkPrintOperation`
``action`` | the action to start
``parent`` | Transient parent of the dialog. [ allow-none ]
`.errwarn` | Whether to issue a warning on error or fail silently

### Details

Normally that this function does not return until the rendering of all pages is complete. You can connect to the `"status-changed"` signal on `op` to obtain some information about the progress of the print operation. Furthermore, it may use a recursive mainloop to show the print dialog.

If you call `gtkPrintOperationSetAllowAsync` or set the `"allow-async"` property the operation will run asynchronously if this is supported on the platform. The `"done"` signal will be emitted with the result of the operation when the it is done (i.e. when the dialog is canceled, or when the print succeeds or fails).

    if (!is.null(settings))
      op$setPrintSettings(settings)

    if (!is.null(page_setup))
      op$setDefaultPageSetup(page_setup)

    gSignalConnect(op, "begin-print", begin_print)
    gSignalConnect(op, "draw-page", draw_page)

    res <- op$run("print-dialog", parent)

    if (res[[1]] == "error") {
      error_dialog = gtkMessageDialog(parent, "destroy-with-parent", "error",
        "close", "Error printing file: ", res$error$message)
      gSignalConnect(error_dialog, "response", gtkWidgetDestroy)
      error_dialog$show()
    } else if (res[[1]] == "apply")
      settings = op$getPrintSettings()

Note that `gtkPrintOperationRun` can only be called once on a given `GtkPrintOperation`. Since 2.10

### Value

A list containing the following elements:

`retval` | [`GtkPrintOperationResult`] the result of the print operation. A return value of `GTK_PRINT_OPERATION_RESULT_APPLY` indicates that the printing was completed successfully. In this case, it is a good idea to obtain the used print settings with `gtkPrintOperationGetPrintSettings` and store them for reuse with the next print operation. A value of `GTK_PRINT_OPERATION_RESULT_IN_PROGRESS` means the operation is running asynchronously, and will emit the `"done"` signal when done.
``error`` | Return location for errors, or `NULL`. [ allow-none ]

### Author(s)

Derived by RGtkGen from GTK+ documentation

[Package RGtk2 version 2.20.40 Index]