<?xml version="1.0"?>
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
               "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd"
[
  <!ENTITY % local.common.attrib "xmlns:xi  CDATA  #FIXED 'http://www.w3.org/2003/XInclude'">
  <!ENTITY % gtkdocentities SYSTEM "../xml/gtkdocentities.ent">
  %gtkdocentities;
]>
<refentry id="AtkEditableText">
<refmeta>
<refentrytitle role="top_of_page" id="AtkEditableText.top_of_page">AtkEditableText</refentrytitle>
<manvolnum>3</manvolnum>
<refmiscinfo>ATK Library</refmiscinfo>
</refmeta>
<refnamediv>
<refname>AtkEditableText</refname>
<refpurpose>The ATK interface implemented by components
containing user-editable text content.</refpurpose>
</refnamediv>

<refsect1 id="AtkEditableText.functions" role="functions_proto">
<title role="functions_proto.title">Functions</title>
<informaltable pgwide="1" frame="none">
<tgroup cols="2">
<colspec colname="functions_proto_type" colwidth="150px"/>
<colspec colname="functions_proto_name"/>
<tbody>
<row><entry role="function_type"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
</entry><entry role="function_name"><link linkend="atk-editable-text-set-run-attributes">atk_editable_text_set_run_attributes</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link>
</entry><entry role="function_name"><link linkend="atk-editable-text-set-text-contents">atk_editable_text_set_text_contents</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link>
</entry><entry role="function_name"><link linkend="atk-editable-text-insert-text">atk_editable_text_insert_text</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link>
</entry><entry role="function_name"><link linkend="atk-editable-text-copy-text">atk_editable_text_copy_text</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link>
</entry><entry role="function_name"><link linkend="atk-editable-text-cut-text">atk_editable_text_cut_text</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link>
</entry><entry role="function_name"><link linkend="atk-editable-text-delete-text">atk_editable_text_delete_text</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link>
</entry><entry role="function_name"><link linkend="atk-editable-text-paste-text">atk_editable_text_paste_text</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>

</tbody>
</tgroup>
</informaltable>
</refsect1>
<refsect1 id="AtkEditableText.other" role="other_proto">
<title role="other_proto.title">Types and Values</title>
<informaltable pgwide="1" frame="none">
<tgroup cols="2">
<colspec colname="other_proto_type" colwidth="150px"/>
<colspec colname="other_proto_name"/>
<tbody>
<row><entry role="datatype_keyword"></entry><entry role="function_name"><link linkend="AtkEditableText-struct">AtkEditableText</link></entry></row>

</tbody>
</tgroup>
</informaltable>
</refsect1>
<refsect1 id="AtkEditableText.object-hierarchy" role="object_hierarchy">
<title role="object_hierarchy.title">Object Hierarchy</title>
<screen>    <link linkend="GInterface">GInterface</link>
    <phrase role="lineart">&#9584;&#9472;&#9472;</phrase> AtkEditableText
</screen>
</refsect1>
<refsect1 id="AtkEditableText.implementations" role="implementations">
<title role="implementations.title">Known Implementations</title>
<para>
AtkEditableText is implemented by
 <link linkend="AtkNoOpObject">AtkNoOpObject</link>.</para>

</refsect1>


<refsect1 id="AtkEditableText.description" role="desc">
<title role="desc.title">Description</title>
<para><link linkend="AtkEditableText"><type>AtkEditableText</type></link> should be implemented by UI components which
contain text which the user can edit, via the <link linkend="AtkObject"><type>AtkObject</type></link>
corresponding to that component (see <link linkend="AtkObject"><type>AtkObject</type></link>).</para>
<para><link linkend="AtkEditableText"><type>AtkEditableText</type></link> is a subclass of <link linkend="AtkText"><type>AtkText</type></link>, and as such, an object
which implements <link linkend="AtkEditableText"><type>AtkEditableText</type></link> is by definition an <link linkend="AtkText"><type>AtkText</type></link>
implementor as well.</para>
<para>See also: <link linkend="AtkText"><type>AtkText</type></link></para>

</refsect1>
<refsect1 id="AtkEditableText.functions_details" role="details">
<title role="details.title">Functions</title>
<refsect2 id="atk-editable-text-set-run-attributes" role="function">
<title>atk_editable_text_set_run_attributes&#160;()</title>
<indexterm zone="atk-editable-text-set-run-attributes"><primary>atk_editable_text_set_run_attributes</primary></indexterm>
<programlisting language="C"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
atk_editable_text_set_run_attributes (<parameter><link linkend="AtkEditableText"><type>AtkEditableText</type></link> *text</parameter>,
                                      <parameter><link linkend="AtkAttributeSet"><type>AtkAttributeSet</type></link> *attrib_set</parameter>,
                                      <parameter><link linkend="gint"><type>gint</type></link> start_offset</parameter>,
                                      <parameter><link linkend="gint"><type>gint</type></link> end_offset</parameter>);</programlisting>
<para>Sets the attributes for a specified range. See the ATK_ATTRIBUTE
macros (such as <link linkend="ATK-ATTRIBUTE-LEFT-MARGIN:CAPS"><type>ATK_ATTRIBUTE_LEFT_MARGIN</type></link>) for examples of attributes 
that can be set. Note that other attributes that do not have corresponding
ATK_ATTRIBUTE macros may also be set for certain text widgets.</para>
<refsect3 id="atk-editable-text-set-run-attributes.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>text</para></entry>
<entry role="parameter_description"><para>an <link linkend="AtkEditableText"><type>AtkEditableText</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>attrib_set</para></entry>
<entry role="parameter_description"><para>an <link linkend="AtkAttributeSet"><type>AtkAttributeSet</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>start_offset</para></entry>
<entry role="parameter_description"><para>start of range in which to set attributes</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>end_offset</para></entry>
<entry role="parameter_description"><para>end of range in which to set attributes</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="atk-editable-text-set-run-attributes.returns" role="returns">
<title>Returns</title>
<para> <link linkend="TRUE:CAPS"><literal>TRUE</literal></link> if attributes successfully set for the specified
range, otherwise <link linkend="FALSE:CAPS"><literal>FALSE</literal></link></para>
</refsect3></refsect2>
<refsect2 id="atk-editable-text-set-text-contents" role="function">
<title>atk_editable_text_set_text_contents&#160;()</title>
<indexterm zone="atk-editable-text-set-text-contents"><primary>atk_editable_text_set_text_contents</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
atk_editable_text_set_text_contents (<parameter><link linkend="AtkEditableText"><type>AtkEditableText</type></link> *text</parameter>,
                                     <parameter>const <link linkend="gchar"><type>gchar</type></link> *string</parameter>);</programlisting>
<para>Set text contents of <parameter>text</parameter>
.</para>
<refsect3 id="atk-editable-text-set-text-contents.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>text</para></entry>
<entry role="parameter_description"><para>an <link linkend="AtkEditableText"><type>AtkEditableText</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>string</para></entry>
<entry role="parameter_description"><para>string to set for text contents of <parameter>text</parameter>
</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="atk-editable-text-insert-text" role="function">
<title>atk_editable_text_insert_text&#160;()</title>
<indexterm zone="atk-editable-text-insert-text"><primary>atk_editable_text_insert_text</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
atk_editable_text_insert_text (<parameter><link linkend="AtkEditableText"><type>AtkEditableText</type></link> *text</parameter>,
                               <parameter>const <link linkend="gchar"><type>gchar</type></link> *string</parameter>,
                               <parameter><link linkend="gint"><type>gint</type></link> length</parameter>,
                               <parameter><link linkend="gint"><type>gint</type></link> *position</parameter>);</programlisting>
<para>Insert text at a given position.</para>
<refsect3 id="atk-editable-text-insert-text.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>text</para></entry>
<entry role="parameter_description"><para>an <link linkend="AtkEditableText"><type>AtkEditableText</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>string</para></entry>
<entry role="parameter_description"><para>the text to insert</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>length</para></entry>
<entry role="parameter_description"><para>the length of text to insert, in bytes</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>position</para></entry>
<entry role="parameter_description"><para>The caller initializes this to
the position at which to insert the text. After the call it
points at the position after the newly inserted text.</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="atk-editable-text-copy-text" role="function">
<title>atk_editable_text_copy_text&#160;()</title>
<indexterm zone="atk-editable-text-copy-text"><primary>atk_editable_text_copy_text</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
atk_editable_text_copy_text (<parameter><link linkend="AtkEditableText"><type>AtkEditableText</type></link> *text</parameter>,
                             <parameter><link linkend="gint"><type>gint</type></link> start_pos</parameter>,
                             <parameter><link linkend="gint"><type>gint</type></link> end_pos</parameter>);</programlisting>
<para>Copy text from <parameter>start_pos</parameter>
 up to, but not including <parameter>end_pos</parameter>
 
to the clipboard.</para>
<refsect3 id="atk-editable-text-copy-text.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>text</para></entry>
<entry role="parameter_description"><para>an <link linkend="AtkEditableText"><type>AtkEditableText</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>start_pos</para></entry>
<entry role="parameter_description"><para>start position</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>end_pos</para></entry>
<entry role="parameter_description"><para>end position</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="atk-editable-text-cut-text" role="function">
<title>atk_editable_text_cut_text&#160;()</title>
<indexterm zone="atk-editable-text-cut-text"><primary>atk_editable_text_cut_text</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
atk_editable_text_cut_text (<parameter><link linkend="AtkEditableText"><type>AtkEditableText</type></link> *text</parameter>,
                            <parameter><link linkend="gint"><type>gint</type></link> start_pos</parameter>,
                            <parameter><link linkend="gint"><type>gint</type></link> end_pos</parameter>);</programlisting>
<para>Copy text from <parameter>start_pos</parameter>
 up to, but not including <parameter>end_pos</parameter>

to the clipboard and then delete from the widget.</para>
<refsect3 id="atk-editable-text-cut-text.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>text</para></entry>
<entry role="parameter_description"><para>an <link linkend="AtkEditableText"><type>AtkEditableText</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>start_pos</para></entry>
<entry role="parameter_description"><para>start position</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>end_pos</para></entry>
<entry role="parameter_description"><para>end position</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="atk-editable-text-delete-text" role="function">
<title>atk_editable_text_delete_text&#160;()</title>
<indexterm zone="atk-editable-text-delete-text"><primary>atk_editable_text_delete_text</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
atk_editable_text_delete_text (<parameter><link linkend="AtkEditableText"><type>AtkEditableText</type></link> *text</parameter>,
                               <parameter><link linkend="gint"><type>gint</type></link> start_pos</parameter>,
                               <parameter><link linkend="gint"><type>gint</type></link> end_pos</parameter>);</programlisting>
<para>Delete text <parameter>start_pos</parameter>
 up to, but not including <parameter>end_pos</parameter>
.</para>
<refsect3 id="atk-editable-text-delete-text.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>text</para></entry>
<entry role="parameter_description"><para>an <link linkend="AtkEditableText"><type>AtkEditableText</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>start_pos</para></entry>
<entry role="parameter_description"><para>start position</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>end_pos</para></entry>
<entry role="parameter_description"><para>end position</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="atk-editable-text-paste-text" role="function">
<title>atk_editable_text_paste_text&#160;()</title>
<indexterm zone="atk-editable-text-paste-text"><primary>atk_editable_text_paste_text</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
atk_editable_text_paste_text (<parameter><link linkend="AtkEditableText"><type>AtkEditableText</type></link> *text</parameter>,
                              <parameter><link linkend="gint"><type>gint</type></link> position</parameter>);</programlisting>
<para>Paste text from clipboard to specified <parameter>position</parameter>
.</para>
<refsect3 id="atk-editable-text-paste-text.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>text</para></entry>
<entry role="parameter_description"><para>an <link linkend="AtkEditableText"><type>AtkEditableText</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>position</para></entry>
<entry role="parameter_description"><para>position to paste</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>

</refsect1>
<refsect1 id="AtkEditableText.other_details" role="details">
<title role="details.title">Types and Values</title>
<refsect2 id="AtkEditableText-struct" role="struct">
<title>AtkEditableText</title>
<indexterm zone="AtkEditableText-struct"><primary>AtkEditableText</primary></indexterm>
<programlisting language="C">typedef struct _AtkEditableText AtkEditableText;</programlisting>
</refsect2>

</refsect1>

</refentry>
