📄 gtk-selections.html
字号:
<HTML><HEAD><TITLE>Selections</TITLE><METANAME="GENERATOR"CONTENT="Modular DocBook HTML Stylesheet Version 1.61"><LINKREL="HOME"TITLE="GTK+ Reference Manual"HREF="index.html"><LINKREL="UP"TITLE="GTK+ "HREF="gtk.html"><LINKREL="PREVIOUS"TITLE="Keyboard Accelerators"HREF="gtk-keyboard-accelerators.html"><LINKREL="NEXT"TITLE="Drag and Drop"HREF="gtk-drag-and-drop.html"></HEAD><BODYCLASS="REFENTRY"BGCOLOR="#FFFFFF"TEXT="#000000"LINK="#0000FF"VLINK="#840084"ALINK="#0000FF"><DIVCLASS="NAVHEADER"><TABLEWIDTH="100%"BORDER="0"BGCOLOR="#000000"CELLPADDING="1"CELLSPACING="0"><TR><THCOLSPAN="4"ALIGN="center"><FONTCOLOR="#FFFFFF"SIZE="5">GTK+ Reference Manual</FONT></TH></TR><TR><TDWIDTH="25%"BGCOLOR="#C00000"ALIGN="left"><AHREF="gtk-keyboard-accelerators.html"><FONTCOLOR="#FFFFFF"SIZE="3"><B><<< Previous Page</B></FONT></A></TD><TDWIDTH="25%"BGCOLOR="#0000C0"ALIGN="center"><FONTCOLOR="#FFFFFF"SIZE="3"><B><AHREF="index.html"><FONTCOLOR="#FFFFFF"SIZE="3"><B>Home</B></FONT></A></B></FONT></TD><TDWIDTH="25%"BGCOLOR="#00C000"ALIGN="center"><FONTCOLOR="#FFFFFF"SIZE="3"><B><AHREF="gtk.html"><FONTCOLOR="#FFFFFF"SIZE="3"><B>Up</B></FONT></A></B></FONT></TD><TDWIDTH="25%"BGCOLOR="#C00000"ALIGN="right"><AHREF="gtk-drag-and-drop.html"><FONTCOLOR="#FFFFFF"SIZE="3"><B>Next Page >>></B></FONT></A></TD></TR></TABLE></DIV><H1><ANAME="GTK-SELECTIONS">Selections</A></H1><DIVCLASS="REFNAMEDIV"><ANAME="AEN6317"></A><H2>Name</H2>Selections -- Functions for handling inter-process communication via selections.</DIV><DIVCLASS="REFSYNOPSISDIV"><ANAME="AEN6320"></A><H2>Synopsis</H2><TABLEBORDER="0"BGCOLOR="#D6E8FF"WIDTH="100%"CELLPADDING="6"><TR><TD><PRECLASS="SYNOPSIS"> #include <gtk/gtk.h>struct <AHREF="gtk-selections.html#GTKTARGETENTRY">GtkTargetEntry</A>;struct <AHREF="gtk-selections.html#GTKTARGETLIST">GtkTargetList</A>;struct <AHREF="gtk-selections.html#GTKTARGETPAIR">GtkTargetPair</A>;<AHREF="gtk-selections.html#GTKTARGETLIST">GtkTargetList</A>* <AHREF="gtk-selections.html#GTK-TARGET-LIST-NEW">gtk_target_list_new</A> (const <AHREF="gtk-selections.html#GTKTARGETENTRY">GtkTargetEntry</A> *targets, <AHREF=../glib/glib-basic-types.html#GUINT>guint</A> ntargets);void <AHREF="gtk-selections.html#GTK-TARGET-LIST-REF">gtk_target_list_ref</A> (<AHREF="gtk-selections.html#GTKTARGETLIST">GtkTargetList</A> *list);void <AHREF="gtk-selections.html#GTK-TARGET-LIST-UNREF">gtk_target_list_unref</A> (<AHREF="gtk-selections.html#GTKTARGETLIST">GtkTargetList</A> *list);void <AHREF="gtk-selections.html#GTK-TARGET-LIST-ADD">gtk_target_list_add</A> (<AHREF="gtk-selections.html#GTKTARGETLIST">GtkTargetList</A> *list, <AHREF=../gdk/gdk-properties-and-atoms.html#GDKATOM>GdkAtom</A> target, <AHREF=../glib/glib-basic-types.html#GUINT>guint</A> flags, <AHREF=../glib/glib-basic-types.html#GUINT>guint</A> info);void <AHREF="gtk-selections.html#GTK-TARGET-LIST-ADD-TABLE">gtk_target_list_add_table</A> (<AHREF="gtk-selections.html#GTKTARGETLIST">GtkTargetList</A> *list, const <AHREF="gtk-selections.html#GTKTARGETENTRY">GtkTargetEntry</A> *targets, <AHREF=../glib/glib-basic-types.html#GUINT>guint</A> ntargets);void <AHREF="gtk-selections.html#GTK-TARGET-LIST-REMOVE">gtk_target_list_remove</A> (<AHREF="gtk-selections.html#GTKTARGETLIST">GtkTargetList</A> *list, <AHREF=../gdk/gdk-properties-and-atoms.html#GDKATOM>GdkAtom</A> target);<AHREF=../glib/glib-basic-types.html#GBOOLEAN>gboolean</A> <AHREF="gtk-selections.html#GTK-TARGET-LIST-FIND">gtk_target_list_find</A> (<AHREF="gtk-selections.html#GTKTARGETLIST">GtkTargetList</A> *list, <AHREF=../gdk/gdk-properties-and-atoms.html#GDKATOM>GdkAtom</A> target, <AHREF=../glib/glib-basic-types.html#GUINT>guint</A> *info);<AHREF=../glib/glib-basic-types.html#GINT>gint</A> <AHREF="gtk-selections.html#GTK-SELECTION-OWNER-SET">gtk_selection_owner_set</A> (<AHREF="gtkwidget.html">GtkWidget</A> *widget, <AHREF=../gdk/gdk-properties-and-atoms.html#GDKATOM>GdkAtom</A> selection, <AHREF=../glib/glib-basic-types.html#GUINT32>guint32</A> time);void <AHREF="gtk-selections.html#GTK-SELECTION-ADD-TARGET">gtk_selection_add_target</A> (<AHREF="gtkwidget.html">GtkWidget</A> *widget, <AHREF=../gdk/gdk-properties-and-atoms.html#GDKATOM>GdkAtom</A> selection, <AHREF=../gdk/gdk-properties-and-atoms.html#GDKATOM>GdkAtom</A> target, <AHREF=../glib/glib-basic-types.html#GUINT>guint</A> info);void <AHREF="gtk-selections.html#GTK-SELECTION-ADD-TARGETS">gtk_selection_add_targets</A> (<AHREF="gtkwidget.html">GtkWidget</A> *widget, <AHREF=../gdk/gdk-properties-and-atoms.html#GDKATOM>GdkAtom</A> selection, const <AHREF="gtk-selections.html#GTKTARGETENTRY">GtkTargetEntry</A> *targets, <AHREF=../glib/glib-basic-types.html#GUINT>guint</A> ntargets);<AHREF=../glib/glib-basic-types.html#GINT>gint</A> <AHREF="gtk-selections.html#GTK-SELECTION-CONVERT">gtk_selection_convert</A> (<AHREF="gtkwidget.html">GtkWidget</A> *widget, <AHREF=../gdk/gdk-properties-and-atoms.html#GDKATOM>GdkAtom</A> selection, <AHREF=../gdk/gdk-properties-and-atoms.html#GDKATOM>GdkAtom</A> target, <AHREF=../glib/glib-basic-types.html#GUINT32>guint32</A> time);void <AHREF="gtk-selections.html#GTK-SELECTION-DATA-SET">gtk_selection_data_set</A> (<AHREF="gtkwidget.html#GTKSELECTIONDATA">GtkSelectionData</A> *selection_data, <AHREF=../gdk/gdk-properties-and-atoms.html#GDKATOM>GdkAtom</A> type, <AHREF=../glib/glib-basic-types.html#GINT>gint</A> format, <AHREF=../glib/glib-basic-types.html#GUCHAR>guchar</A> *data, <AHREF=../glib/glib-basic-types.html#GINT>gint</A> length);void <AHREF="gtk-selections.html#GTK-SELECTION-REMOVE-ALL">gtk_selection_remove_all</A> (<AHREF="gtkwidget.html">GtkWidget</A> *widget);GtkSelectioData* <AHREF="gtk-selections.html#GTK-SELECTION-DATA-COPY">gtk_selection_data_copy</A> (<AHREF="gtkwidget.html#GTKSELECTIONDATA">GtkSelectionData</A> *data);void <AHREF="gtk-selections.html#GTK-SELECTION-DATA-FREE">gtk_selection_data_free</A> (<AHREF="gtkwidget.html#GTKSELECTIONDATA">GtkSelectionData</A> *data);<AHREF=../glib/glib-basic-types.html#GINT>gint</A> <AHREF="gtk-selections.html#GTK-SELECTION-CLEAR">gtk_selection_clear</A> (<AHREF="gtkwidget.html">GtkWidget</A> *widget, <AHREF=../gdk/gdk-event-structures.html#GDKEVENTSELECTION>GdkEventSelection</A> *event);<AHREF=../glib/glib-basic-types.html#GINT>gint</A> <AHREF="gtk-selections.html#GTK-SELECTION-INCR-EVENT">gtk_selection_incr_event</A> (<AHREF=../gdk/gdk-windows.html#GDKWINDOW>GdkWindow</A> *window, <AHREF=../gdk/gdk-event-structures.html#GDKEVENTPROPERTY>GdkEventProperty</A> *event);<AHREF=../glib/glib-basic-types.html#GINT>gint</A> <AHREF="gtk-selections.html#GTK-SELECTION-NOTIFY">gtk_selection_notify</A> (<AHREF="gtkwidget.html">GtkWidget</A> *widget, <AHREF=../gdk/gdk-event-structures.html#GDKEVENTSELECTION>GdkEventSelection</A> *event);<AHREF=../glib/glib-basic-types.html#GINT>gint</A> <AHREF="gtk-selections.html#GTK-SELECTION-PROPERTY-NOTIFY">gtk_selection_property_notify</A> (<AHREF="gtkwidget.html">GtkWidget</A> *widget, <AHREF=../gdk/gdk-event-structures.html#GDKEVENTPROPERTY>GdkEventProperty</A> *event);<AHREF=../glib/glib-basic-types.html#GINT>gint</A> <AHREF="gtk-selections.html#GTK-SELECTION-REQUEST">gtk_selection_request</A> (<AHREF="gtkwidget.html">GtkWidget</A> *widget, <AHREF=../gdk/gdk-event-structures.html#GDKEVENTSELECTION>GdkEventSelection</A> *event);</PRE></TD></TR></TABLE></DIV><DIVCLASS="REFSECT1"><ANAME="AEN6405"></A><H2>Description</H2><P>See the documentation for <AHREF="gtkwidget.html">GtkWidget</A> for descriptionsof the "selection_get" and "selection_received" signals.</P></DIV><DIVCLASS="REFSECT1"><ANAME="AEN6409"></A><H2>Details</H2><DIVCLASS="REFSECT2"><ANAME="AEN6411"></A><H3><ANAME="GTKTARGETENTRY"></A>struct GtkTargetEntry</H3><TABLEBORDER="0"BGCOLOR="#D6E8FF"WIDTH="100%"CELLPADDING="6"><TR><TD><PRECLASS="PROGRAMLISTING">struct GtkTargetEntry { gchar *target; guint flags; guint info;};</PRE></TD></TR></TABLE><P>A <AHREF="gtk-selections.html#GTKTARGETENTRY">GtkTargetEntry</A> structure represents a single type ofdata than can be supplied for by a widget for a selectionor for supplied or received during drag-and-drop. It contains a string representing the drag type, a flagsfield (used only for drag and drop - see <AHREF="gtk-drag-and-drop.html#GTKTARGETFLAGS">GtkTargetFlags</A>),and an application assigned integer ID. The integerID will later be passed as a signal parameter for signalslike "selection_get". It allows the application to identifythe target type without extensive string compares.</P></DIV><HR><DIVCLASS="REFSECT2"><ANAME="AEN6418"></A><H3><ANAME="GTKTARGETLIST"></A>struct GtkTargetList</H3><TABLEBORDER="0"BGCOLOR="#D6E8FF"WIDTH="100%"CELLPADDING="6"><TR><TD><PRECLASS="PROGRAMLISTING">struct GtkTargetList { GList *list; guint ref_count;};</PRE></TD></TR></TABLE><P>A <AHREF="gtk-selections.html#GTKTARGETLIST">GtkTargetList</A> structure is a reference counted listof <AHREF="gtk-selections.html#GTKTARGETPAIR">GtkTargetPair</A>. It is used to represent the sameinformation as a table of <AHREF="gtk-selections.html#GTKTARGETENTRY">GtkTargetEntry</A>, but inan efficient form. This structure should be treated asopaque.</P></DIV><HR><DIVCLASS="REFSECT2"><ANAME="AEN6426"></A><H3><ANAME="GTKTARGETPAIR"></A>struct GtkTargetPair</H3><TABLEBORDER="0"BGCOLOR="#D6E8FF"WIDTH="100%"CELLPADDING="6"><TR><TD><PRECLASS="PROGRAMLISTING">struct GtkTargetPair { GdkAtom target; guint flags; guint info;};</PRE></TD></TR></TABLE><P>Internally used structure in the drag-and-drop and selection handling code.</P></DIV><HR><DIVCLASS="REFSECT2"><ANAME="AEN6431"></A><H3><ANAME="GTK-TARGET-LIST-NEW"></A>gtk_target_list_new ()</H3><TABLEBORDER="0"BGCOLOR="#D6E8FF"WIDTH="100%"CELLPADDING="6"><TR><TD><PRECLASS="PROGRAMLISTING"><AHREF="gtk-selections.html#GTKTARGETLIST">GtkTargetList</A>* gtk_target_list_new (const <AHREF="gtk-selections.html#GTKTARGETENTRY">GtkTargetEntry</A> *targets, <AHREF=../glib/glib-basic-types.html#GUINT>guint</A> ntargets);</PRE></TD></TR></TABLE><P>Create a new <AHREF="gtk-selections.html#GTKTARGETLIST">GtkTargetList</A> from an array of <AHREF="gtk-selections.html#GTKTARGETENTRY">GtkTargetEntry</A>.</P><DIVCLASS="INFORMALTABLE"><ANAME="AEN6441"></A><P></P><TABLEBORDER="0"WIDTH="100%"BGCOLOR="#FFD0D0"CELLSPACING="0"CELLPADDING="4"CLASS="CALSTABLE"><TBODY><TR><TDWIDTH="20%"ALIGN="RIGHT"VALIGN="TOP"><TTCLASS="PARAMETER"><I>targets</I></TT> :</TD><TDWIDTH="80%"ALIGN="LEFT"VALIGN="TOP">Pointer to an array of <AHREF="gtk-selections.html#GTKTARGETENTRY">GtkTargetEntry</A></TD></TR><TR><TDWIDTH="20%"ALIGN="RIGHT"VALIGN="TOP"><TTCLASS="PARAMETER"><I>ntargets</I></TT> :</TD><TDWIDTH="80%"ALIGN="LEFT"VALIGN="TOP">number of entries in <TTCLASS="PARAMETER"><I>targets</I></TT>.</TD></TR><TR><TDWIDTH="20%"ALIGN="RIGHT"VALIGN="TOP"><ICLASS="EMPHASIS">Returns</I> :</TD><TDWIDTH="80%"ALIGN="LEFT"VALIGN="TOP">the new <AHREF="gtk-selections.html#GTKTARGETLIST">GtkTargetList</A>. </TD></TR></TBODY></TABLE><P></P></DIV></DIV><HR><DIVCLASS="REFSECT2"><ANAME="AEN6461"></A><H3><ANAME="GTK-TARGET-LIST-REF"></A>gtk_target_list_ref ()</H3><TABLEBORDER="0"BGCOLOR="#D6E8FF"WIDTH="100%"CELLPADDING="6"><TR><TD><PRECLASS="PROGRAMLISTING">void gtk_target_list_ref (<AHREF="gtk-selections.html#GTKTARGETLIST">GtkTargetList</A> *list);</PRE></TD></TR></TABLE><P>Increase the reference count of a <AHREF="gtk-selections.html#GTKTARGETLIST">GtkTargetList</A> by one.</P><DIVCLASS="INFORMALTABLE"><ANAME="AEN6468"></A><P></P><TABLEBORDER="0"WIDTH="100%"BGCOLOR="#FFD0D0"CELLSPACING="0"CELLPADDING="4"CLASS="CALSTABLE"><TBODY><TR><TDWIDTH="20%"ALIGN="RIGHT"VALIGN="TOP"><TTCLASS="PARAMETER"><I>list</I></TT> :</TD><TDWIDTH="80%"ALIGN="LEFT"VALIGN="TOP">a <AHREF="gtk-selections.html#GTKTARGETLIST">GtkTargetList</A> </TD></TR></TBODY></TABLE><P></P></DIV></DIV><HR><DIVCLASS="REFSECT2"><ANAME="AEN6478"></A><H3><ANAME="GTK-TARGET-LIST-UNREF"></A>gtk_target_list_unref ()</H3><TABLEBORDER="0"BGCOLOR="#D6E8FF"WIDTH="100%"CELLPADDING="6"><TR><TD><PRECLASS="PROGRAMLISTING">void gtk_target_list_unref (<AHREF="gtk-selections.html#GTKTARGETLIST">GtkTargetList</A> *list);</PRE></TD></TR></TABLE><P>Decrease the reference count of a <AHREF="gtk-selections.html#GTKTARGETLIST">GtkTargetList</A> by one.If the resulting reference count is zero, free the list.</P><DIVCLASS="INFORMALTABLE"><ANAME="AEN6485"></A><P></P><TABLEBORDER="0"WIDTH="100%"BGCOLOR="#FFD0D0"CELLSPACING="0"CELLPADDING="4"CLASS="CALSTABLE"><TBODY><TR><TDWIDTH="20%"ALIGN="RIGHT"VALIGN="TOP"><TTCLASS="PARAMETER"><I>list</I></TT> :</TD><TDWIDTH="80%"ALIGN="LEFT"VALIGN="TOP">a <AHREF="gtk-selections.html#GTKTARGETLIST">GtkTargetList</A> </TD></TR></TBODY></TABLE><P></P></DIV></DIV><HR><DIVCLASS="REFSECT2"><ANAME="AEN6495"></A><H3><ANAME="GTK-TARGET-LIST-ADD"></A>gtk_target_list_add ()</H3><TABLEBORDER="0"BGCOLOR="#D6E8FF"WIDTH="100%"CELLPADDING="6"><TR><TD><PRECLASS="PROGRAMLISTING">void gtk_target_list_add (<AHREF="gtk-selections.html#GTKTARGETLIST">GtkTargetList</A> *list, <AHREF=../gdk/gdk-properties-and-atoms.html#GDKATOM>GdkAtom</A> target, <AHREF=../glib/glib-basic-types.html#GUINT>guint</A> flags, <AHREF=../glib/glib-basic-types.html#GUINT>guint</A> info);</PRE></TD></TR></TABLE><P>Add another target to a <AHREF="gtk-selections.html#GTKTARGETLIST">GtkTargetList</A></P><DIVCLASS="INFORMALTABLE"><ANAME="AEN6505"></A><P></P><TABLEBORDER="0"WIDTH="100%"BGCOLOR="#FFD0D0"CELLSPACING="0"CELLPADDING="4"CLASS="CALSTABLE"><TBODY><TR><TDWIDTH="20%"ALIGN="RIGHT"VALIGN="TOP"><TTCLASS="PARAMETER"><I>list</I></TT> :</TD><TDWIDTH="80%"ALIGN="LEFT"VALIGN="TOP">a <AHREF="gtk-selections.html#GTKTARGETLIST">GtkTargetList</A></TD></TR><TR><TDWIDTH="20%"ALIGN="RIGHT"VALIGN="TOP"><TTCLASS="PARAMETER"><I>target</I></TT> :</TD><TDWIDTH="80%"ALIGN="LEFT"VALIGN="TOP">the interned atom representing the target</TD></TR><TR><TDWIDTH="20%"ALIGN="RIGHT"VALIGN="TOP"><TTCLASS="PARAMETER"><I>flags</I></TT> :</TD><TDWIDTH="80%"ALIGN="LEFT"VALIGN="TOP">the flags for this target</TD></TR><TR><TDWIDTH="20%"ALIGN="RIGHT"VALIGN="TOP"><TTCLASS="PARAMETER"><I>info</I></TT> :</TD><TDWIDTH="80%"ALIGN="LEFT"VALIGN="TOP">an ID that will be passed back to the application </TD></TR></TBODY></TABLE><P></P></DIV></DIV><HR><DIV
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -