~canonical-dx-team/ubuntu/maverick/gtk+2.0/menuproxy

« back to all changes in this revision

Viewing changes to docs/reference/gtk/html/TextWidget.html

  • Committer: Bazaar Package Importer
  • Author(s): Sebastian Dröge
  • Date: 2010-06-11 12:19:30 UTC
  • mfrom: (1.11.6 upstream)
  • mto: This revision was merged to the branch mainline in revision 175.
  • Revision ID: james.westby@ubuntu.com-20100611121930-n4pklvkoqdsg12vm
Tags: 2.21.2-1
* New upstream development release:
  + debian/rules,
    debian/libgtk2.0-0.symbols:
    - Update for new API symbols.
  + debian/patches/070_mandatory-relibtoolize.patch:
    - Regenerated for the new version.
  + debian/control.in:
    - Update GLib (build-) dependency to >= 2.25.8.

Show diffs side-by-side

added added

removed removed

Lines of Context:
29
29
<td valign="top" align="right"></td>
30
30
</tr></table></div>
31
31
<div class="refsect1" title="Conceptual Overview">
32
 
<a name="id655563"></a><h2>Conceptual Overview</h2>
 
32
<a name="id421767"></a><h2>Conceptual Overview</h2>
33
33
<p>
34
34
GTK+ has an extremely powerful framework for multiline text editing.  The
35
35
primary objects involved in the process are <a class="link" href="GtkTextBuffer.html" title="GtkTextBuffer"><span class="type">GtkTextBuffer</span></a>, which represents the 
97
97
no text is selected, these two marks will be in the same position. You can 
98
98
manipulate what is selected and where the cursor appears by moving these 
99
99
marks around.
100
 
<sup>[<a name="id815396" href="#ftn.id815396" class="footnote">2</a>]</sup>
 
100
<sup>[<a name="id696728" href="#ftn.id696728" class="footnote">2</a>]</sup>
101
101
</p>
102
102
<p>
103
103
Text buffers always contain at least one line, but may be empty (that
111
111
</p>
112
112
</div>
113
113
<div class="refsect1" title="Simple Example">
114
 
<a name="id815423"></a><h2>Simple Example</h2>
 
114
<a name="id696756"></a><h2>Simple Example</h2>
115
115
<p>
116
116
The simplest usage of <a class="link" href="GtkTextView.html" title="GtkTextView"><span class="type">GtkTextView</span></a>  might look like this:
117
117
</p>
132
132
11
133
133
12
134
134
13</pre></td>
135
 
        <td class="listing_code"><pre class="programlisting"><span class="normal"><a href="GtkWidget.html">GtkWidget</a> </span><span class="symbol">*</span><span class="normal">view</span><span class="symbol">;</span>
136
 
<span class="normal"><a href="GtkTextBuffer.html">GtkTextBuffer</a> </span><span class="symbol">*</span><span class="normal">buffer</span><span class="symbol">;</span>
 
135
        <td class="listing_code"><pre class="programlisting"><span class="usertype">GtkWidget</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">view</span><span class="symbol">;</span>
 
136
<span class="usertype">GtkTextBuffer</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">buffer</span><span class="symbol">;</span>
137
137
 
138
138
<span class="normal">view </span><span class="symbol">=</span><span class="normal"> </span><span class="function"><a href="GtkTextView.html#gtk-text-view-new">gtk_text_view_new</a></span><span class="normal"> </span><span class="symbol">();</span>
139
139
 
158
158
</p>
159
159
</div>
160
160
<div class="refsect1" title="Example of Changing Text Attributes">
161
 
<a name="id821844"></a><h2>Example of Changing Text Attributes</h2>
 
161
<a name="id696635"></a><h2>Example of Changing Text Attributes</h2>
162
162
<p>
163
163
 
164
164
There are two ways to affect text attributes in <a class="link" href="GtkTextView.html" title="GtkTextView"><span class="type">GtkTextView</span></a>.
205
205
29
206
206
30
207
207
31</pre></td>
208
 
        <td class="listing_code"><pre class="programlisting"><span class="normal"><a href="GtkWidget.html">GtkWidget</a> </span><span class="symbol">*</span><span class="normal">view</span><span class="symbol">;</span>
209
 
<span class="normal"><a href="GtkTextBuffer.html">GtkTextBuffer</a> </span><span class="symbol">*</span><span class="normal">buffer</span><span class="symbol">;</span>
210
 
<span class="normal"><a href="gtk-GtkTextIter.html#GtkTextIter">GtkTextIter</a> start</span><span class="symbol">,</span><span class="normal"> end</span><span class="symbol">;</span>
211
 
<span class="normal"><a href="/usr/share/gtk-doc/html/pango/pango-Fonts.html#PangoFontDescription">PangoFontDescription</a> </span><span class="symbol">*</span><span class="normal">font_desc</span><span class="symbol">;</span>
212
 
<span class="normal"><a href="/usr/share/gtk-doc/html/gdk/gdk-Colormaps-and-Colors.html#GdkColor">GdkColor</a> color</span><span class="symbol">;</span>
213
 
<span class="normal"><a href="GtkTextTag.html">GtkTextTag</a> </span><span class="symbol">*</span><span class="normal">tag</span><span class="symbol">;</span>
 
208
        <td class="listing_code"><pre class="programlisting"><span class="usertype">GtkWidget</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">view</span><span class="symbol">;</span>
 
209
<span class="usertype">GtkTextBuffer</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">buffer</span><span class="symbol">;</span>
 
210
<span class="usertype">GtkTextIter</span><span class="normal"> start</span><span class="symbol">,</span><span class="normal"> end</span><span class="symbol">;</span>
 
211
<span class="usertype">PangoFontDescription</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">font_desc</span><span class="symbol">;</span>
 
212
<span class="usertype">GdkColor</span><span class="normal"> color</span><span class="symbol">;</span>
 
213
<span class="usertype">GtkTextTag</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">tag</span><span class="symbol">;</span>
214
214
 
215
215
<span class="normal">view </span><span class="symbol">=</span><span class="normal"> </span><span class="function"><a href="GtkTextView.html#gtk-text-view-new">gtk_text_view_new</a></span><span class="normal"> </span><span class="symbol">();</span>
216
216
 
224
224
<span class="function"><a href="/usr/share/gtk-doc/html/pango/pango-Fonts.html#pango-font-description-free">pango_font_description_free</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">font_desc</span><span class="symbol">);</span>
225
225
 
226
226
<span class="comment">/* Change default color throughout the widget */</span>
227
 
<span class="function"><a href="/usr/share/gtk-doc/html/gdk/gdk-Colormaps-and-Colors.html#gdk-color-parse">gdk_color_parse</a></span><span class="normal"> </span><span class="symbol">(</span><span class="string">"green"</span><span class="symbol">,</span><span class="normal"> </span><span class="symbol">&amp;</span><span class="normal">color</span><span class="symbol">);</span>
 
227
<span class="function"><a href="http://library.gnome.org/devel/gdk/unstable/gdk-Colormaps-and-Colors.html#gdk-color-parse">gdk_color_parse</a></span><span class="normal"> </span><span class="symbol">(</span><span class="string">"green"</span><span class="symbol">,</span><span class="normal"> </span><span class="symbol">&amp;</span><span class="normal">color</span><span class="symbol">);</span>
228
228
<span class="function"><a href="GtkWidget.html#gtk-widget-modify-text">gtk_widget_modify_text</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">view</span><span class="symbol">,</span><span class="normal"> <a href="gtk-Standard-Enumerations.html#GTK-STATE-NORMAL:CAPS">GTK_STATE_NORMAL</a></span><span class="symbol">,</span><span class="normal"> </span><span class="symbol">&amp;</span><span class="normal">color</span><span class="symbol">);</span>
229
229
 
230
230
<span class="comment">/* Change left margin throughout the widget */</span>
232
232
 
233
233
<span class="comment">/* Use a tag to change the color for just one part of the widget */</span>
234
234
<span class="normal">tag </span><span class="symbol">=</span><span class="normal"> </span><span class="function"><a href="GtkTextBuffer.html#gtk-text-buffer-create-tag">gtk_text_buffer_create_tag</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">buffer</span><span class="symbol">,</span><span class="normal"> </span><span class="string">"blue_foreground"</span><span class="symbol">,</span>
235
 
<span class="normal">                               </span><span class="string">"foreground"</span><span class="symbol">,</span><span class="normal"> </span><span class="string">"blue"</span><span class="symbol">,</span><span class="normal"> <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS">NULL</a></span><span class="symbol">);</span><span class="normal">  </span>
 
235
<span class="normal">                        </span><span class="string">"foreground"</span><span class="symbol">,</span><span class="normal"> </span><span class="string">"blue"</span><span class="symbol">,</span><span class="normal"> <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS">NULL</a></span><span class="symbol">);</span><span class="normal">  </span>
236
236
<span class="function"><a href="GtkTextBuffer.html#gtk-text-buffer-get-iter-at-offset">gtk_text_buffer_get_iter_at_offset</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">buffer</span><span class="symbol">,</span><span class="normal"> </span><span class="symbol">&amp;</span><span class="normal">start</span><span class="symbol">,</span><span class="normal"> </span><span class="number">7</span><span class="symbol">);</span>
237
237
<span class="function"><a href="GtkTextBuffer.html#gtk-text-buffer-get-iter-at-offset">gtk_text_buffer_get_iter_at_offset</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">buffer</span><span class="symbol">,</span><span class="normal"> </span><span class="symbol">&amp;</span><span class="normal">end</span><span class="symbol">,</span><span class="normal"> </span><span class="number">12</span><span class="symbol">);</span>
238
238
<span class="function"><a href="GtkTextBuffer.html#gtk-text-buffer-apply-tag">gtk_text_buffer_apply_tag</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">buffer</span><span class="symbol">,</span><span class="normal"> tag</span><span class="symbol">,</span><span class="normal"> </span><span class="symbol">&amp;</span><span class="normal">start</span><span class="symbol">,</span><span class="normal"> </span><span class="symbol">&amp;</span><span class="normal">end</span><span class="symbol">);</span></pre></td>
251
251
</div>
252
252
<div class="footnotes">
253
253
<br><hr width="100" align="left">
254
 
<div class="footnote"><p><sup>[<a name="ftn.id815396" href="#id815396" class="para">2</a>] </sup>
 
254
<div class="footnote"><p><sup>[<a name="ftn.id696728" href="#id696728" class="para">2</a>] </sup>
255
255
If you want to place the cursor in response to a user action, be sure to use
256
256
<a class="link" href="GtkTextBuffer.html#gtk-text-buffer-place-cursor" title="gtk_text_buffer_place_cursor ()"><code class="function">gtk_text_buffer_place_cursor()</code></a>, which moves both at once without causing a 
257
257
temporary selection (moving one then the other temporarily selects the range in