class Gtk::PrintDialog

Overview

Asynchronous API to present a print dialog to the user.

Gtk::PrintDialog collects the arguments that are needed to present the dialog, such as a title for the dialog and whether it should be modal.

The dialog is shown with the Gtk::PrintDialog#setup function.

The actual printing can be done with Gtk::PrintDialog#print or Gtk::PrintDialog#print_file. These APIs follows the GIO async pattern, and the results can be obtained by calling the corresponding finish methods.

Defined in:

lib/gi-crystal/src/auto/gtk-4.0/print_dialog.cr

Constructors

Class Method Summary

Instance Method Summary

Instance methods inherited from class GObject::Object

==(other : self) ==, bind_property(source_property : String, target : GObject::Object, target_property : String, flags : GObject::BindingFlags) : GObject::Binding bind_property, bind_property_full(source_property : String, target : GObject::Object, target_property : String, flags : GObject::BindingFlags, transform_to : GObject::Closure, transform_from : GObject::Closure) : GObject::Binding bind_property_full, data(key : String) : Pointer(Void) | Nil data, finalize finalize, freeze_notify : Nil freeze_notify, getv(names : Enumerable(String), values : Enumerable(_)) : Nil getv, hash(hasher) hash, notify(property_name : String) : Nil notify, notify_by_pspec(pspec : GObject::ParamSpec) : Nil notify_by_pspec, notify_signal notify_signal, property(property_name : String, value : _) : Nil property, qdata(quark : UInt32) : Pointer(Void) | Nil qdata, ref_count : UInt32 ref_count, run_dispose : Nil run_dispose, set_data(key : String, data : Pointer(Void) | Nil) : Nil set_data, set_property(property_name : String, value : _) : Nil set_property, steal_data(key : String) : Pointer(Void) | Nil steal_data, steal_qdata(quark : UInt32) : Pointer(Void) | Nil steal_qdata, thaw_notify : Nil thaw_notify, to_unsafe : Pointer(Void) to_unsafe, watch_closure(closure : GObject::Closure) : Nil watch_closure

Constructor methods inherited from class GObject::Object

cast(obj : GObject::Object) : self cast, new(pointer : Pointer(Void), transfer : GICrystal::Transfer)
new
new
, newv(object_type : UInt64, parameters : Enumerable(GObject::Parameter)) : self newv

Class methods inherited from class GObject::Object

cast?(obj : GObject::Object) : self | Nil cast?, compat_control(what : UInt64, data : Pointer(Void) | Nil) : UInt64 compat_control, g_type : UInt64 g_type, interface_find_property(g_iface : GObject::TypeInterface, property_name : String) : GObject::ParamSpec interface_find_property, interface_list_properties(g_iface : GObject::TypeInterface) : Enumerable(GObject::ParamSpec) interface_list_properties

Macros inherited from class GObject::Object

previous_vfunc(*args) previous_vfunc, previous_vfunc!(*args) previous_vfunc!, signal(signature) signal

Constructor Detail

def self.new : self #

Creates a new Gtk::PrintDialog object.


def self.new(*, accept_label : String | Nil = nil, modal : Bool | Nil = nil, page_setup : Gtk::PageSetup | Nil = nil, print_settings : Gtk::PrintSettings | Nil = nil, title : String | Nil = nil) #

Class Method Detail

def self.g_type : UInt64 #

Returns the type id (GType) registered in GLib type system.


Instance Method Detail

def ==(other : self) #
Description copied from class Reference

Returns true if this reference is the same as other. Invokes same?.


def accept_label : String #

Returns the label that will be shown on the accept button of the print dialog.


def accept_label=(accept_label : String) : Nil #

Sets the label that will be shown on the accept button of the print dialog shown for Gtk::PrintDialog#setup.


def accept_label=(value : Nil) : Nil #

Set #accept_label property to nil.


def accept_label? : String | Nil #

Same as #accept_label, but can return nil.


def hash(hasher) #
Description copied from class Reference

See Object#hash(hasher)


def modal : Bool #

Returns whether the print dialog blocks interaction with the parent window while it is presented.


def modal=(modal : Bool) : Nil #

Sets whether the print dialog blocks interaction with the parent window while it is presented.


def modal? : Bool #

def page_setup : Gtk::PageSetup | Nil #

Returns the page setup.


def page_setup=(page_setup : Gtk::PageSetup) : Nil #

Set the page setup for the print dialog.


def page_setup=(value : Gtk::PageSetup | Nil) : Gtk::PageSetup | Nil #

def print(parent : Gtk::Window | Nil, setup : Gtk::PrintSetup | Nil, cancellable : Gio::Cancellable | Nil, &callback : Gio::AsyncReadyCallback) : Nil #

This function prints content from a stream.

If you pass NULL as setup, then this method will present a print dialog. Otherwise, it will attempt to print directly, without user interaction.

The callback will be called when the printing is done.


def print_file(parent : Gtk::Window | Nil, setup : Gtk::PrintSetup | Nil, file : Gio::File, cancellable : Gio::Cancellable | Nil, &callback : Gio::AsyncReadyCallback) : Nil #

This function prints a file.

If you pass NULL as setup, then this method will present a print dialog. Otherwise, it will attempt to print directly, without user interaction.


def print_file_finish(result : Gio::AsyncResult) : Bool #

Finishes the Gtk::PrintDialog#print_file call and returns the results.


def print_finish(result : Gio::AsyncResult) : Gio::OutputStream #

Finishes the Gtk::PrintDialog#print call and returns the results.

If the call was successful, the content to be printed should be written to the returned output stream. Otherwise, NULL is returned.

The overall results of the print operation will be returned in the Gio::OutputStream#close call, so if you are interested in the results, you need to explicitly close the output stream (it will be closed automatically if you just unref it). Be aware that the close call may not be instant as it operation will for the printer to finish printing.


def print_settings : Gtk::PrintSettings | Nil #

Returns the print settings for the print dialog.


def print_settings=(print_settings : Gtk::PrintSettings) : Nil #

Sets the print settings for the print dialog.


def setup(parent : Gtk::Window | Nil, cancellable : Gio::Cancellable | Nil, &callback : Gio::AsyncReadyCallback) : Nil #

This function presents a print dialog to let the user select a printer, and set up print settings and page setup.

The callback will be called when the dialog is dismissed. The obtained Gtk::PrintSetup can then be passed to Gtk::PrintDialog#print or Gtk::PrintDialog#print_file.

One possible use for this method is to have the user select a printer, then show a page setup UI in the application (e.g. to arrange images on a page), then call Gtk::PrintDialog#print on self to do the printing without further user interaction.


def setup_finish(result : Gio::AsyncResult) : Gtk::PrintSetup #

Finishes the Gtk::PrintDialog#setup call.

If the call was successful, it returns a Gtk::PrintSetup which contains the print settings and page setup information that will be used to print.


def title : String #

Returns the title that will be shown on the print dialog.


def title=(title : String) : Nil #

Sets the title that will be shown on the print dialog.


def title=(value : Nil) : Nil #

Set #title property to nil.


def title? : String | Nil #

Same as #title, but can return nil.