// GENERATED — DO NOT EDIT
///|
/// [Upstream documentation](https://docs.gtk.org/gdk4/class.ContentProvider.html).
pub type ContentProvider
///|
pub(open) trait IContentProvider {
fn as_content_provider(Self) -> ContentProvider
fn content_changed(Self) -> Unit = _
fn connect_content_changed(Self, (ContentProvider) -> Unit) -> UInt64 = _
}
///|
pub impl IContentProvider for ContentProvider with fn as_content_provider(self) {
self
}
///|
/// Implementation contract for ContentProvider.attach_clipboard. Self is the retained MoonBit state; the second parameter is the invoked ContentProvider object.
pub(open) trait VContentProviderAttachClipboard {
fn attach_clipboard(Self, ContentProvider, &IClipboard) -> Unit
}
///|
/// Implementation contract for ContentProvider.content_changed. Self is the retained MoonBit state; the second parameter is the invoked ContentProvider object.
pub(open) trait VContentProviderContentChanged {
fn content_changed(Self, ContentProvider) -> Unit
}
///|
/// Implementation contract for ContentProvider.detach_clipboard. Self is the retained MoonBit state; the second parameter is the invoked ContentProvider object.
pub(open) trait VContentProviderDetachClipboard {
fn detach_clipboard(Self, ContentProvider, &IClipboard) -> Unit
}
///|
#borrow(mime_type, bytes)
extern "c" fn moonbit_gdk_content_provider_new_for_bytes(
mime_type : Bytes,
bytes : Bytes,
) -> ContentProvider = "moonbit_gdk_content_provider_new_for_bytes"
///|
/// [Upstream documentation](https://docs.gtk.org/gdk4/ctor.ContentProvider.new_for_bytes.html).
pub fn ContentProvider::new_for_bytes(
mime_type : String,
bytes : Bytes,
) -> ContentProvider {
moonbit_gdk_content_provider_new_for_bytes(
@encoding/utf8.encode(mime_type),
bytes,
)
}
///|
/// [Upstream documentation](https://docs.gtk.org/gdk4/method.ContentProvider.content_changed.html).
#borrow(self)
pub extern "c" fn ContentProvider::content_changed(self : ContentProvider) = "moonbit_gdk_content_provider_content_changed"
///|
#borrow(instance)
extern "c" fn gdk_content_provider_connect_content_changed(
instance : ContentProvider,
function : FuncRef[(ContentProvider, (ContentProvider) -> Unit) -> Unit],
closure : (ContentProvider) -> Unit,
) -> UInt64 = "moonbit_gdk_content_provider_connect_content_changed"
///|
/// [Upstream documentation](https://docs.gtk.org/gdk4/signal.ContentProvider.content-changed.html).
pub fn ContentProvider::connect_content_changed(
self : ContentProvider,
f : (ContentProvider) -> Unit,
) -> UInt64 {
gdk_content_provider_connect_content_changed(
self,
fn(instance_, f) { f(instance_) },
f,
)
}
///|
impl IContentProvider with fn content_changed(self) -> Unit {
self.as_content_provider().content_changed()
}
///|
impl IContentProvider with fn connect_content_changed(self, f) -> UInt64 {
self.as_content_provider().connect_content_changed(f)
}
///|
pub fn ContentProvider::as_gobject_object(
self : ContentProvider,
) -> @gobject.Object = "%identity"
///|
pub impl @gobject.IObject for ContentProvider with fn as_object(self) {
self.as_gobject_object()
}