Gdk.ContentProvider¶
class — extends GObject.Object
Provides content for the clipboard or for drag-and-drop operations in a number of formats.
To create a GdkContentProvider, use ContentProvider.new_for_value
or ContentProvider.new_for_bytes.
GDK knows how to handle common text and image formats out-of-the-box. See
ContentSerializer and ContentDeserializer if you want
to add support for application-specific data formats.
Constructors¶
new_for_bytes¶
Create a content provider that provides the given bytes as data for
the given mime_type.
Parameters:
mime_type— the mime typebytes— aGByteswith the data formime_type
new_for_value¶
Create a content provider that provides the given value.
Parameters:
value— aGValue
new_union¶
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
gdk_content_provider_new_union ((GdkContentProvider *[2]) {
gdk_content_provider_new_typed (G_TYPE_FILE, file),
gdk_content_provider_new_typed (GDK_TYPE_TEXTURE, texture)
}, 2);
Parameters:
providers— TheGdkContentProviders to present the union of
Methods¶
content_changed¶
Emits the ::content-changed signal.
get_value¶
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 ContentProvider.ref_formats. However, if the
given GType is not supported, this operation can fail and
G_IO_ERROR_NOT_SUPPORTED will be reported.
ref_formats¶
Gets the formats that the provider can provide its current contents in.
ref_storable_formats¶
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 ContentProvider.ref_formats.
write_mime_type_async¶
def write_mime_type_async(self, mime_type: str, stream: Gio.OutputStream, io_priority: int, cancellable: Gio.Cancellable | None = ..., callback: Gio.AsyncReadyCallback | None = ...) -> None
Asynchronously writes the contents of provider to stream in the given
mime_type.
The given mime type does not need to be listed in the formats returned by
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.
Parameters:
mime_type— the mime type to provide the data instream— theGOutputStreamto write toio_priority— I/O priority of the request.cancellable— optionalGCancellableobject,Noneto ignore.callback— callback to call when the request is satisfied
write_mime_type_finish¶
Finishes an asynchronous write operation.
See ContentProvider.write_mime_type_async.
Parameters:
result— aGAsyncResult
Virtual methods¶
do_attach_clipboard¶
do_content_changed¶
Emits the ::content-changed signal.
do_detach_clipboard¶
do_get_value¶
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 ContentProvider.ref_formats. However, if the
given GType is not supported, this operation can fail and
G_IO_ERROR_NOT_SUPPORTED will be reported.
do_ref_formats¶
Gets the formats that the provider can provide its current contents in.
do_ref_storable_formats¶
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 ContentProvider.ref_formats.
do_write_mime_type_async¶
def do_write_mime_type_async(self, mime_type: str, stream: Gio.OutputStream, io_priority: int, cancellable: Gio.Cancellable | None = ..., callback: Gio.AsyncReadyCallback | None = ...) -> None
Asynchronously writes the contents of provider to stream in the given
mime_type.
The given mime type does not need to be listed in the formats returned by
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.
Parameters:
mime_type— the mime type to provide the data instream— theGOutputStreamto write toio_priority— I/O priority of the request.cancellable— optionalGCancellableobject,Noneto ignore.callback— callback to call when the request is satisfied
do_write_mime_type_finish¶
Finishes an asynchronous write operation.
See ContentProvider.write_mime_type_async.
Parameters:
result— aGAsyncResult
Properties¶
formats¶
The possible formats that the provider can provide its data in.
storable_formats¶
The subset of formats that clipboard managers should store this provider's data in.
Signals¶
content-changed¶
Emitted whenever the content provided by this provider has changed.