📄 gtkeditable.html
字号:
<HTML><HEAD><TITLE>GtkEditable</TITLE><METANAME="GENERATOR"CONTENT="Modular DocBook HTML Stylesheet Version 1.61"><LINKREL="HOME"TITLE="GTK+ Reference Manual"HREF="index.html"><LINKREL="UP"TITLE="GTK+ Widgets and Objects"HREF="gtkobjects.html"><LINKREL="PREVIOUS"TITLE="GtkDrawingArea"HREF="gtkdrawingarea.html"><LINKREL="NEXT"TITLE="GtkEntry"HREF="gtkentry.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="gtkdrawingarea.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="gtkobjects.html"><FONTCOLOR="#FFFFFF"SIZE="3"><B>Up</B></FONT></A></B></FONT></TD><TDWIDTH="25%"BGCOLOR="#C00000"ALIGN="right"><AHREF="gtkentry.html"><FONTCOLOR="#FFFFFF"SIZE="3"><B>Next Page >>></B></FONT></A></TD></TR></TABLE></DIV><H1><ANAME="GTKEDITABLE">GtkEditable</A></H1><DIVCLASS="REFNAMEDIV"><ANAME="AEN24375"></A><H2>Name</H2>GtkEditable -- Base class for text-editing widgets.</DIV><DIVCLASS="REFSYNOPSISDIV"><ANAME="AEN24378"></A><H2>Synopsis</H2><TABLEBORDER="0"BGCOLOR="#D6E8FF"WIDTH="100%"CELLPADDING="6"><TR><TD><PRECLASS="SYNOPSIS"> #include <gtk/gtk.h>struct <AHREF="gtkeditable.html#GTKEDITABLE-STRUCT">GtkEditable</A>;void (<AHREF="gtkeditable.html#GTKTEXTFUNCTION">*GtkTextFunction</A>) (<AHREF="gtkeditable.html">GtkEditable</A> *editable, <AHREF=../glib/glib-basic-types.html#GUINT32>guint32</A> time);void <AHREF="gtkeditable.html#GTK-EDITABLE-SELECT-REGION">gtk_editable_select_region</A> (<AHREF="gtkeditable.html">GtkEditable</A> *editable, <AHREF=../glib/glib-basic-types.html#GINT>gint</A> start, <AHREF=../glib/glib-basic-types.html#GINT>gint</A> end);void <AHREF="gtkeditable.html#GTK-EDITABLE-INSERT-TEXT">gtk_editable_insert_text</A> (<AHREF="gtkeditable.html">GtkEditable</A> *editable, const <AHREF=../glib/glib-basic-types.html#GCHAR>gchar</A> *new_text, <AHREF=../glib/glib-basic-types.html#GINT>gint</A> new_text_length, <AHREF=../glib/glib-basic-types.html#GINT>gint</A> *position);void <AHREF="gtkeditable.html#GTK-EDITABLE-DELETE-TEXT">gtk_editable_delete_text</A> (<AHREF="gtkeditable.html">GtkEditable</A> *editable, <AHREF=../glib/glib-basic-types.html#GINT>gint</A> start_pos, <AHREF=../glib/glib-basic-types.html#GINT>gint</A> end_pos);<AHREF=../glib/glib-basic-types.html#GCHAR>gchar</A>* <AHREF="gtkeditable.html#GTK-EDITABLE-GET-CHARS">gtk_editable_get_chars</A> (<AHREF="gtkeditable.html">GtkEditable</A> *editable, <AHREF=../glib/glib-basic-types.html#GINT>gint</A> start_pos, <AHREF=../glib/glib-basic-types.html#GINT>gint</A> end_pos);void <AHREF="gtkeditable.html#GTK-EDITABLE-CUT-CLIPBOARD">gtk_editable_cut_clipboard</A> (<AHREF="gtkeditable.html">GtkEditable</A> *editable);void <AHREF="gtkeditable.html#GTK-EDITABLE-COPY-CLIPBOARD">gtk_editable_copy_clipboard</A> (<AHREF="gtkeditable.html">GtkEditable</A> *editable);void <AHREF="gtkeditable.html#GTK-EDITABLE-PASTE-CLIPBOARD">gtk_editable_paste_clipboard</A> (<AHREF="gtkeditable.html">GtkEditable</A> *editable);void <AHREF="gtkeditable.html#GTK-EDITABLE-CLAIM-SELECTION">gtk_editable_claim_selection</A> (<AHREF="gtkeditable.html">GtkEditable</A> *editable, <AHREF=../glib/glib-basic-types.html#GBOOLEAN>gboolean</A> claim, <AHREF=../glib/glib-basic-types.html#GUINT32>guint32</A> time);void <AHREF="gtkeditable.html#GTK-EDITABLE-DELETE-SELECTION">gtk_editable_delete_selection</A> (<AHREF="gtkeditable.html">GtkEditable</A> *editable);void <AHREF="gtkeditable.html#GTK-EDITABLE-CHANGED">gtk_editable_changed</A> (<AHREF="gtkeditable.html">GtkEditable</A> *editable);void <AHREF="gtkeditable.html#GTK-EDITABLE-SET-POSITION">gtk_editable_set_position</A> (<AHREF="gtkeditable.html">GtkEditable</A> *editable, <AHREF=../glib/glib-basic-types.html#GINT>gint</A> position);<AHREF=../glib/glib-basic-types.html#GINT>gint</A> <AHREF="gtkeditable.html#GTK-EDITABLE-GET-POSITION">gtk_editable_get_position</A> (<AHREF="gtkeditable.html">GtkEditable</A> *editable);void <AHREF="gtkeditable.html#GTK-EDITABLE-SET-EDITABLE">gtk_editable_set_editable</A> (<AHREF="gtkeditable.html">GtkEditable</A> *editable, <AHREF=../glib/glib-basic-types.html#GBOOLEAN>gboolean</A> is_editable); </PRE></TD></TR></TABLE></DIV><DIVCLASS="REFSECT1"><ANAME="AEN24426"></A><H2>Object Hierarchy</H2><TABLEBORDER="0"BGCOLOR="#D6E8FF"WIDTH="100%"CELLPADDING="6"><TR><TD><PRECLASS="SYNOPSIS"> <AHREF="gtkobject.html">GtkObject</A> +----<AHREF="gtkwidget.html">GtkWidget</A> +----GtkEditable</PRE></TD></TR></TABLE></DIV><DIVCLASS="REFSECT1"><ANAME="AEN24431"></A><H2>Args</H2><TABLEBORDER="0"BGCOLOR="#D6E8FF"WIDTH="100%"CELLPADDING="6"><TR><TD><PRECLASS="SYNOPSIS"> "<AHREF="gtkeditable.html#GTKEDITABLE--TEXT-POSITION">text-position</A>" <AHREF=../glib/glib-basic-types.html#GINT>gint</A> : Read / Write "<AHREF="gtkeditable.html#GTKEDITABLE--EDITABLE">editable</A>" <AHREF=../glib/glib-basic-types.html#GBOOLEAN>gboolean</A> : Read / Write</PRE></TD></TR></TABLE></DIV><DIVCLASS="REFSECT1"><ANAME="AEN24438"></A><H2>Signal Prototypes</H2><TABLEBORDER="0"BGCOLOR="#D6E8FF"WIDTH="100%"CELLPADDING="6"><TR><TD><PRECLASS="SYNOPSIS"> "<AHREF="gtkeditable.html#GTKEDITABLE-CHANGED">changed</A>" void user_function (<AHREF="gtkeditable.html">GtkEditable</A> *editable, <AHREF=../glib/glib-basic-types.html#GPOINTER>gpointer</A> user_data);"<AHREF="gtkeditable.html#GTKEDITABLE-INSERT-TEXT">insert-text</A>" void user_function (<AHREF="gtkeditable.html">GtkEditable</A> *editable, <AHREF=../glib/glib-basic-types.html#GCHAR>gchar</A> *new_text, <AHREF=../glib/glib-basic-types.html#GINT>gint</A> new_text_length, <AHREF=../glib/glib-basic-types.html#GINT>gint</A> *position, <AHREF=../glib/glib-basic-types.html#GPOINTER>gpointer</A> user_data);"<AHREF="gtkeditable.html#GTKEDITABLE-DELETE-TEXT">delete-text</A>" void user_function (<AHREF="gtkeditable.html">GtkEditable</A> *editable, <AHREF=../glib/glib-basic-types.html#GINT>gint</A> start_pos, <AHREF=../glib/glib-basic-types.html#GINT>gint</A> end_pos, <AHREF=../glib/glib-basic-types.html#GPOINTER>gpointer</A> user_data);"<AHREF="gtkeditable.html#GTKEDITABLE-ACTIVATE">activate</A>" void user_function (<AHREF="gtkeditable.html">GtkEditable</A> *editable, <AHREF=../glib/glib-basic-types.html#GPOINTER>gpointer</A> user_data);"<AHREF="gtkeditable.html#GTKEDITABLE-SET-EDITABLE">set-editable</A>" void user_function (<AHREF="gtkeditable.html">GtkEditable</A> *editable, <AHREF=../glib/glib-basic-types.html#GBOOLEAN>gboolean</A> is_editable, <AHREF=../glib/glib-basic-types.html#GPOINTER>gpointer</A> user_data);"<AHREF="gtkeditable.html#GTKEDITABLE-MOVE-CURSOR">move-cursor</A>" void user_function (<AHREF="gtkeditable.html">GtkEditable</A> *editable, <AHREF=../glib/glib-basic-types.html#GINT>gint</A> x, <AHREF=../glib/glib-basic-types.html#GINT>gint</A> y, <AHREF=../glib/glib-basic-types.html#GPOINTER>gpointer</A> user_data);"<AHREF="gtkeditable.html#GTKEDITABLE-MOVE-WORD">move-word</A>" void user_function (<AHREF="gtkeditable.html">GtkEditable</A> *editable, <AHREF=../glib/glib-basic-types.html#GINT>gint</A> num_words, <AHREF=../glib/glib-basic-types.html#GPOINTER>gpointer</A> user_data);"<AHREF="gtkeditable.html#GTKEDITABLE-MOVE-PAGE">move-page</A>" void user_function (<AHREF="gtkeditable.html">GtkEditable</A> *editable, <AHREF=../glib/glib-basic-types.html#GINT>gint</A> x, <AHREF=../glib/glib-basic-types.html#GINT>gint</A> y, <AHREF=../glib/glib-basic-types.html#GPOINTER>gpointer</A> user_data);"<AHREF="gtkeditable.html#GTKEDITABLE-MOVE-TO-ROW">move-to-row</A>" void user_function (<AHREF="gtkeditable.html">GtkEditable</A> *editable, <AHREF=../glib/glib-basic-types.html#GINT>gint</A> row, <AHREF=../glib/glib-basic-types.html#GPOINTER>gpointer</A> user_data);"<AHREF="gtkeditable.html#GTKEDITABLE-MOVE-TO-COLUMN">move-to-column</A>" void user_function (<AHREF="gtkeditable.html">GtkEditable</A> *editable, <AHREF=../glib/glib-basic-types.html#GINT>gint</A> column, <AHREF=../glib/glib-basic-types.html#GPOINTER>gpointer</A> user_data);"<AHREF="gtkeditable.html#GTKEDITABLE-KILL-CHAR">kill-char</A>" void user_function (<AHREF="gtkeditable.html">GtkEditable</A> *editable, <AHREF=../glib/glib-basic-types.html#GINT>gint</A> direction, <AHREF=../glib/glib-basic-types.html#GPOINTER>gpointer</A> user_data);"<AHREF="gtkeditable.html#GTKEDITABLE-KILL-WORD">kill-word</A>" void user_function (<AHREF="gtkeditable.html">GtkEditable</A> *editable, <AHREF=../glib/glib-basic-types.html#GINT>gint</A> direction, <AHREF=../glib/glib-basic-types.html#GPOINTER>gpointer</A> user_data);"<AHREF="gtkeditable.html#GTKEDITABLE-KILL-LINE">kill-line</A>" void user_function (<AHREF="gtkeditable.html">GtkEditable</A> *editable, <AHREF=../glib/glib-basic-types.html#GINT>gint</A> direction, <AHREF=../glib/glib-basic-types.html#GPOINTER>gpointer</A> user_data);"<AHREF="gtkeditable.html#GTKEDITABLE-CUT-CLIPBOARD">cut-clipboard</A>" void user_function (<AHREF="gtkeditable.html">GtkEditable</A> *editable, <AHREF=../glib/glib-basic-types.html#GPOINTER>gpointer</A> user_data);"<AHREF="gtkeditable.html#GTKEDITABLE-COPY-CLIPBOARD">copy-clipboard</A>" void user_function (<AHREF="gtkeditable.html">GtkEditable</A> *editable, <AHREF=../glib/glib-basic-types.html#GPOINTER>gpointer</A> user_data);"<AHREF="gtkeditable.html#GTKEDITABLE-PASTE-CLIPBOARD">paste-clipboard</A>" void user_function (<AHREF="gtkeditable.html">GtkEditable</A> *editable, <AHREF=../glib/glib-basic-types.html#GPOINTER>gpointer</A> user_data);</PRE></TD></TR></TABLE></DIV><DIVCLASS="REFSECT1"><ANAME="AEN24505"></A><H2>Description</H2><P>The <AHREF="gtkeditable.html">GtkEditable</A> class is a base class for widgetsfor editing text, such as <AHREF="gtkentry.html">GtkEntry</A> and <AHREF="gtktext.html">GtkText</A>. Itcannot be instantiated by itself. The editableclass contains functions for generically manipulatingan editable widget, a large number of action signalsused for key bindings, and several signals thatan application can connect to to modify the behaviorof a widget. </P><P>As an example of the latter usage, by connectingthe following handler to "insert_text", an applicationcan convert all entry into a widget into uppercase.<DIVCLASS="EXAMPLE"><ANAME="AEN24512"></A><P><B>Example 1. Forcing entry to uppercase </B></P><TABLEBORDER="0"BGCOLOR="#D8F8D8"WIDTH="100%"CELLPADDING="6"><TR><TD><PRECLASS="PROGRAMLISTING">include <ctype.h>voidinsert_text_handler (GtkEditable *editable, const gchar *text, gint length, gint *position, gpointer data){ int i; gchar *result = g_new (gchar, length); for (i=0; i<length; i++) result[i] = islower(text[i]) ? toupper(text[i]) : text[i]; gtk_signal_handler_block_by_func (GTK_OBJECT (editable), GTK_SIGNAL_FUNC (insert_text_handler), data); gtk_editable_insert_text (editable, result, length, position); gtk_signal_handler_unblock_by_func (GTK_OBJECT (editable), GTK_SIGNAL_FUNC (insert_text_handler), data); gtk_signal_emit_stop_by_name (GTK_OBJECT (editable), "insert_text"); g_free (result);}</PRE></TD></TR></TABLE></DIV></P></DIV><DIVCLASS="REFSECT1"><ANAME="AEN24516"></A><H2>Details</H2><DIVCLASS="REFSECT2"><ANAME="AEN24518"></A><H3><ANAME="GTKEDITABLE-STRUCT"></A>struct GtkEditable</H3><TABLEBORDER="0"BGCOLOR="#D6E8FF"WIDTH="100%"CELLPADDING="6"><TR><TD><PRECLASS="PROGRAMLISTING">struct GtkEditable { guint current_pos; guint selection_start_pos; guint selection_end_pos; guint has_selection : 1;};</PRE></TD></TR></TABLE><P>The <AHREF="gtkeditable.html">GtkEditable</A> structure contains the following fields.(These fields should be considered read-only. They shouldnever be set by an application.)<DIVCLASS="INFORMALTABLE"><ANAME="AEN24524"></A><P></P><TABLEBORDER="0"WIDTH="100%"BGCOLOR="#FFF0D0"CELLSPACING="0"CELLPADDING="4"CLASS="CALSTABLE"><TBODY><TR><TDWIDTH="20%"ALIGN="LEFT"VALIGN="TOP"><AHREF=../glib/glib-basic-types.html#GUINT>guint</A> selection_start;</TD><TDWIDTH="80%"ALIGN="LEFT"VALIGN="TOP">the starting position of the selected characters in the widget.</TD></TR><TR><TDWIDTH="20%"ALIGN="LEFT"VALIGN="TOP"><AHREF=../glib/glib-basic-types.html#GUINT>guint</A> selection_end;</TD><TDWIDTH="80%"ALIGN="LEFT"VALIGN="TOP">the end position of the selected characters in the widget.</TD></TR><TR><TDWIDTH="20%"ALIGN="LEFT"VALIGN="TOP"><AHREF=../glib/glib-basic-types.html#GUINT>guint</A> editable;</TD><TDWIDTH="80%"ALIGN="LEFT"VALIGN="TOP">a flag indicating whether or not the widget iseditable by the user.</TD></TR></TBODY></TABLE><P></P></DIV></P></DIV><HR><DIVCLASS="REFSECT2"><ANAME="AEN24541"></A><H3><ANAME="GTKTEXTFUNCTION"></A>GtkTextFunction ()</H3><TABLEBORDER="0"BGCOLOR="#D6E8FF"WIDTH="100%"CELLPADDING="6"><TR><TD><PRECLASS="PROGRAMLISTING">void (*GtkTextFunction) (<AHREF="gtkeditable.html">GtkEditable</A> *editable, <AHREF=../glib/glib-basic-types.html#GUINT32>guint32</A> time);</PRE></TD></TR></TABLE><P
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -