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, storable_formats : Gdk::ContentFormats? = 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)?) : 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
-
#content_changed : Nil
Emits the ::content-changed signal.
- #content_changed_signal
- #formats : Gdk::ContentFormats?
-
#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?
-
#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?, callback : Gio::AsyncReadyCallback?, user_data : Pointer(Void)?) : 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
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)?
data,
finalize
finalize,
freeze_notify : Nil
freeze_notify,
getv(names : Enumerable(String), values : Enumerable(_)) : Nil
getv,
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)?
qdata,
ref_count : UInt32
ref_count,
run_dispose : Nil
run_dispose,
set_data(key : String, data : Pointer(Void)?) : Nil
set_data,
set_property(property_name : String, value : _) : Nil
set_property,
steal_data(key : String) : Pointer(Void)?
steal_data,
steal_qdata(quark : UInt32) : Pointer(Void)?
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,
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
compat_control(what : UInt64, data : Pointer(Void)?) : 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
Constructor Detail
Create a content provider that provides the given @bytes as data for the given @mime_type.
Create a content provider that provides the given @value.
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
Instance Method Detail
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.