gtk4/auto/
password_entry_buffer.rs

1// This file was generated by gir (https://github.com/gtk-rs/gir)
2// from gir-files (https://github.com/gtk-rs/gir-files)
3// DO NOT EDIT
4
5use crate::{ffi, EntryBuffer};
6use glib::{prelude::*, translate::*};
7
8glib::wrapper! {
9    #[doc(alias = "GtkPasswordEntryBuffer")]
10    pub struct PasswordEntryBuffer(Object<ffi::GtkPasswordEntryBuffer, ffi::GtkPasswordEntryBufferClass>) @extends EntryBuffer;
11
12    match fn {
13        type_ => || ffi::gtk_password_entry_buffer_get_type(),
14    }
15}
16
17impl PasswordEntryBuffer {
18    #[doc(alias = "gtk_password_entry_buffer_new")]
19    pub fn new() -> PasswordEntryBuffer {
20        assert_initialized_main_thread!();
21        unsafe { EntryBuffer::from_glib_full(ffi::gtk_password_entry_buffer_new()).unsafe_cast() }
22    }
23
24    // rustdoc-stripper-ignore-next
25    /// Creates a new builder-pattern struct instance to construct [`PasswordEntryBuffer`] objects.
26    ///
27    /// This method returns an instance of [`PasswordEntryBufferBuilder`](crate::builders::PasswordEntryBufferBuilder) which can be used to create [`PasswordEntryBuffer`] objects.
28    pub fn builder() -> PasswordEntryBufferBuilder {
29        PasswordEntryBufferBuilder::new()
30    }
31}
32
33impl Default for PasswordEntryBuffer {
34    fn default() -> Self {
35        Self::new()
36    }
37}
38
39// rustdoc-stripper-ignore-next
40/// A [builder-pattern] type to construct [`PasswordEntryBuffer`] objects.
41///
42/// [builder-pattern]: https://doc.rust-lang.org/1.0.0/style/ownership/builders.html
43#[must_use = "The builder must be built to be used"]
44pub struct PasswordEntryBufferBuilder {
45    builder: glib::object::ObjectBuilder<'static, PasswordEntryBuffer>,
46}
47
48impl PasswordEntryBufferBuilder {
49    fn new() -> Self {
50        Self {
51            builder: glib::object::Object::builder(),
52        }
53    }
54
55    pub fn max_length(self, max_length: i32) -> Self {
56        Self {
57            builder: self.builder.property("max-length", max_length),
58        }
59    }
60
61    pub fn text(self, text: impl Into<glib::GString>) -> Self {
62        Self {
63            builder: self.builder.property("text", text.into()),
64        }
65    }
66
67    // rustdoc-stripper-ignore-next
68    /// Build the [`PasswordEntryBuffer`].
69    #[must_use = "Building the object from the builder is usually expensive and is not expected to have side effects"]
70    pub fn build(self) -> PasswordEntryBuffer {
71        assert_initialized_main_thread!();
72        self.builder.build()
73    }
74}