Move documentation to inline comments: GtkClipboard
This commit is contained in:
1
docs/reference/gtk/tmpl/.gitignore
vendored
1
docs/reference/gtk/tmpl/.gitignore
vendored
@ -21,6 +21,7 @@ gtkcellrenderertoggle.sgml
|
|||||||
gtkcellview.sgml
|
gtkcellview.sgml
|
||||||
gtkcheckbutton.sgml
|
gtkcheckbutton.sgml
|
||||||
gtkcheckmenuitem.sgml
|
gtkcheckmenuitem.sgml
|
||||||
|
gtkclipboard.sgml
|
||||||
gtkcolorbutton.sgml
|
gtkcolorbutton.sgml
|
||||||
gtkcolorsel.sgml
|
gtkcolorsel.sgml
|
||||||
gtkcombobox.sgml
|
gtkcombobox.sgml
|
||||||
|
|||||||
@ -1,499 +0,0 @@
|
|||||||
<!-- ##### SECTION Title ##### -->
|
|
||||||
Clipboards
|
|
||||||
|
|
||||||
<!-- ##### SECTION Short_Description ##### -->
|
|
||||||
Storing data on clipboards
|
|
||||||
|
|
||||||
<!-- ##### SECTION Long_Description ##### -->
|
|
||||||
<para>
|
|
||||||
The #GtkClipboard object represents a clipboard of data shared
|
|
||||||
between different processes or between different widgets in
|
|
||||||
the same process. Each clipboard is identified by a name encoded as a
|
|
||||||
#GdkAtom. (Conversion to and from strings can be done with
|
|
||||||
gdk_atom_intern() and gdk_atom_name().) The default clipboard
|
|
||||||
corresponds to the "CLIPBOARD" atom; another commonly used clipboard
|
|
||||||
is the "PRIMARY" clipboard, which, in X, traditionally contains
|
|
||||||
the currently selected text.
|
|
||||||
</para>
|
|
||||||
<para>
|
|
||||||
To support having a number of different formats on the clipboard
|
|
||||||
at the same time, the clipboard mechanism allows providing
|
|
||||||
callbacks instead of the actual data. When you set the contents
|
|
||||||
of the clipboard, you can either supply the data directly (via
|
|
||||||
functions like gtk_clipboard_set_text()), or you can supply a
|
|
||||||
callback to be called at a later time when the data is needed (via
|
|
||||||
gtk_clipboard_set_with_data() or gtk_clipboard_set_with_owner().)
|
|
||||||
Providing a callback also avoids having to make copies of the data
|
|
||||||
when it is not needed.
|
|
||||||
</para>
|
|
||||||
<para>
|
|
||||||
gtk_clipboard_set_with_data() and gtk_clipboard_set_with_owner()
|
|
||||||
are quite similar; the choice between the two depends mostly on
|
|
||||||
which is more convenient in a particular situation.
|
|
||||||
The former is most useful when you want to have a blob of data
|
|
||||||
with callbacks to convert it into the various data types that you
|
|
||||||
advertise. When the @clear_func you provided is called, you
|
|
||||||
simply free the data blob. The latter is more useful when the
|
|
||||||
contents of clipboard reflect the internal state of a #GObject
|
|
||||||
(As an example, for the PRIMARY clipboard, when an entry widget
|
|
||||||
provides the clipboard's contents the contents are simply the
|
|
||||||
text within the selected region.) If the contents change, the
|
|
||||||
entry widget can call gtk_clipboard_set_with_owner() to update
|
|
||||||
the timestamp for clipboard ownership, without having to worry
|
|
||||||
about @clear_func being called.
|
|
||||||
</para>
|
|
||||||
<para>
|
|
||||||
Requesting the data from the clipboard is essentially
|
|
||||||
asynchronous. If the contents of the clipboard are provided within
|
|
||||||
the same process, then a direct function call will be made to
|
|
||||||
retrieve the data, but if they are provided by another process,
|
|
||||||
then the data needs to be retrieved from the other process, which
|
|
||||||
may take some time. To avoid blocking the user interface, the call
|
|
||||||
to request the selection, gtk_clipboard_request_contents() takes a
|
|
||||||
callback that will be called when the contents are received (or
|
|
||||||
when the request fails.) If you don't want to deal with providing
|
|
||||||
a separate callback, you can also use gtk_clipboard_wait_for_contents().
|
|
||||||
What this does is run the GLib main loop recursively waiting for
|
|
||||||
the contents. This can simplify the code flow, but you still have
|
|
||||||
to be aware that other callbacks in your program can be called
|
|
||||||
while this recursive mainloop is running.
|
|
||||||
</para>
|
|
||||||
<para>
|
|
||||||
Along with the functions to get the clipboard contents as an
|
|
||||||
arbitrary data chunk, there are also functions to retrieve
|
|
||||||
it as text, gtk_clipboard_request_text() and
|
|
||||||
gtk_clipboard_wait_for_text(). These functions take care of
|
|
||||||
determining which formats are advertised by the clipboard
|
|
||||||
provider, asking for the clipboard in the best available format
|
|
||||||
and converting the results into the UTF-8 encoding. (The standard
|
|
||||||
form for representing strings in GTK+.)
|
|
||||||
</para>
|
|
||||||
|
|
||||||
<!-- ##### SECTION See_Also ##### -->
|
|
||||||
<para>
|
|
||||||
<variablelist>
|
|
||||||
|
|
||||||
<varlistentry>
|
|
||||||
<term>#GtkSelection</term>
|
|
||||||
<listitem><para>#GtkClipboard provides a high-level wrapper around the
|
|
||||||
lower level routines that deal with X selections. It is
|
|
||||||
also possibly to directly manipulate the X selections,
|
|
||||||
though it is seldom necessary to do so.</para></listitem>
|
|
||||||
</varlistentry>
|
|
||||||
|
|
||||||
</variablelist>
|
|
||||||
</para>
|
|
||||||
|
|
||||||
<!-- ##### SECTION Stability_Level ##### -->
|
|
||||||
|
|
||||||
|
|
||||||
<!-- ##### SECTION Image ##### -->
|
|
||||||
|
|
||||||
|
|
||||||
<!-- ##### STRUCT GtkClipboard ##### -->
|
|
||||||
<para>
|
|
||||||
|
|
||||||
</para>
|
|
||||||
|
|
||||||
|
|
||||||
<!-- ##### SIGNAL GtkClipboard::owner-change ##### -->
|
|
||||||
<para>
|
|
||||||
|
|
||||||
</para>
|
|
||||||
|
|
||||||
@clipboard: the object which received the signal.
|
|
||||||
@event:
|
|
||||||
|
|
||||||
<!-- ##### USER_FUNCTION GtkClipboardReceivedFunc ##### -->
|
|
||||||
<para>
|
|
||||||
A function to be called when the results of gtk_clipboard_request_contents()
|
|
||||||
are received, or when the request fails.
|
|
||||||
</para>
|
|
||||||
|
|
||||||
@clipboard: the #GtkClipboard
|
|
||||||
@selection_data: a #GtkSelectionData containing the data was received.
|
|
||||||
If retrieving the data failed, then then length field
|
|
||||||
of @selection_data will be negative.
|
|
||||||
@data: the @user_data supplied to gtk_clipboard_request_contents().
|
|
||||||
|
|
||||||
|
|
||||||
<!-- ##### USER_FUNCTION GtkClipboardTextReceivedFunc ##### -->
|
|
||||||
<para>
|
|
||||||
A function to be called when the results of gtk_clipboard_request_text()
|
|
||||||
are received, or when the request fails.
|
|
||||||
</para>
|
|
||||||
|
|
||||||
@clipboard: the #GtkClipboard
|
|
||||||
@text: the text received, as a UTF-8 encoded string, or %NULL
|
|
||||||
if retrieving the data failed.
|
|
||||||
@data: the @user_data supplied to gtk_clipboard_request_text().
|
|
||||||
|
|
||||||
|
|
||||||
<!-- ##### USER_FUNCTION GtkClipboardImageReceivedFunc ##### -->
|
|
||||||
<para>
|
|
||||||
A function to be called when the results of gtk_clipboard_request_image()
|
|
||||||
are received, or when the request fails.
|
|
||||||
</para>
|
|
||||||
|
|
||||||
@clipboard: the #GtkClipboard
|
|
||||||
@pixbuf: the received image
|
|
||||||
@data: the @user_data supplied to gtk_clipboard_request_image().
|
|
||||||
@Since: 2.6
|
|
||||||
|
|
||||||
|
|
||||||
<!-- ##### USER_FUNCTION GtkClipboardTargetsReceivedFunc ##### -->
|
|
||||||
<para>
|
|
||||||
A function to be called when the results of gtk_clipboard_request_targets()
|
|
||||||
are received, or when the request fails.
|
|
||||||
</para>
|
|
||||||
|
|
||||||
@clipboard: the #GtkClipboard
|
|
||||||
@atoms: the supported targets, as array of #GdkAtom, or %NULL
|
|
||||||
if retrieving the data failed.
|
|
||||||
@n_atoms: the length of the @atoms array.
|
|
||||||
@data: the @user_data supplied to gtk_clipboard_request_targets().
|
|
||||||
@Since: 2.4
|
|
||||||
|
|
||||||
|
|
||||||
<!-- ##### USER_FUNCTION GtkClipboardRichTextReceivedFunc ##### -->
|
|
||||||
<para>
|
|
||||||
|
|
||||||
</para>
|
|
||||||
|
|
||||||
@clipboard:
|
|
||||||
@format:
|
|
||||||
@text:
|
|
||||||
@length:
|
|
||||||
@data:
|
|
||||||
|
|
||||||
|
|
||||||
<!-- ##### USER_FUNCTION GtkClipboardURIReceivedFunc ##### -->
|
|
||||||
<para>
|
|
||||||
|
|
||||||
</para>
|
|
||||||
|
|
||||||
@clipboard:
|
|
||||||
@uris:
|
|
||||||
@data:
|
|
||||||
|
|
||||||
|
|
||||||
<!-- ##### USER_FUNCTION GtkClipboardGetFunc ##### -->
|
|
||||||
<para>
|
|
||||||
A function that will be called to provide the contents of the selection.
|
|
||||||
If multiple types of data were advertised, the requested type can
|
|
||||||
be determined from the @info parameter or by checking the target field
|
|
||||||
of @selection_data. If the data could successfully be converted into
|
|
||||||
then it should be stored into the @selection_data object by
|
|
||||||
calling gtk_selection_data_set() (or related functions such
|
|
||||||
as gtk_selection_data_set_text()). If no data is set, the requestor
|
|
||||||
will be informed that the attempt to get the data failed.
|
|
||||||
</para>
|
|
||||||
|
|
||||||
@clipboard: the #GtkClipboard
|
|
||||||
@selection_data: a #GtkSelectionData argument in which the requested
|
|
||||||
data should be stored.
|
|
||||||
@info: the info field corresponding to the requested
|
|
||||||
target from the #GtkTargetEntry array passed to
|
|
||||||
gtk_clipboard_set_with_data() or gtk_clipboard_set_with_owner().
|
|
||||||
@user_data_or_owner: the @user_data argument passed to gtk_clipboard_set_with_data(), or
|
|
||||||
the @owner argument passed to gtk_clipboard_set_with_owner()
|
|
||||||
|
|
||||||
|
|
||||||
<!-- ##### USER_FUNCTION GtkClipboardClearFunc ##### -->
|
|
||||||
<para>
|
|
||||||
A function that will be called when the contents of the clipboard are changed
|
|
||||||
or cleared. Once this has called, the @user_data_or_owner argument
|
|
||||||
will not be used again.
|
|
||||||
</para>
|
|
||||||
|
|
||||||
@clipboard: the #GtkClipboard
|
|
||||||
@user_data_or_owner: the @user_data argument passed to gtk_clipboard_set_with_data(), or
|
|
||||||
the @owner argument passed to gtk_clipboard_set_with_owner()
|
|
||||||
|
|
||||||
|
|
||||||
<!-- ##### FUNCTION gtk_clipboard_get ##### -->
|
|
||||||
<para>
|
|
||||||
|
|
||||||
</para>
|
|
||||||
|
|
||||||
@selection:
|
|
||||||
@Returns:
|
|
||||||
|
|
||||||
|
|
||||||
<!-- ##### FUNCTION gtk_clipboard_get_for_display ##### -->
|
|
||||||
<para>
|
|
||||||
|
|
||||||
</para>
|
|
||||||
|
|
||||||
@display:
|
|
||||||
@selection:
|
|
||||||
@Returns:
|
|
||||||
|
|
||||||
|
|
||||||
<!-- ##### FUNCTION gtk_clipboard_get_display ##### -->
|
|
||||||
<para>
|
|
||||||
|
|
||||||
</para>
|
|
||||||
|
|
||||||
@clipboard:
|
|
||||||
@Returns:
|
|
||||||
|
|
||||||
|
|
||||||
<!-- ##### FUNCTION gtk_clipboard_set_with_data ##### -->
|
|
||||||
<para>
|
|
||||||
|
|
||||||
</para>
|
|
||||||
|
|
||||||
@clipboard:
|
|
||||||
@targets:
|
|
||||||
@n_targets:
|
|
||||||
@get_func:
|
|
||||||
@clear_func:
|
|
||||||
@user_data:
|
|
||||||
@Returns:
|
|
||||||
|
|
||||||
|
|
||||||
<!-- ##### FUNCTION gtk_clipboard_set_with_owner ##### -->
|
|
||||||
<para>
|
|
||||||
|
|
||||||
</para>
|
|
||||||
|
|
||||||
@clipboard:
|
|
||||||
@targets:
|
|
||||||
@n_targets:
|
|
||||||
@get_func:
|
|
||||||
@clear_func:
|
|
||||||
@owner:
|
|
||||||
@Returns:
|
|
||||||
|
|
||||||
|
|
||||||
<!-- ##### FUNCTION gtk_clipboard_get_owner ##### -->
|
|
||||||
<para>
|
|
||||||
|
|
||||||
</para>
|
|
||||||
|
|
||||||
@clipboard:
|
|
||||||
@Returns:
|
|
||||||
|
|
||||||
|
|
||||||
<!-- ##### FUNCTION gtk_clipboard_clear ##### -->
|
|
||||||
<para>
|
|
||||||
|
|
||||||
</para>
|
|
||||||
|
|
||||||
@clipboard:
|
|
||||||
|
|
||||||
|
|
||||||
<!-- ##### FUNCTION gtk_clipboard_set_text ##### -->
|
|
||||||
<para>
|
|
||||||
|
|
||||||
</para>
|
|
||||||
|
|
||||||
@clipboard:
|
|
||||||
@text:
|
|
||||||
@len:
|
|
||||||
|
|
||||||
|
|
||||||
<!-- ##### FUNCTION gtk_clipboard_set_image ##### -->
|
|
||||||
<para>
|
|
||||||
|
|
||||||
</para>
|
|
||||||
|
|
||||||
@clipboard:
|
|
||||||
@pixbuf:
|
|
||||||
|
|
||||||
|
|
||||||
<!-- ##### FUNCTION gtk_clipboard_request_contents ##### -->
|
|
||||||
<para>
|
|
||||||
|
|
||||||
</para>
|
|
||||||
|
|
||||||
@clipboard:
|
|
||||||
@target:
|
|
||||||
@callback:
|
|
||||||
@user_data:
|
|
||||||
|
|
||||||
|
|
||||||
<!-- ##### FUNCTION gtk_clipboard_request_text ##### -->
|
|
||||||
<para>
|
|
||||||
|
|
||||||
</para>
|
|
||||||
|
|
||||||
@clipboard:
|
|
||||||
@callback:
|
|
||||||
@user_data:
|
|
||||||
|
|
||||||
|
|
||||||
<!-- ##### FUNCTION gtk_clipboard_request_image ##### -->
|
|
||||||
<para>
|
|
||||||
|
|
||||||
</para>
|
|
||||||
|
|
||||||
@clipboard:
|
|
||||||
@callback:
|
|
||||||
@user_data:
|
|
||||||
|
|
||||||
|
|
||||||
<!-- ##### FUNCTION gtk_clipboard_request_targets ##### -->
|
|
||||||
<para>
|
|
||||||
|
|
||||||
</para>
|
|
||||||
|
|
||||||
@clipboard:
|
|
||||||
@callback:
|
|
||||||
@user_data:
|
|
||||||
|
|
||||||
|
|
||||||
<!-- ##### FUNCTION gtk_clipboard_request_rich_text ##### -->
|
|
||||||
<para>
|
|
||||||
|
|
||||||
</para>
|
|
||||||
|
|
||||||
@clipboard:
|
|
||||||
@buffer:
|
|
||||||
@callback:
|
|
||||||
@user_data:
|
|
||||||
|
|
||||||
|
|
||||||
<!-- ##### FUNCTION gtk_clipboard_request_uris ##### -->
|
|
||||||
<para>
|
|
||||||
|
|
||||||
</para>
|
|
||||||
|
|
||||||
@clipboard:
|
|
||||||
@callback:
|
|
||||||
@user_data:
|
|
||||||
|
|
||||||
|
|
||||||
<!-- ##### FUNCTION gtk_clipboard_wait_for_contents ##### -->
|
|
||||||
<para>
|
|
||||||
|
|
||||||
</para>
|
|
||||||
|
|
||||||
@clipboard:
|
|
||||||
@target:
|
|
||||||
@Returns:
|
|
||||||
|
|
||||||
|
|
||||||
<!-- ##### FUNCTION gtk_clipboard_wait_for_text ##### -->
|
|
||||||
<para>
|
|
||||||
|
|
||||||
</para>
|
|
||||||
|
|
||||||
@clipboard:
|
|
||||||
@Returns:
|
|
||||||
|
|
||||||
|
|
||||||
<!-- ##### FUNCTION gtk_clipboard_wait_for_image ##### -->
|
|
||||||
<para>
|
|
||||||
|
|
||||||
</para>
|
|
||||||
|
|
||||||
@clipboard:
|
|
||||||
@Returns:
|
|
||||||
|
|
||||||
|
|
||||||
<!-- ##### FUNCTION gtk_clipboard_wait_for_rich_text ##### -->
|
|
||||||
<para>
|
|
||||||
|
|
||||||
</para>
|
|
||||||
|
|
||||||
@clipboard:
|
|
||||||
@buffer:
|
|
||||||
@format:
|
|
||||||
@length:
|
|
||||||
@Returns:
|
|
||||||
|
|
||||||
|
|
||||||
<!-- ##### FUNCTION gtk_clipboard_wait_for_uris ##### -->
|
|
||||||
<para>
|
|
||||||
|
|
||||||
</para>
|
|
||||||
|
|
||||||
@clipboard:
|
|
||||||
@Returns:
|
|
||||||
|
|
||||||
|
|
||||||
<!-- ##### FUNCTION gtk_clipboard_wait_is_text_available ##### -->
|
|
||||||
<para>
|
|
||||||
|
|
||||||
</para>
|
|
||||||
|
|
||||||
@clipboard:
|
|
||||||
@Returns:
|
|
||||||
|
|
||||||
|
|
||||||
<!-- ##### FUNCTION gtk_clipboard_wait_is_image_available ##### -->
|
|
||||||
<para>
|
|
||||||
|
|
||||||
</para>
|
|
||||||
|
|
||||||
@clipboard:
|
|
||||||
@Returns:
|
|
||||||
|
|
||||||
|
|
||||||
<!-- ##### FUNCTION gtk_clipboard_wait_is_rich_text_available ##### -->
|
|
||||||
<para>
|
|
||||||
|
|
||||||
</para>
|
|
||||||
|
|
||||||
@clipboard:
|
|
||||||
@buffer:
|
|
||||||
@Returns:
|
|
||||||
|
|
||||||
|
|
||||||
<!-- ##### FUNCTION gtk_clipboard_wait_is_uris_available ##### -->
|
|
||||||
<para>
|
|
||||||
|
|
||||||
</para>
|
|
||||||
|
|
||||||
@clipboard:
|
|
||||||
@Returns:
|
|
||||||
|
|
||||||
|
|
||||||
<!-- ##### FUNCTION gtk_clipboard_wait_for_targets ##### -->
|
|
||||||
<para>
|
|
||||||
|
|
||||||
</para>
|
|
||||||
|
|
||||||
@clipboard:
|
|
||||||
@targets:
|
|
||||||
@n_targets:
|
|
||||||
@Returns:
|
|
||||||
|
|
||||||
<!--
|
|
||||||
Local variables:
|
|
||||||
mode: sgml
|
|
||||||
sgml-parent-document: ("../gtk-docs.sgml" "book" "refsect2" "")
|
|
||||||
End:
|
|
||||||
-->
|
|
||||||
|
|
||||||
|
|
||||||
<!-- ##### FUNCTION gtk_clipboard_wait_is_target_available ##### -->
|
|
||||||
<para>
|
|
||||||
|
|
||||||
</para>
|
|
||||||
|
|
||||||
@clipboard:
|
|
||||||
@target:
|
|
||||||
@Returns:
|
|
||||||
|
|
||||||
|
|
||||||
<!-- ##### FUNCTION gtk_clipboard_set_can_store ##### -->
|
|
||||||
<para>
|
|
||||||
|
|
||||||
</para>
|
|
||||||
|
|
||||||
@clipboard:
|
|
||||||
@targets:
|
|
||||||
@n_targets:
|
|
||||||
|
|
||||||
|
|
||||||
<!-- ##### FUNCTION gtk_clipboard_store ##### -->
|
|
||||||
<para>
|
|
||||||
|
|
||||||
</para>
|
|
||||||
|
|
||||||
@clipboard:
|
|
||||||
|
|
||||||
|
|
||||||
@ -42,6 +42,73 @@
|
|||||||
#include "win32/gdkwin32.h"
|
#include "win32/gdkwin32.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* SECTION:gtkclipboard
|
||||||
|
* @Short_description: Storing data on clipboards
|
||||||
|
* @Title: Clipboards
|
||||||
|
* @See_also: #GtkSelection
|
||||||
|
*
|
||||||
|
* The #GtkClipboard object represents a clipboard of data shared
|
||||||
|
* between different processes or between different widgets in
|
||||||
|
* the same process. Each clipboard is identified by a name encoded as a
|
||||||
|
* #GdkAtom. (Conversion to and from strings can be done with
|
||||||
|
* gdk_atom_intern() and gdk_atom_name().) The default clipboard
|
||||||
|
* corresponds to the "CLIPBOARD" atom; another commonly used clipboard
|
||||||
|
* is the "PRIMARY" clipboard, which, in X, traditionally contains
|
||||||
|
* the currently selected text.
|
||||||
|
*
|
||||||
|
* To support having a number of different formats on the clipboard
|
||||||
|
* at the same time, the clipboard mechanism allows providing
|
||||||
|
* callbacks instead of the actual data. When you set the contents
|
||||||
|
* of the clipboard, you can either supply the data directly (via
|
||||||
|
* functions like gtk_clipboard_set_text()), or you can supply a
|
||||||
|
* callback to be called at a later time when the data is needed (via
|
||||||
|
* gtk_clipboard_set_with_data() or gtk_clipboard_set_with_owner().)
|
||||||
|
* Providing a callback also avoids having to make copies of the data
|
||||||
|
* when it is not needed.
|
||||||
|
*
|
||||||
|
* gtk_clipboard_set_with_data() and gtk_clipboard_set_with_owner()
|
||||||
|
* are quite similar; the choice between the two depends mostly on
|
||||||
|
* which is more convenient in a particular situation.
|
||||||
|
* The former is most useful when you want to have a blob of data
|
||||||
|
* with callbacks to convert it into the various data types that you
|
||||||
|
* advertise. When the @clear_func you provided is called, you
|
||||||
|
* simply free the data blob. The latter is more useful when the
|
||||||
|
* contents of clipboard reflect the internal state of a #GObject
|
||||||
|
* (As an example, for the PRIMARY clipboard, when an entry widget
|
||||||
|
* provides the clipboard's contents the contents are simply the
|
||||||
|
* text within the selected region.) If the contents change, the
|
||||||
|
* entry widget can call gtk_clipboard_set_with_owner() to update
|
||||||
|
* the timestamp for clipboard ownership, without having to worry
|
||||||
|
* about @clear_func being called.
|
||||||
|
*
|
||||||
|
* Requesting the data from the clipboard is essentially
|
||||||
|
* asynchronous. If the contents of the clipboard are provided within
|
||||||
|
* the same process, then a direct function call will be made to
|
||||||
|
* retrieve the data, but if they are provided by another process,
|
||||||
|
* then the data needs to be retrieved from the other process, which
|
||||||
|
* may take some time. To avoid blocking the user interface, the call
|
||||||
|
* to request the selection, gtk_clipboard_request_contents() takes a
|
||||||
|
* callback that will be called when the contents are received (or
|
||||||
|
* when the request fails.) If you don't want to deal with providing
|
||||||
|
* a separate callback, you can also use gtk_clipboard_wait_for_contents().
|
||||||
|
* What this does is run the GLib main loop recursively waiting for
|
||||||
|
* the contents. This can simplify the code flow, but you still have
|
||||||
|
* to be aware that other callbacks in your program can be called
|
||||||
|
* while this recursive mainloop is running.
|
||||||
|
*
|
||||||
|
* Along with the functions to get the clipboard contents as an
|
||||||
|
* arbitrary data chunk, there are also functions to retrieve
|
||||||
|
* it as text, gtk_clipboard_request_text() and
|
||||||
|
* gtk_clipboard_wait_for_text(). These functions take care of
|
||||||
|
* determining which formats are advertised by the clipboard
|
||||||
|
* provider, asking for the clipboard in the best available format
|
||||||
|
* and converting the results into the UTF-8 encoding. (The standard
|
||||||
|
* form for representing strings in GTK+.)
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
enum {
|
enum {
|
||||||
OWNER_CHANGE,
|
OWNER_CHANGE,
|
||||||
LAST_SIGNAL
|
LAST_SIGNAL
|
||||||
@ -261,8 +328,7 @@ clipboard_display_closed (GdkDisplay *display,
|
|||||||
/**
|
/**
|
||||||
* gtk_clipboard_get_for_display:
|
* gtk_clipboard_get_for_display:
|
||||||
* @display: the display for which the clipboard is to be retrieved or created
|
* @display: the display for which the clipboard is to be retrieved or created
|
||||||
* @selection: a #GdkAtom which identifies the clipboard
|
* @selection: a #GdkAtom which identifies the clipboard to use.
|
||||||
* to use.
|
|
||||||
*
|
*
|
||||||
* Returns the clipboard object for the given selection.
|
* Returns the clipboard object for the given selection.
|
||||||
* Cut/copy/paste menu items and keyboard shortcuts should use
|
* Cut/copy/paste menu items and keyboard shortcuts should use
|
||||||
@ -291,11 +357,9 @@ clipboard_display_closed (GdkDisplay *display,
|
|||||||
* clipboard, you might call it "_FOO_SPECIAL_CLIPBOARD".
|
* clipboard, you might call it "_FOO_SPECIAL_CLIPBOARD".
|
||||||
*
|
*
|
||||||
* Return value: (transfer none): the appropriate clipboard object. If no
|
* Return value: (transfer none): the appropriate clipboard object. If no
|
||||||
* clipboard already exists, a new one will
|
* clipboard already exists, a new one will be created. Once a clipboard
|
||||||
* be created. Once a clipboard object has
|
* object has been created, it is persistent and, since it is owned by
|
||||||
* been created, it is persistent and, since
|
* GTK+, must not be freed or unrefd.
|
||||||
* it is owned by GTK+, must not be freed or
|
|
||||||
* unrefd.
|
|
||||||
*
|
*
|
||||||
* Since: 2.2
|
* Since: 2.2
|
||||||
**/
|
**/
|
||||||
|
|||||||
@ -34,23 +34,73 @@ G_BEGIN_DECLS
|
|||||||
#define GTK_CLIPBOARD(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_CLIPBOARD, GtkClipboard))
|
#define GTK_CLIPBOARD(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_CLIPBOARD, GtkClipboard))
|
||||||
#define GTK_IS_CLIPBOARD(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_CLIPBOARD))
|
#define GTK_IS_CLIPBOARD(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_CLIPBOARD))
|
||||||
|
|
||||||
|
/**
|
||||||
|
* GtkClipboardReceivedFunc:
|
||||||
|
* @clipboard: the #GtkClipboard
|
||||||
|
* @selection_data: a #GtkSelectionData containing the data was received.
|
||||||
|
* If retrieving the data failed, then then length field
|
||||||
|
* of @selection_data will be negative.
|
||||||
|
* @data: the @user_data supplied to gtk_clipboard_request_contents().
|
||||||
|
*
|
||||||
|
* A function to be called when the results of gtk_clipboard_request_contents()
|
||||||
|
* are received, or when the request fails.
|
||||||
|
*/
|
||||||
typedef void (* GtkClipboardReceivedFunc) (GtkClipboard *clipboard,
|
typedef void (* GtkClipboardReceivedFunc) (GtkClipboard *clipboard,
|
||||||
GtkSelectionData *selection_data,
|
GtkSelectionData *selection_data,
|
||||||
gpointer data);
|
gpointer data);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* GtkClipboardTextReceivedFunc:
|
||||||
|
* @clipboard: the #GtkClipboard
|
||||||
|
* @text: the text received, as a UTF-8 encoded string, or %NULL
|
||||||
|
* if retrieving the data failed.
|
||||||
|
* @data: the @user_data supplied to gtk_clipboard_request_text().
|
||||||
|
*
|
||||||
|
* A function to be called when the results of gtk_clipboard_request_text()
|
||||||
|
* are received, or when the request fails.
|
||||||
|
*/
|
||||||
typedef void (* GtkClipboardTextReceivedFunc) (GtkClipboard *clipboard,
|
typedef void (* GtkClipboardTextReceivedFunc) (GtkClipboard *clipboard,
|
||||||
const gchar *text,
|
const gchar *text,
|
||||||
gpointer data);
|
gpointer data);
|
||||||
|
|
||||||
typedef void (* GtkClipboardRichTextReceivedFunc) (GtkClipboard *clipboard,
|
typedef void (* GtkClipboardRichTextReceivedFunc) (GtkClipboard *clipboard,
|
||||||
GdkAtom format,
|
GdkAtom format,
|
||||||
const guint8 *text,
|
const guint8 *text,
|
||||||
gsize length,
|
gsize length,
|
||||||
gpointer data);
|
gpointer data);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* GtkClipboardImageReceivedFunc:
|
||||||
|
* @clipboard: the #GtkClipboard
|
||||||
|
* @pixbuf: the received image
|
||||||
|
* @data: the @user_data supplied to gtk_clipboard_request_image().
|
||||||
|
*
|
||||||
|
* A function to be called when the results of gtk_clipboard_request_image()
|
||||||
|
* are received, or when the request fails.
|
||||||
|
*
|
||||||
|
* Since: 2.6
|
||||||
|
*/
|
||||||
typedef void (* GtkClipboardImageReceivedFunc) (GtkClipboard *clipboard,
|
typedef void (* GtkClipboardImageReceivedFunc) (GtkClipboard *clipboard,
|
||||||
GdkPixbuf *pixbuf,
|
GdkPixbuf *pixbuf,
|
||||||
gpointer data);
|
gpointer data);
|
||||||
|
|
||||||
typedef void (* GtkClipboardURIReceivedFunc) (GtkClipboard *clipboard,
|
typedef void (* GtkClipboardURIReceivedFunc) (GtkClipboard *clipboard,
|
||||||
gchar **uris,
|
gchar **uris,
|
||||||
gpointer data);
|
gpointer data);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* GtkClipboardTargetsReceivedFunc:
|
||||||
|
* @clipboard: the #GtkClipboard
|
||||||
|
* @atoms: the supported targets, as array of #GdkAtom, or %NULL
|
||||||
|
* if retrieving the data failed.
|
||||||
|
* @n_atoms: the length of the @atoms array.
|
||||||
|
* @data: the @user_data supplied to gtk_clipboard_request_targets().
|
||||||
|
*
|
||||||
|
* A function to be called when the results of gtk_clipboard_request_targets()
|
||||||
|
* are received, or when the request fails.
|
||||||
|
*
|
||||||
|
* Since: 2.4
|
||||||
|
*/
|
||||||
typedef void (* GtkClipboardTargetsReceivedFunc) (GtkClipboard *clipboard,
|
typedef void (* GtkClipboardTargetsReceivedFunc) (GtkClipboard *clipboard,
|
||||||
GdkAtom *atoms,
|
GdkAtom *atoms,
|
||||||
gint n_atoms,
|
gint n_atoms,
|
||||||
@ -60,10 +110,42 @@ typedef void (* GtkClipboardTargetsReceivedFunc) (GtkClipboard *clipboard,
|
|||||||
* right now for ClearFunc, you may have trouble determining _which_ clipboard
|
* right now for ClearFunc, you may have trouble determining _which_ clipboard
|
||||||
* was cleared, if you reuse your ClearFunc for multiple clipboards.
|
* was cleared, if you reuse your ClearFunc for multiple clipboards.
|
||||||
*/
|
*/
|
||||||
|
/**
|
||||||
|
* GtkClipboardGetFunc:
|
||||||
|
* @clipboard: the #GtkClipboard
|
||||||
|
* @selection_data: a #GtkSelectionData argument in which the requested
|
||||||
|
* data should be stored.
|
||||||
|
* @info: the info field corresponding to the requested target from the
|
||||||
|
* #GtkTargetEntry array passed to gtk_clipboard_set_with_data() or
|
||||||
|
* gtk_clipboard_set_with_owner().
|
||||||
|
* @user_data_or_owner: the @user_data argument passed to
|
||||||
|
* gtk_clipboard_set_with_data(), or the @owner argument passed to
|
||||||
|
* gtk_clipboard_set_with_owner()
|
||||||
|
*
|
||||||
|
* A function that will be called to provide the contents of the selection.
|
||||||
|
* If multiple types of data were advertised, the requested type can
|
||||||
|
* be determined from the @info parameter or by checking the target field
|
||||||
|
* of @selection_data. If the data could successfully be converted into
|
||||||
|
* then it should be stored into the @selection_data object by
|
||||||
|
* calling gtk_selection_data_set() (or related functions such
|
||||||
|
* as gtk_selection_data_set_text()). If no data is set, the requestor
|
||||||
|
* will be informed that the attempt to get the data failed.
|
||||||
|
*/
|
||||||
typedef void (* GtkClipboardGetFunc) (GtkClipboard *clipboard,
|
typedef void (* GtkClipboardGetFunc) (GtkClipboard *clipboard,
|
||||||
GtkSelectionData *selection_data,
|
GtkSelectionData *selection_data,
|
||||||
guint info,
|
guint info,
|
||||||
gpointer user_data_or_owner);
|
gpointer user_data_or_owner);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* GtkClipboardClearFunc:
|
||||||
|
* @clipboard: the #GtkClipboard
|
||||||
|
* @user_data_or_owner: the @user_data argument passed to gtk_clipboard_set_with_data(),
|
||||||
|
* or the @owner argument passed to gtk_clipboard_set_with_owner()
|
||||||
|
*
|
||||||
|
* A function that will be called when the contents of the clipboard are changed
|
||||||
|
* or cleared. Once this has called, the @user_data_or_owner argument
|
||||||
|
* will not be used again.
|
||||||
|
*/
|
||||||
typedef void (* GtkClipboardClearFunc) (GtkClipboard *clipboard,
|
typedef void (* GtkClipboardClearFunc) (GtkClipboard *clipboard,
|
||||||
gpointer user_data_or_owner);
|
gpointer user_data_or_owner);
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user