pub trait PrintCompositorExt: IsA<PrintCompositor> + Sealed + 'static {
Show 46 methods // Provided methods fn draw_page(&self, context: &PrintContext, page_nr: i32) { ... } fn body_font_name(&self) -> Option<GString> { ... } fn bottom_margin(&self, unit: Unit) -> f64 { ... } fn buffer(&self) -> Option<Buffer> { ... } fn footer_font_name(&self) -> Option<GString> { ... } fn header_font_name(&self) -> Option<GString> { ... } fn is_highlight_syntax(&self) -> bool { ... } fn left_margin(&self, unit: Unit) -> f64 { ... } fn line_numbers_font_name(&self) -> Option<GString> { ... } fn n_pages(&self) -> i32 { ... } fn pagination_progress(&self) -> f64 { ... } fn is_print_footer(&self) -> bool { ... } fn is_print_header(&self) -> bool { ... } fn print_line_numbers(&self) -> u32 { ... } fn right_margin(&self, unit: Unit) -> f64 { ... } fn tab_width(&self) -> u32 { ... } fn top_margin(&self, unit: Unit) -> f64 { ... } fn wrap_mode(&self) -> WrapMode { ... } fn paginate(&self, context: &PrintContext) -> bool { ... } fn set_body_font_name(&self, font_name: &str) { ... } fn set_bottom_margin(&self, margin: f64, unit: Unit) { ... } fn set_footer_font_name(&self, font_name: Option<&str>) { ... } fn set_footer_format( &self, separator: bool, left: Option<&str>, center: Option<&str>, right: Option<&str> ) { ... } fn set_header_font_name(&self, font_name: Option<&str>) { ... } fn set_header_format( &self, separator: bool, left: Option<&str>, center: Option<&str>, right: Option<&str> ) { ... } fn set_highlight_syntax(&self, highlight: bool) { ... } fn set_left_margin(&self, margin: f64, unit: Unit) { ... } fn set_line_numbers_font_name(&self, font_name: Option<&str>) { ... } fn set_print_footer(&self, print: bool) { ... } fn set_print_header(&self, print: bool) { ... } fn set_print_line_numbers(&self, interval: u32) { ... } fn set_right_margin(&self, margin: f64, unit: Unit) { ... } fn set_tab_width(&self, width: u32) { ... } fn set_top_margin(&self, margin: f64, unit: Unit) { ... } fn set_wrap_mode(&self, wrap_mode: WrapMode) { ... } fn connect_body_font_name_notify<F: Fn(&Self) + 'static>( &self, f: F ) -> SignalHandlerId { ... } fn connect_footer_font_name_notify<F: Fn(&Self) + 'static>( &self, f: F ) -> SignalHandlerId { ... } fn connect_header_font_name_notify<F: Fn(&Self) + 'static>( &self, f: F ) -> SignalHandlerId { ... } fn connect_highlight_syntax_notify<F: Fn(&Self) + 'static>( &self, f: F ) -> SignalHandlerId { ... } fn connect_line_numbers_font_name_notify<F: Fn(&Self) + 'static>( &self, f: F ) -> SignalHandlerId { ... } fn connect_n_pages_notify<F: Fn(&Self) + 'static>( &self, f: F ) -> SignalHandlerId { ... } fn connect_print_footer_notify<F: Fn(&Self) + 'static>( &self, f: F ) -> SignalHandlerId { ... } fn connect_print_header_notify<F: Fn(&Self) + 'static>( &self, f: F ) -> SignalHandlerId { ... } fn connect_print_line_numbers_notify<F: Fn(&Self) + 'static>( &self, f: F ) -> SignalHandlerId { ... } fn connect_tab_width_notify<F: Fn(&Self) + 'static>( &self, f: F ) -> SignalHandlerId { ... } fn connect_wrap_mode_notify<F: Fn(&Self) + 'static>( &self, f: F ) -> SignalHandlerId { ... }
}
Expand description

Trait containing all PrintCompositor methods.

Implementors

PrintCompositor

Provided Methods§

source

fn draw_page(&self, context: &PrintContext, page_nr: i32)

Draw page page_nr for printing on the the Cairo context encapsuled in context.

This method has been designed to be called in the handler of the GtkPrintOperation::draw_page signal as shown in the following example:

<informalexample>``<programlisting> // Signal handler for the GtkPrintOperation::draw_page signal

static void draw_page (GtkPrintOperation *operation, GtkPrintContext *context, gint page_nr, gpointer user_data) { GtkSourcePrintCompositor *compositor;

compositor = GTK_SOURCE_PRINT_COMPOSITOR (user_data);

gtk_source_print_compositor_draw_page (compositor, context, page_nr); } </programlisting>``</informalexample>

context

the gtk::PrintContext encapsulating the context information that is required when drawing the page for printing.

page_nr

the number of the page to print.

source

fn body_font_name(&self) -> Option<GString>

Returns the name of the font used to print the text body. The returned string must be freed with g_free().

Returns

a new string containing the name of the font used to print the text body.

source

fn bottom_margin(&self, unit: Unit) -> f64

Gets the bottom margin in units of unit.

unit

the unit for the return value.

Returns

the bottom margin.

source

fn buffer(&self) -> Option<Buffer>

Gets the Buffer associated with the compositor. The returned object reference is owned by the compositor object and should not be unreferenced.

Returns

the Buffer associated with the compositor.

source

fn footer_font_name(&self) -> Option<GString>

Returns the name of the font used to print the page footer. The returned string must be freed with g_free().

Returns

a new string containing the name of the font used to print the page footer.

source

fn header_font_name(&self) -> Option<GString>

Returns the name of the font used to print the page header. The returned string must be freed with g_free().

Returns

a new string containing the name of the font used to print the page header.

source

fn is_highlight_syntax(&self) -> bool

Determines whether the printed text will be highlighted according to the buffer rules. Note that highlighting will happen only if the buffer to print has highlighting activated.

Returns

true if the printed output will be highlighted.

source

fn left_margin(&self, unit: Unit) -> f64

Gets the left margin in units of unit.

unit

the unit for the return value.

Returns

the left margin

source

fn line_numbers_font_name(&self) -> Option<GString>

Returns the name of the font used to print line numbers on the left margin. The returned string must be freed with g_free().

Returns

a new string containing the name of the font used to print line numbers on the left margin.

source

fn n_pages(&self) -> i32

Returns the number of pages in the document or <code>-1</code> if the document has not been completely paginated.

Returns

the number of pages in the document or <code>-1</code> if the document has not been completely paginated.

source

fn pagination_progress(&self) -> f64

Returns the current fraction of the document pagination that has been completed.

Returns

a fraction from 0.0 to 1.0 inclusive.

Determines if a footer is set to be printed for each page. A footer will be printed if this function returns true <emphasis>and</emphasis> some format strings have been specified with set_footer_format().

Returns

true if the footer is set to be printed.

source

fn is_print_header(&self) -> bool

Determines if a header is set to be printed for each page. A header will be printed if this function returns true <emphasis>and</emphasis> some format strings have been specified with set_header_format().

Returns

true if the header is set to be printed.

source

fn print_line_numbers(&self) -> u32

Returns the interval used for line number printing. If the value is 0, no line numbers will be printed. The default value is 1 (i.e. numbers printed in all lines).

Returns

the interval of printed line numbers.

source

fn right_margin(&self, unit: Unit) -> f64

Gets the right margin in units of unit.

unit

the unit for the return value.

Returns

the right margin.

source

fn tab_width(&self) -> u32

Returns the width of tabulation in characters for printed text.

Returns

width of tab.

source

fn top_margin(&self, unit: Unit) -> f64

Gets the top margin in units of unit.

unit

the unit for the return value.

Returns

the top margin.

source

fn wrap_mode(&self) -> WrapMode

Gets the line wrapping mode for the printed text.

Returns

the line wrap mode.

source

fn paginate(&self, context: &PrintContext) -> bool

Paginate the document associated with the self.

In order to support non-blocking pagination, document is paginated in small chunks. Each time paginate() is invoked, a chunk of the document is paginated. To paginate the entire document, paginate() must be invoked multiple times. It returns true if the document has been completely paginated, otherwise it returns false.

This method has been designed to be invoked in the handler of the GtkPrintOperation::paginate signal, as shown in the following example:

<informalexample>``<programlisting> // Signal handler for the GtkPrintOperation::paginate signal

static gboolean paginate (GtkPrintOperation *operation, GtkPrintContext *context, gpointer user_data) { GtkSourcePrintCompositor *compositor;

compositor = GTK_SOURCE_PRINT_COMPOSITOR (user_data);

if (gtk_source_print_compositor_paginate (compositor, context)) { gint n_pages;

n_pages = gtk_source_print_compositor_get_n_pages (compositor); gtk_print_operation_set_n_pages (operation, n_pages);

return TRUE; }

return FALSE; } </programlisting>``</informalexample>

If you don’t need to do pagination in chunks, you can simply do it all in the GtkPrintOperation::begin-print handler, and set the number of pages from there, like in the following example:

<informalexample>``<programlisting> // Signal handler for the GtkPrintOperation::begin-print signal

static void begin_print (GtkPrintOperation *operation, GtkPrintContext *context, gpointer user_data) { GtkSourcePrintCompositor *compositor; gint n_pages;

compositor = GTK_SOURCE_PRINT_COMPOSITOR (user_data);

while (!gtk_source_print_compositor_paginate (compositor, context));

n_pages = gtk_source_print_compositor_get_n_pages (compositor); gtk_print_operation_set_n_pages (operation, n_pages); } </programlisting>``</informalexample>

context

the gtk::PrintContext whose parameters (e.g. paper size, print margins, etc.) are used by the the self to paginate the document.

Returns

true if the document has been completely paginated, false otherwise.

source

fn set_body_font_name(&self, font_name: &str)

Sets the default font for the printed text.

font_name should be a string representation of a font description Pango can understand. (e.g. "Monospace 10"). See pango::FontDescription::from_string() for a description of the format of the string representation.

This function cannot be called anymore after the first call to the paginate() function.

font_name

the name of the default font for the body text.

source

fn set_bottom_margin(&self, margin: f64, unit: Unit)

Sets the bottom margin used by self.

margin

the new bottom margin in units of unit.

unit

the units for margin.

Sets the font for printing the page footer. If None is supplied, the default font (i.e. the one being used for the text) will be used instead.

font_name should be a string representation of a font description Pango can understand. (e.g. "Monospace 10"). See pango::FontDescription::from_string() for a description of the format of the string representation.

This function cannot be called anymore after the first call to the paginate() function.

font_name

the name of the font for the footer text, or None.

See set_header_format() for more information about the parameters.

separator

true if you want a separator line to be printed.

left

a format string to print on the left of the footer.

center

a format string to print on the center of the footer.

a format string to print on the right of the footer.

source

fn set_header_font_name(&self, font_name: Option<&str>)

Sets the font for printing the page header. If None is supplied, the default font (i.e. the one being used for the text) will be used instead.

font_name should be a string representation of a font description Pango can understand. (e.g. "Monospace 10"). See pango::FontDescription::from_string() for a description of the format of the string representation.

This function cannot be called anymore after the first call to the paginate() function.

font_name

the name of the font for header text, or None.

source

fn set_header_format( &self, separator: bool, left: Option<&str>, center: Option<&str>, right: Option<&str> )

Sets strftime like header format strings, to be printed on the left, center and right of the top of each page. The strings may include strftime(3) codes which will be expanded at print time. A subset of strftime() codes are accepted, see g_date_time_format() for more details on the accepted format specifiers. Additionally the following format specifiers are accepted:

  • N: the page number
  • Q: the page count.

separator specifies if a solid line should be drawn to separate the header from the document text.

If None is given for any of the three arguments, that particular string will not be printed.

For the header to be printed, in addition to specifying format strings, you need to enable header printing with set_print_header().

This function cannot be called anymore after the first call to the paginate() function.

separator

true if you want a separator line to be printed.

left

a format string to print on the left of the header.

center

a format string to print on the center of the header.

right

a format string to print on the right of the header.

source

fn set_highlight_syntax(&self, highlight: bool)

Sets whether the printed text will be highlighted according to the buffer rules. Both color and font style are applied.

This function cannot be called anymore after the first call to the paginate() function.

highlight

whether syntax should be highlighted.

source

fn set_left_margin(&self, margin: f64, unit: Unit)

Sets the left margin used by self.

margin

the new left margin in units of unit.

unit

the units for margin.

source

fn set_line_numbers_font_name(&self, font_name: Option<&str>)

Sets the font for printing line numbers on the left margin. If None is supplied, the default font (i.e. the one being used for the text) will be used instead.

font_name should be a string representation of a font description Pango can understand. (e.g. "Monospace 10"). See pango::FontDescription::from_string() for a description of the format of the string representation.

This function cannot be called anymore after the first call to the paginate() function.

font_name

the name of the font for line numbers, or None.

Sets whether you want to print a footer in each page. The footer consists of three pieces of text and an optional line separator, configurable with set_footer_format().

Note that by default the footer format is unspecified, and if it’s empty it will not be printed, regardless of this setting.

This function cannot be called anymore after the first call to the paginate() function.

print

true if you want the footer to be printed.

source

fn set_print_header(&self, print: bool)

Sets whether you want to print a header in each page. The header consists of three pieces of text and an optional line separator, configurable with set_header_format().

Note that by default the header format is unspecified, and if it’s empty it will not be printed, regardless of this setting.

This function cannot be called anymore after the first call to the paginate() function.

true if you want the header to be printed.

source

fn set_print_line_numbers(&self, interval: u32)

Sets the interval for printed line numbers. If interval is 0 no numbers will be printed. If greater than 0, a number will be printed every interval lines (i.e. 1 will print all line numbers).

Maximum accepted value for interval is 100.

This function cannot be called anymore after the first call to the paginate() function.

interval

interval for printed line numbers.

source

fn set_right_margin(&self, margin: f64, unit: Unit)

Sets the right margin used by self.

margin

the new right margin in units of unit.

unit

the units for margin.

source

fn set_tab_width(&self, width: u32)

Sets the width of tabulation in characters for printed text.

This function cannot be called anymore after the first call to the paginate() function.

width

width of tab in characters.

source

fn set_top_margin(&self, margin: f64, unit: Unit)

Sets the top margin used by self.

margin

the new top margin in units of unit

unit

the units for margin

source

fn set_wrap_mode(&self, wrap_mode: WrapMode)

Sets the line wrapping mode for the printed text.

This function cannot be called anymore after the first call to the paginate() function.

wrap_mode

a gtk::WrapMode.

source

fn connect_body_font_name_notify<F: Fn(&Self) + 'static>( &self, f: F ) -> SignalHandlerId

source

fn connect_header_font_name_notify<F: Fn(&Self) + 'static>( &self, f: F ) -> SignalHandlerId

source

fn connect_highlight_syntax_notify<F: Fn(&Self) + 'static>( &self, f: F ) -> SignalHandlerId

source

fn connect_line_numbers_font_name_notify<F: Fn(&Self) + 'static>( &self, f: F ) -> SignalHandlerId

source

fn connect_n_pages_notify<F: Fn(&Self) + 'static>( &self, f: F ) -> SignalHandlerId

source

fn connect_print_header_notify<F: Fn(&Self) + 'static>( &self, f: F ) -> SignalHandlerId

source

fn connect_print_line_numbers_notify<F: Fn(&Self) + 'static>( &self, f: F ) -> SignalHandlerId

source

fn connect_tab_width_notify<F: Fn(&Self) + 'static>( &self, f: F ) -> SignalHandlerId

source

fn connect_wrap_mode_notify<F: Fn(&Self) + 'static>( &self, f: F ) -> SignalHandlerId

Object Safety§

This trait is not object safe.

Implementors§