ContentProvider
Superclasses: Object
A GdkContentProvider
is used to provide content for the clipboard or
for drag-and-drop operations in a number of formats.
To create a GdkContentProvider
, use new_for_value
or 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
- class ContentProvider
- classmethod new_for_bytes(mime_type: str, bytes: Bytes) ContentProvider
Create a content provider that provides the given
bytes
as data for the givenmime_type
.- Parameters:
mime_type – the mime type
bytes – a
GBytes
with the data formime_type
- classmethod new_for_value(value: Any) ContentProvider
Create a content provider that provides the given
value
.- Parameters:
value – a
GValue
- classmethod new_union(providers: Sequence[ContentProvider] | None = None) ContentProvider
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 (G_TYPE_TEXTURE, texture) }, 2);
- Parameters:
providers – The
GdkContentProvider
’s to present the union of
Methods
- class ContentProvider
-
- get_value() tuple[bool, Any]
Gets the contents of
provider
stored invalue
.The
value
will have been initialized to theGType
the value should be provided in. This givenGType
does not need to be listed in the formats returned byref_formats
. However, if the givenGType
is not supported, this operation can fail andG_IO_ERROR_NOT_SUPPORTED
will be reported.
- write_mime_type_async(mime_type: str, stream: OutputStream, io_priority: int, cancellable: Cancellable | None = None, callback: Callable[[...], None] | None = None, *user_data: Any) None
Asynchronously writes the contents of
provider
tostream
in the givenmime_type
.When the operation is finished
callback
will be called. You must then callwrite_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
ref_formats
. However, if the givenGType
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 in
stream – the
GOutputStream
to write toio_priority – I/O priority of the request.
cancellable – optional
GCancellable
object,None
to ignore.callback – callback to call when the request is satisfied
user_data – the data to pass to callback function
- write_mime_type_finish(result: AsyncResult) bool
Finishes an asynchronous write operation.
- Parameters:
result – a
GAsyncResult
Properties
- class ContentProvider
- props.formats: ContentFormats
The possible formats that the provider can provide its data in.
- props.storable_formats: ContentFormats
The subset of formats that clipboard managers should store this provider’s data in.
Signals
Virtual Methods
- class ContentProvider
-
- do_get_value() tuple[bool, Any]
Gets the contents of
provider
stored invalue
.The
value
will have been initialized to theGType
the value should be provided in. This givenGType
does not need to be listed in the formats returned byref_formats
. However, if the givenGType
is not supported, this operation can fail andG_IO_ERROR_NOT_SUPPORTED
will be reported.
- do_ref_formats() ContentFormats
Gets the formats that the provider can provide its current contents in.
- do_ref_storable_formats() ContentFormats
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
ref_formats
.
- do_write_mime_type_async(mime_type: str, stream: OutputStream, io_priority: int, cancellable: Cancellable | None = None, callback: Callable[[...], None] | None = None, *user_data: Any) None
Asynchronously writes the contents of
provider
tostream
in the givenmime_type
.When the operation is finished
callback
will be called. You must then callwrite_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
ref_formats
. However, if the givenGType
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 in
stream – the
GOutputStream
to write toio_priority – I/O priority of the request.
cancellable – optional
GCancellable
object,None
to ignore.callback – callback to call when the request is satisfied
user_data – the data to pass to callback function
- do_write_mime_type_finish(result: AsyncResult) bool
Finishes an asynchronous write operation.
- Parameters:
result – a
GAsyncResult
Fields
- class ContentProvider
- parent