Struct gtk4::PaperSize

source ·
#[repr(transparent)]
pub struct PaperSize { /* private fields */ }
Expand description

PaperSize handles paper sizes.

It uses the standard called PWG 5101.1-2002 PWG: Standard for Media Standardized Names to name the paper sizes (and to get the data for the page sizes). In addition to standard paper sizes, PaperSize allows to construct custom paper sizes with arbitrary dimensions.

The PaperSize object stores not only the dimensions (width and height) of a paper size and its name, it also provides default print margins.

Implementations§

source§

impl PaperSize

source

pub fn new(name: Option<&str>) -> PaperSize

Creates a new PaperSize object by parsing a PWG 5101.1-2002 paper name.

If @name is None, the default paper size is returned, see default().

name

a paper size name

Returns

a new PaperSize, use Gtk::PaperSize::free() to free it

source

pub fn new_custom( name: &str, display_name: &str, width: f64, height: f64, unit: Unit ) -> PaperSize

Creates a new PaperSize object with the given parameters.

name

the paper name

display_name

the human-readable name

width

the paper width, in units of @unit

height

the paper height, in units of @unit

unit

the unit for @width and @height. not Unit::None.

Returns

a new PaperSize object, use Gtk::PaperSize::free() to free it

source

pub fn from_gvariant(variant: &Variant) -> PaperSize

Deserialize a paper size from a GVariant.

The GVariant must be in the format produced by [to_gvariant()`]Self::to_gvariant().

variant

an a{sv} GVariant

Returns

a new PaperSize object

source

pub fn from_ipp(ipp_name: &str, width: f64, height: f64) -> PaperSize

Creates a new PaperSize object by using IPP information.

If @ipp_name is not a recognized paper name, @width and @height are used to construct a custom PaperSize object.

ipp_name

an IPP paper name

width

the paper width, in points

height

the paper height in points

Returns

a new PaperSize, use Gtk::PaperSize::free() to free it

source

pub fn from_key_file( key_file: &KeyFile, group_name: Option<&str> ) -> Result<PaperSize, Error>

Reads a paper size from the group @group_name in the key file @key_file.

key_file

the GKeyFile to retrieve the papersize from

group_name

the name of the group in the key file to read, or None to read the first group

Returns

a new PaperSize object with the restored paper size

source

pub fn from_ppd( ppd_name: &str, ppd_display_name: &str, width: f64, height: f64 ) -> PaperSize

Creates a new PaperSize object by using PPD information.

If @ppd_name is not a recognized PPD paper name, @ppd_display_name, @width and @height are used to construct a custom PaperSize object.

ppd_name

a PPD paper name

ppd_display_name

the corresponding human-readable name

width

the paper width, in points

height

the paper height in points

Returns

a new PaperSize, use Gtk::PaperSize::free() to free it

source

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

Gets the default bottom margin for the PaperSize.

unit

the unit for the return value, not Unit::None

Returns

the default bottom margin

source

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

Gets the default left margin for the PaperSize.

unit

the unit for the return value, not Unit::None

Returns

the default left margin

source

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

Gets the default right margin for the PaperSize.

unit

the unit for the return value, not Unit::None

Returns

the default right margin

source

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

Gets the default top margin for the PaperSize.

unit

the unit for the return value, not Unit::None

Returns

the default top margin

source

pub fn display_name(&self) -> GString

Gets the human-readable name of the PaperSize.

Returns

the human-readable name of @self

source

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

Gets the paper height of the PaperSize, in units of @unit.

unit

the unit for the return value, not Unit::None

Returns

the paper height

source

pub fn name(&self) -> GString

Gets the name of the PaperSize.

Returns

the name of @self

source

pub fn ppd_name(&self) -> GString

Gets the PPD name of the PaperSize, which may be None.

Returns

the PPD name of @self

source

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

Gets the paper width of the PaperSize, in units of @unit.

unit

the unit for the return value, not Unit::None

Returns

the paper width

source

pub fn is_custom(&self) -> bool

Returns true if @self is not a standard paper size.

Returns

whether @self is a custom paper size.

source

pub fn is_ipp(&self) -> bool

Returns true if @self is an IPP standard paper size.

Returns

whether @self is not an IPP custom paper size.

source

pub fn set_size(&mut self, width: f64, height: f64, unit: Unit)

Changes the dimensions of a @self to @width x @height.

width

the new width in units of @unit

height

the new height in units of @unit

unit

the unit for @width and @height

source

pub fn to_gvariant(&mut self) -> Variant

Serialize a paper size to an a{sv} variant.

Returns

a new, floating, GVariant

source

pub fn to_key_file(&mut self, key_file: &KeyFile, group_name: &str)

This function adds the paper size from @self to @key_file.

key_file

the GKeyFile to save the paper size to

group_name

the group to add the settings to in @key_file

source

pub fn default() -> GString

Returns the name of the default paper size, which depends on the current locale.

Returns

the name of the default paper size. The string is owned by GTK and should not be modified.

source

pub fn paper_sizes(include_custom: bool) -> Vec<PaperSize>

Creates a list of known paper sizes.

include_custom

whether to include custom paper sizes as defined in the page setup dialog

Returns

a newly allocated list of newly allocated PaperSize objects

Trait Implementations§

source§

impl Clone for PaperSize

source§

fn clone(&self) -> Self

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for PaperSize

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Display for PaperSize

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Hash for PaperSize

source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)where H: Hasher, Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl Ord for PaperSize

source§

fn cmp(&self, other: &PaperSize) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Selfwhere Self: Sized,

Compares and returns the maximum of two values. Read more
1.21.0 · source§

fn min(self, other: Self) -> Selfwhere Self: Sized,

Compares and returns the minimum of two values. Read more
1.50.0 · source§

fn clamp(self, min: Self, max: Self) -> Selfwhere Self: Sized + PartialOrd<Self>,

Restrict a value to a certain interval. Read more
source§

impl PartialEq<PaperSize> for PaperSize

source§

fn eq(&self, other: &Self) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl PartialOrd<PaperSize> for PaperSize

source§

fn partial_cmp(&self, other: &PaperSize) -> Option<Ordering>

This method returns an ordering between self and other values if one exists. Read more
1.0.0 · source§

fn lt(&self, other: &Rhs) -> bool

This method tests less than (for self and other) and is used by the < operator. Read more
1.0.0 · source§

fn le(&self, other: &Rhs) -> bool

This method tests less than or equal to (for self and other) and is used by the <= operator. Read more
1.0.0 · source§

fn gt(&self, other: &Rhs) -> bool

This method tests greater than (for self and other) and is used by the > operator. Read more
1.0.0 · source§

fn ge(&self, other: &Rhs) -> bool

This method tests greater than or equal to (for self and other) and is used by the >= operator. Read more
source§

impl StaticType for PaperSize

source§

fn static_type() -> Type

Returns the type identifier of Self.
source§

impl Eq for PaperSize

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

const: unstable · source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

const: unstable · source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

const: unstable · source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T> FromGlibContainerAsVec<<T as GlibPtrDefault>::GlibType, *const GList> for Twhere T: GlibPtrDefault + FromGlibPtrNone<<T as GlibPtrDefault>::GlibType> + FromGlibPtrFull<<T as GlibPtrDefault>::GlibType>,

source§

impl<T> FromGlibContainerAsVec<<T as GlibPtrDefault>::GlibType, *const GPtrArray> for Twhere T: GlibPtrDefault + FromGlibPtrNone<<T as GlibPtrDefault>::GlibType> + FromGlibPtrFull<<T as GlibPtrDefault>::GlibType>,

source§

unsafe fn from_glib_none_num_as_vec( ptr: *const GPtrArray, num: usize ) -> Vec<T, Global>

source§

unsafe fn from_glib_container_num_as_vec( _: *const GPtrArray, _: usize ) -> Vec<T, Global>

source§

unsafe fn from_glib_full_num_as_vec( _: *const GPtrArray, _: usize ) -> Vec<T, Global>

source§

impl<T> FromGlibContainerAsVec<<T as GlibPtrDefault>::GlibType, *const GSList> for Twhere T: GlibPtrDefault + FromGlibPtrNone<<T as GlibPtrDefault>::GlibType> + FromGlibPtrFull<<T as GlibPtrDefault>::GlibType>,

source§

unsafe fn from_glib_none_num_as_vec( ptr: *const GSList, num: usize ) -> Vec<T, Global>

source§

unsafe fn from_glib_container_num_as_vec( _: *const GSList, _: usize ) -> Vec<T, Global>

source§

unsafe fn from_glib_full_num_as_vec( _: *const GSList, _: usize ) -> Vec<T, Global>

source§

impl<T> FromGlibContainerAsVec<<T as GlibPtrDefault>::GlibType, *mut GList> for Twhere T: GlibPtrDefault + FromGlibPtrNone<<T as GlibPtrDefault>::GlibType> + FromGlibPtrFull<<T as GlibPtrDefault>::GlibType>,

source§

unsafe fn from_glib_none_num_as_vec( ptr: *mut GList, num: usize ) -> Vec<T, Global>

source§

unsafe fn from_glib_container_num_as_vec( ptr: *mut GList, num: usize ) -> Vec<T, Global>

source§

unsafe fn from_glib_full_num_as_vec( ptr: *mut GList, num: usize ) -> Vec<T, Global>

source§

impl<T> FromGlibContainerAsVec<<T as GlibPtrDefault>::GlibType, *mut GPtrArray> for Twhere T: GlibPtrDefault + FromGlibPtrNone<<T as GlibPtrDefault>::GlibType> + FromGlibPtrFull<<T as GlibPtrDefault>::GlibType>,

source§

unsafe fn from_glib_none_num_as_vec( ptr: *mut GPtrArray, num: usize ) -> Vec<T, Global>

source§

unsafe fn from_glib_container_num_as_vec( ptr: *mut GPtrArray, num: usize ) -> Vec<T, Global>

source§

unsafe fn from_glib_full_num_as_vec( ptr: *mut GPtrArray, num: usize ) -> Vec<T, Global>

source§

impl<T> FromGlibContainerAsVec<<T as GlibPtrDefault>::GlibType, *mut GSList> for Twhere T: GlibPtrDefault + FromGlibPtrNone<<T as GlibPtrDefault>::GlibType> + FromGlibPtrFull<<T as GlibPtrDefault>::GlibType>,

source§

unsafe fn from_glib_none_num_as_vec( ptr: *mut GSList, num: usize ) -> Vec<T, Global>

source§

unsafe fn from_glib_container_num_as_vec( ptr: *mut GSList, num: usize ) -> Vec<T, Global>

source§

unsafe fn from_glib_full_num_as_vec( ptr: *mut GSList, num: usize ) -> Vec<T, Global>

source§

impl<T> FromGlibPtrArrayContainerAsVec<<T as GlibPtrDefault>::GlibType, *const GList> for Twhere T: GlibPtrDefault + FromGlibPtrNone<<T as GlibPtrDefault>::GlibType> + FromGlibPtrFull<<T as GlibPtrDefault>::GlibType>,

source§

impl<T> FromGlibPtrArrayContainerAsVec<<T as GlibPtrDefault>::GlibType, *const GPtrArray> for Twhere T: GlibPtrDefault + FromGlibPtrNone<<T as GlibPtrDefault>::GlibType> + FromGlibPtrFull<<T as GlibPtrDefault>::GlibType>,

source§

unsafe fn from_glib_none_as_vec(ptr: *const GPtrArray) -> Vec<T, Global>

source§

unsafe fn from_glib_container_as_vec(_: *const GPtrArray) -> Vec<T, Global>

source§

unsafe fn from_glib_full_as_vec(_: *const GPtrArray) -> Vec<T, Global>

source§

impl<T> FromGlibPtrArrayContainerAsVec<<T as GlibPtrDefault>::GlibType, *const GSList> for Twhere T: GlibPtrDefault + FromGlibPtrNone<<T as GlibPtrDefault>::GlibType> + FromGlibPtrFull<<T as GlibPtrDefault>::GlibType>,

source§

impl<T> FromGlibPtrArrayContainerAsVec<<T as GlibPtrDefault>::GlibType, *mut GList> for Twhere T: GlibPtrDefault + FromGlibPtrNone<<T as GlibPtrDefault>::GlibType> + FromGlibPtrFull<<T as GlibPtrDefault>::GlibType>,

source§

unsafe fn from_glib_none_as_vec(ptr: *mut GList) -> Vec<T, Global>

source§

unsafe fn from_glib_container_as_vec(ptr: *mut GList) -> Vec<T, Global>

source§

unsafe fn from_glib_full_as_vec(ptr: *mut GList) -> Vec<T, Global>

source§

impl<T> FromGlibPtrArrayContainerAsVec<<T as GlibPtrDefault>::GlibType, *mut GPtrArray> for Twhere T: GlibPtrDefault + FromGlibPtrNone<<T as GlibPtrDefault>::GlibType> + FromGlibPtrFull<<T as GlibPtrDefault>::GlibType>,

source§

unsafe fn from_glib_none_as_vec(ptr: *mut GPtrArray) -> Vec<T, Global>

source§

unsafe fn from_glib_container_as_vec(ptr: *mut GPtrArray) -> Vec<T, Global>

source§

unsafe fn from_glib_full_as_vec(ptr: *mut GPtrArray) -> Vec<T, Global>

source§

impl<T> FromGlibPtrArrayContainerAsVec<<T as GlibPtrDefault>::GlibType, *mut GSList> for Twhere T: GlibPtrDefault + FromGlibPtrNone<<T as GlibPtrDefault>::GlibType> + FromGlibPtrFull<<T as GlibPtrDefault>::GlibType>,

source§

unsafe fn from_glib_none_as_vec(ptr: *mut GSList) -> Vec<T, Global>

source§

unsafe fn from_glib_container_as_vec(ptr: *mut GSList) -> Vec<T, Global>

source§

unsafe fn from_glib_full_as_vec(ptr: *mut GSList) -> Vec<T, Global>

source§

impl<T, U> Into<U> for Twhere U: From<T>,

const: unstable · source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T> StaticTypeExt for Twhere T: StaticType,

source§

fn ensure_type()

Ensures that the type has been registered with the type system.
source§

impl<T> ToClosureReturnValue for Twhere T: ToValue,

source§

impl<T> ToOwned for Twhere T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T> ToString for Twhere T: Display + ?Sized,

source§

default fn to_string(&self) -> String

Converts the given value to a String. Read more
source§

impl<T, U> TryFrom<U> for Twhere U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
const: unstable · source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T> TryFromClosureReturnValue for Twhere T: for<'a> FromValue<'a> + StaticType + 'static,

source§

impl<T, U> TryInto<U> for Twhere U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
const: unstable · source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
source§

impl<'a, T, C> FromValueOptional<'a> for Twhere T: FromValue<'a, Checker = C>, C: ValueTypeChecker<Error = ValueTypeMismatchOrNoneError>,