class Gdk::ContentProvider
- Gdk::ContentProvider
- GObject::Object
- Reference
- Object
Overview
A Gdk::ContentProvider
is used to provide content for the clipboard or
for drag-and-drop operations in a number of formats.
To create a Gdk::ContentProvider
, use Gdk::ContentProvider#new_for_value
or Gdk::ContentProvider#new_for_bytes
.
GDK knows how to handle common text and image formats out-of-the-box. See
Gdk::ContentSerializer
and Gdk::ContentDeserializer
if you want
to add support for application-specific data formats.
Defined in:
lib/gi-crystal/src/auto/gdk-4.0/content_provider.crConstructors
-
.new
Initialize a new
ContentProvider
. - .new(*, formats : Gdk::ContentFormats | Nil = nil, storable_formats : Gdk::ContentFormats | Nil = nil)
-
.new_for_bytes(mime_type : String, bytes : GLib::Bytes) : self
Create a content provider that provides the given bytes as data for the given mime_type.
-
.new_for_value(value : _) : self
Create a content provider that provides the given value.
-
.new_union(providers : Enumerable(Gdk::ContentProvider) | Nil) : self
Creates a content provider that represents all the given providers.
Class Method Summary
-
.g_type : UInt64
Returns the type id (GType) registered in GLib type system.
- .new_union(*providers : Gdk::ContentProvider)
Instance Method Summary
-
#==(other : self)
Returns
true
if this reference is the same as other. -
#content_changed : Nil
Emits the ::content-changed signal.
- #content_changed_signal
- #formats : Gdk::ContentFormats | Nil
-
#hash(hasher)
See
Object#hash(hasher)
-
#ref_formats : Gdk::ContentFormats
Gets the formats that the provider can provide its current contents in.
-
#ref_storable_formats : Gdk::ContentFormats
Gets the formats that the provider suggests other applications to store the data in.
- #storable_formats : Gdk::ContentFormats | Nil
-
#value : GObject::Value
Gets the contents of provider stored in value.
-
#write_mime_type_async(mime_type : String, stream : Gio::OutputStream, io_priority : Int32, cancellable : Gio::Cancellable | Nil, &callback : Gio::AsyncReadyCallback) : Nil
Asynchronously writes the contents of provider to stream in the given mime_type.
-
#write_mime_type_finish(result : Gio::AsyncResult) : Bool
Finishes an asynchronous write operation.
Instance methods inherited from class GObject::Object
==(other : self)
==,
bind_property(source_property : String, target : GObject::Object, target_property : String, flags : GObject::BindingFlags) : GObject::Binding
bind_property,
bind_property_full(source_property : String, target : GObject::Object, target_property : String, flags : GObject::BindingFlags, transform_to : GObject::Closure, transform_from : GObject::Closure) : GObject::Binding
bind_property_full,
data(key : String) : Pointer(Void) | Nil
data,
finalize
finalize,
freeze_notify : Nil
freeze_notify,
getv(names : Enumerable(String), values : Enumerable(_)) : Nil
getv,
hash(hasher)
hash,
notify(property_name : String) : Nil
notify,
notify_by_pspec(pspec : GObject::ParamSpec) : Nil
notify_by_pspec,
notify_signal
notify_signal,
property(property_name : String, value : _) : Nil
property,
qdata(quark : UInt32) : Pointer(Void) | Nil
qdata,
ref_count : UInt32
ref_count,
run_dispose : Nil
run_dispose,
set_data(key : String, data : Pointer(Void) | Nil) : Nil
set_data,
set_property(property_name : String, value : _) : Nil
set_property,
steal_data(key : String) : Pointer(Void) | Nil
steal_data,
steal_qdata(quark : UInt32) : Pointer(Void) | Nil
steal_qdata,
thaw_notify : Nil
thaw_notify,
to_unsafe : Pointer(Void)
to_unsafe,
watch_closure(closure : GObject::Closure) : Nil
watch_closure
Constructor methods inherited from class GObject::Object
cast(obj : GObject::Object) : self
cast,
new(pointer : Pointer(Void), transfer : GICrystal::Transfer)new new, newv(object_type : UInt64, parameters : Enumerable(GObject::Parameter)) : self newv
Class methods inherited from class GObject::Object
cast?(obj : GObject::Object) : self | Nil
cast?,
compat_control(what : UInt64, data : Pointer(Void) | Nil) : UInt64
compat_control,
g_type : UInt64
g_type,
interface_find_property(g_iface : GObject::TypeInterface, property_name : String) : GObject::ParamSpec
interface_find_property,
interface_list_properties(g_iface : GObject::TypeInterface) : Enumerable(GObject::ParamSpec)
interface_list_properties
Macros inherited from class GObject::Object
previous_vfunc(*args)
previous_vfunc,
previous_vfunc!(*args)
previous_vfunc!,
signal(signature)
signal
Constructor Detail
Create a content provider that provides the given bytes as data for the given mime_type.
Creates a content provider that represents all the given providers.
Whenever data needs to be written, the union provider will try the given providers in the given order and the first one supporting a format will be chosen to provide it.
This allows an easy way to support providing data in different formats. For example, an image may be provided by its file and by the image contents with a call such as
WARNING ⚠️ The following code is in c ⚠️
gdk_content_provider_new_union ((Gdk::ContentProvider *[2]) {
gdk_content_provider_new_typed (G_TYPE_FILE, file),
gdk_content_provider_new_typed (G_TYPE_TEXTURE, texture)
}, 2);
Class Method Detail
Returns the type id (GType) registered in GLib type system.
Instance Method Detail
Returns true
if this reference is the same as other. Invokes same?
.
Gets the formats that the provider can provide its current contents in.
Gets the formats that the provider suggests other applications to store the data in.
An example of such an application would be a clipboard manager.
This can be assumed to be a subset of Gdk::ContentProvider#ref_formats
.
Gets the contents of provider stored in value.
The value will have been initialized to the GType
the value should be
provided in. This given GType
does not need to be listed in the formats
returned by Gdk::ContentProvider#ref_formats
. However, if the
given GType
is not supported, this operation can fail and
G_IO_ERROR_NOT_SUPPORTED
will be reported.
Asynchronously writes the contents of provider to stream in the given mime_type.
When the operation is finished callback will be called. You must then call
Gdk::ContentProvider#write_mime_type_finish
to get the result
of the operation.
The given mime type does not need to be listed in the formats returned by
Gdk::ContentProvider#ref_formats
. However, if the given GType
is
not supported, G_IO_ERROR_NOT_SUPPORTED
will be reported.
The given stream will not be closed.
Finishes an asynchronous write operation.