Copyright | Will Thompson Iñaki García Etxebarria and Jonas Platte |
---|---|
License | LGPL-2.1 |
Maintainer | Iñaki García Etxebarria |
Safe Haskell | None |
Language | Haskell2010 |
A GdkContentProvider is used to provide content for the clipboard in a number of formats.
To create a GdkContentProvider, use contentProviderNewForValue
or
contentProviderNewForBytes
.
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.
Synopsis
- newtype ContentProvider = ContentProvider (ManagedPtr ContentProvider)
- class (GObject o, IsDescendantOf ContentProvider o) => IsContentProvider o
- toContentProvider :: (MonadIO m, IsContentProvider o) => o -> m ContentProvider
- contentProviderContentChanged :: (HasCallStack, MonadIO m, IsContentProvider a) => a -> m ()
- contentProviderGetValue :: (HasCallStack, MonadIO m, IsContentProvider a) => a -> GValue -> m ()
- contentProviderNewForBytes :: (HasCallStack, MonadIO m) => Text -> Bytes -> m ContentProvider
- contentProviderNewForValue :: (HasCallStack, MonadIO m) => GValue -> m ContentProvider
- contentProviderNewUnion :: (HasCallStack, MonadIO m) => Maybe [ContentProvider] -> m ContentProvider
- contentProviderRefFormats :: (HasCallStack, MonadIO m, IsContentProvider a) => a -> m ContentFormats
- contentProviderRefStorableFormats :: (HasCallStack, MonadIO m, IsContentProvider a) => a -> m ContentFormats
- contentProviderWriteMimeTypeAsync :: (HasCallStack, MonadIO m, IsContentProvider a, IsOutputStream b, IsCancellable c) => a -> Text -> b -> Int32 -> Maybe c -> Maybe AsyncReadyCallback -> m ()
- contentProviderWriteMimeTypeFinish :: (HasCallStack, MonadIO m, IsContentProvider a, IsAsyncResult b) => a -> b -> m ()
- getContentProviderFormats :: (MonadIO m, IsContentProvider o) => o -> m (Maybe ContentFormats)
- getContentProviderStorableFormats :: (MonadIO m, IsContentProvider o) => o -> m (Maybe ContentFormats)
- type C_ContentProviderContentChangedCallback = Ptr () -> Ptr () -> IO ()
- type ContentProviderContentChangedCallback = IO ()
- afterContentProviderContentChanged :: (IsContentProvider a, MonadIO m) => a -> ContentProviderContentChangedCallback -> m SignalHandlerId
- genClosure_ContentProviderContentChanged :: MonadIO m => ContentProviderContentChangedCallback -> m (GClosure C_ContentProviderContentChangedCallback)
- mk_ContentProviderContentChangedCallback :: C_ContentProviderContentChangedCallback -> IO (FunPtr C_ContentProviderContentChangedCallback)
- noContentProviderContentChangedCallback :: Maybe ContentProviderContentChangedCallback
- onContentProviderContentChanged :: (IsContentProvider a, MonadIO m) => a -> ContentProviderContentChangedCallback -> m SignalHandlerId
- wrap_ContentProviderContentChangedCallback :: ContentProviderContentChangedCallback -> C_ContentProviderContentChangedCallback
Exported types
newtype ContentProvider Source #
Memory-managed wrapper type.
Instances
Eq ContentProvider Source # | |
Defined in GI.Gdk.Objects.ContentProvider (==) :: ContentProvider -> ContentProvider -> Bool # (/=) :: ContentProvider -> ContentProvider -> Bool # | |
IsGValue ContentProvider Source # | Convert |
Defined in GI.Gdk.Objects.ContentProvider toGValue :: ContentProvider -> IO GValue # fromGValue :: GValue -> IO ContentProvider # | |
ManagedPtrNewtype ContentProvider Source # | |
Defined in GI.Gdk.Objects.ContentProvider | |
TypedObject ContentProvider Source # | |
Defined in GI.Gdk.Objects.ContentProvider | |
GObject ContentProvider Source # | |
Defined in GI.Gdk.Objects.ContentProvider | |
HasParentTypes ContentProvider Source # | |
Defined in GI.Gdk.Objects.ContentProvider | |
type ParentTypes ContentProvider Source # | |
Defined in GI.Gdk.Objects.ContentProvider |
class (GObject o, IsDescendantOf ContentProvider o) => IsContentProvider o Source #
Type class for types which can be safely cast to ContentProvider
, for instance with toContentProvider
.
Instances
(GObject o, IsDescendantOf ContentProvider o) => IsContentProvider o Source # | |
Defined in GI.Gdk.Objects.ContentProvider |
toContentProvider :: (MonadIO m, IsContentProvider o) => o -> m ContentProvider Source #
Cast to ContentProvider
, for types for which this is known to be safe. For general casts, use castTo
.
Methods
Overloaded methods
contentChanged
contentProviderContentChanged Source #
:: (HasCallStack, MonadIO m, IsContentProvider a) | |
=> a |
|
-> m () |
Emits the contentChanged signal.
getValue
contentProviderGetValue Source #
:: (HasCallStack, MonadIO m, IsContentProvider a) | |
=> a |
|
-> GValue |
|
-> m () | (Can throw |
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 contentProviderRefFormats
. However, if the given
GType
is not supported, this operation can fail and
G_IO_ERROR_NOT_SUPPORTED
will be reported.
newForBytes
contentProviderNewForBytes Source #
:: (HasCallStack, MonadIO m) | |
=> Text |
|
-> Bytes |
|
-> m ContentProvider | Returns: a new |
Create a content provider that provides the given bytes
as data for
the given mimeType
.
newForValue
contentProviderNewForValue Source #
:: (HasCallStack, MonadIO m) | |
=> GValue |
|
-> m ContentProvider | Returns: a new |
Create a content provider that provides the given value
.
newUnion
contentProviderNewUnion Source #
:: (HasCallStack, MonadIO m) | |
=> Maybe [ContentProvider] |
|
-> m ContentProvider | Returns: a new |
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 iamge contents with a call such as
C code
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);
refFormats
contentProviderRefFormats Source #
:: (HasCallStack, MonadIO m, IsContentProvider a) | |
=> a |
|
-> m ContentFormats | Returns: The formats of the provider |
Gets the formats that the provider can provide its current contents in.
refStorableFormats
contentProviderRefStorableFormats Source #
:: (HasCallStack, MonadIO m, IsContentProvider a) | |
=> a |
|
-> m ContentFormats | Returns: The storable formats of the provider |
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 contentProviderRefFormats
.
writeMimeTypeAsync
contentProviderWriteMimeTypeAsync Source #
:: (HasCallStack, MonadIO m, IsContentProvider a, IsOutputStream b, IsCancellable c) | |
=> a |
|
-> Text |
|
-> b |
|
-> Int32 |
|
-> Maybe c |
|
-> Maybe AsyncReadyCallback |
|
-> m () |
Asynchronously writes the contents of provider
to stream
in the given
mimeType
. When the operation is finished callback
will be called. You
can then call contentProviderWriteMimeTypeFinish
to get the
result of the operation.
The given mime type does not need to be listed in the formats returned by
contentProviderRefFormats
. However, if the given GType
is not
supported, G_IO_ERROR_NOT_SUPPORTED
will be reported.
The given stream
will not be closed.
writeMimeTypeFinish
contentProviderWriteMimeTypeFinish Source #
:: (HasCallStack, MonadIO m, IsContentProvider a, IsAsyncResult b) | |
=> a |
|
-> b |
|
-> m () | (Can throw |
Finishes an asynchronous write operation started with
contentProviderWriteMimeTypeAsync
.
Properties
formats
The possible formats that the provider can provide its data in.
getContentProviderFormats :: (MonadIO m, IsContentProvider o) => o -> m (Maybe ContentFormats) Source #
Get the value of the “formats
” property.
When overloading is enabled, this is equivalent to
get
contentProvider #formats
storableFormats
The subset of formats that clipboard managers should store this provider's data in.
getContentProviderStorableFormats :: (MonadIO m, IsContentProvider o) => o -> m (Maybe ContentFormats) Source #
Get the value of the “storable-formats
” property.
When overloading is enabled, this is equivalent to
get
contentProvider #storableFormats
Signals
contentChanged
type C_ContentProviderContentChangedCallback = Ptr () -> Ptr () -> IO () Source #
Type for the callback on the (unwrapped) C side.
type ContentProviderContentChangedCallback = IO () Source #
Emitted whenever the content provided by this provider has changed.
afterContentProviderContentChanged :: (IsContentProvider a, MonadIO m) => a -> ContentProviderContentChangedCallback -> m SignalHandlerId Source #
Connect a signal handler for the contentChanged signal, to be run after the default handler. When overloading is enabled, this is equivalent to
after
contentProvider #contentChanged callback
genClosure_ContentProviderContentChanged :: MonadIO m => ContentProviderContentChangedCallback -> m (GClosure C_ContentProviderContentChangedCallback) Source #
Wrap the callback into a GClosure
.
mk_ContentProviderContentChangedCallback :: C_ContentProviderContentChangedCallback -> IO (FunPtr C_ContentProviderContentChangedCallback) Source #
Generate a function pointer callable from C code, from a C_ContentProviderContentChangedCallback
.
noContentProviderContentChangedCallback :: Maybe ContentProviderContentChangedCallback Source #
A convenience synonym for
.Nothing
:: Maybe
ContentProviderContentChangedCallback
onContentProviderContentChanged :: (IsContentProvider a, MonadIO m) => a -> ContentProviderContentChangedCallback -> m SignalHandlerId Source #
Connect a signal handler for the contentChanged signal, to be run before the default handler. When overloading is enabled, this is equivalent to
on
contentProvider #contentChanged callback