// GENERATED — DO NOT EDIT
///|
/// [Upstream documentation](https://docs.gtk.org/gio/class.FilenameCompleter.html).
pub type FilenameCompleter
///|
pub(open) trait IFilenameCompleter {
fn as_filename_completer(Self) -> FilenameCompleter
fn get_completion_suffix(Self, String) -> String? = _
fn set_dirs_only(Self, Bool) -> Unit = _
fn connect_got_completion_data(Self, (FilenameCompleter) -> Unit) -> UInt64 = _
}
///|
pub impl IFilenameCompleter for FilenameCompleter with fn as_filename_completer(
self,
) {
self
}
///|
/// Implementation contract for FilenameCompleter.got_completion_data. Self is the retained MoonBit state; the second parameter is the invoked FilenameCompleter object.
pub(open) trait VFilenameCompleterGotCompletionData {
fn got_completion_data(Self, FilenameCompleter) -> Unit
}
///|
/// [Upstream documentation](https://docs.gtk.org/gio/ctor.FilenameCompleter.new.html).
pub extern "c" fn FilenameCompleter::new() -> FilenameCompleter = "moonbit_g_filename_completer_new"
///|
#borrow(self_, initial_text)
extern "c" fn moonbit_g_filename_completer_get_completion_suffix(
self_ : FilenameCompleter,
initial_text : Bytes,
) -> @glib.Nullable[Bytes] = "moonbit_g_filename_completer_get_completion_suffix"
///|
/// [Upstream documentation](https://docs.gtk.org/gio/method.FilenameCompleter.get_completion_suffix.html).
pub fn FilenameCompleter::get_completion_suffix(
self : FilenameCompleter,
initial_text : String,
) -> String? {
let result = moonbit_g_filename_completer_get_completion_suffix(
self,
@encoding/utf8.encode(initial_text),
)
match result.to_option() {
Some(bytes) => Some(@encoding/utf8.decode_lossy(bytes))
None => None
}
}
///|
/// [Upstream documentation](https://docs.gtk.org/gio/method.FilenameCompleter.set_dirs_only.html).
#borrow(self)
pub extern "c" fn FilenameCompleter::set_dirs_only(
self : FilenameCompleter,
dirs_only : Bool,
) = "moonbit_g_filename_completer_set_dirs_only"
///|
#borrow(instance)
extern "c" fn g_filename_completer_connect_got_completion_data(
instance : FilenameCompleter,
function : FuncRef[(FilenameCompleter, (FilenameCompleter) -> Unit) -> Unit],
closure : (FilenameCompleter) -> Unit,
) -> UInt64 = "moonbit_g_filename_completer_connect_got_completion_data"
///|
/// [Upstream documentation](https://docs.gtk.org/gio/signal.FilenameCompleter.got-completion-data.html).
pub fn FilenameCompleter::connect_got_completion_data(
self : FilenameCompleter,
f : (FilenameCompleter) -> Unit,
) -> UInt64 {
g_filename_completer_connect_got_completion_data(
self,
fn(instance_, f) { f(instance_) },
f,
)
}
///|
impl IFilenameCompleter with fn get_completion_suffix(self, initial_text) -> String? {
self.as_filename_completer().get_completion_suffix(initial_text)
}
///|
impl IFilenameCompleter with fn set_dirs_only(self, dirs_only) -> Unit {
self.as_filename_completer().set_dirs_only(dirs_only)
}
///|
impl IFilenameCompleter with fn connect_got_completion_data(self, f) -> UInt64 {
self.as_filename_completer().connect_got_completion_data(f)
}
///|
pub fn FilenameCompleter::as_gobject_object(
self : FilenameCompleter,
) -> @gobject.Object = "%identity"
///|
pub impl @gobject.IObject for FilenameCompleter with fn as_object(self) {
self.as_gobject_object()
}