1 /*
2  * This file is part of gtkD.
3  *
4  * gtkD is free software; you can redistribute it and/or modify
5  * it under the terms of the GNU Lesser General Public License
6  * as published by the Free Software Foundation; either version 3
7  * of the License, or (at your option) any later version, with
8  * some exceptions, please read the COPYING file.
9  *
10  * gtkD is distributed in the hope that it will be useful,
11  * but WITHOUT ANY WARRANTY; without even the implied warranty of
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13  * GNU Lesser General Public License for more details.
14  *
15  * You should have received a copy of the GNU Lesser General Public License
16  * along with gtkD; if not, write to the Free Software
17  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA
18  */
19  
20 // generated automatically - do not change
21 // find conversion definition on APILookup.txt
22 // implement new conversion functionalities on the wrap.utils pakage
23 
24 /*
25  * Conversion parameters:
26  * inFile  = 
27  * outPack = gtk
28  * outFile = TextChildAnchor
29  * strct   = GtkTextChildAnchor
30  * realStrct=
31  * ctorStrct=
32  * clss    = TextChildAnchor
33  * interf  = 
34  * class Code: No
35  * interface Code: No
36  * template for:
37  * extend  = 
38  * implements:
39  * prefixes:
40  * 	- gtk_text_child_anchor_
41  * omit structs:
42  * omit prefixes:
43  * omit code:
44  * omit signals:
45  * imports:
46  * 	- glib.Str
47  * 	- glib.ListG
48  * structWrap:
49  * 	- GList* -> ListG
50  * module aliases:
51  * local aliases:
52  * overrides:
53  */
54 
55 module gtk.TextChildAnchor;
56 
57 public  import gtkc.gtktypes;
58 
59 private import gtkc.gtk;
60 private import glib.ConstructionException;
61 private import gobject.ObjectG;
62 
63 private import gobject.Signals;
64 public  import gtkc.gdktypes;
65 
66 private import glib.Str;
67 private import glib.ListG;
68 
69 
70 
71 
72 /**
73  * Description
74  * You may wish to begin by reading the text widget
75  * conceptual overview which gives an overview of all the objects and data
76  * types related to the text widget and how they work together.
77  */
78 public class TextChildAnchor
79 {
80 	
81 	/** the main Gtk struct */
82 	protected GtkTextChildAnchor* gtkTextChildAnchor;
83 	
84 	
85 	public GtkTextChildAnchor* getTextChildAnchorStruct()
86 	{
87 		return gtkTextChildAnchor;
88 	}
89 	
90 	
91 	/** the main Gtk struct as a void* */
92 	protected void* getStruct()
93 	{
94 		return cast(void*)gtkTextChildAnchor;
95 	}
96 	
97 	/**
98 	 * Sets our main struct and passes it to the parent class
99 	 */
100 	public this (GtkTextChildAnchor* gtkTextChildAnchor)
101 	{
102 		this.gtkTextChildAnchor = gtkTextChildAnchor;
103 	}
104 	
105 	/**
106 	 */
107 	int[string] connectedSignals;
108 	
109 	void delegate(TextChildAnchor)[] onBackspaceListeners;
110 	/**
111 	 * The ::backspace signal is a
112 	 * keybinding signal
113 	 * which gets emitted when the user asks for it.
114 	 * The default bindings for this signal are
115 	 * Backspace and Shift-Backspace.
116 	 */
117 	void addOnBackspace(void delegate(TextChildAnchor) dlg, ConnectFlags connectFlags=cast(ConnectFlags)0)
118 	{
119 		if ( !("backspace" in connectedSignals) )
120 		{
121 			Signals.connectData(
122 			getStruct(),
123 			"backspace",
124 			cast(GCallback)&callBackBackspace,
125 			cast(void*)this,
126 			null,
127 			connectFlags);
128 			connectedSignals["backspace"] = 1;
129 		}
130 		onBackspaceListeners ~= dlg;
131 	}
132 	extern(C) static void callBackBackspace(GtkTextView* textViewStruct, TextChildAnchor _textChildAnchor)
133 	{
134 		foreach ( void delegate(TextChildAnchor) dlg ; _textChildAnchor.onBackspaceListeners )
135 		{
136 			dlg(_textChildAnchor);
137 		}
138 	}
139 	
140 	void delegate(TextChildAnchor)[] onCopyClipboardListeners;
141 	/**
142 	 * The ::copy-clipboard signal is a
143 	 * keybinding signal
144 	 * which gets emitted to copy the selection to the clipboard.
145 	 * The default bindings for this signal are
146 	 * Ctrl-c and Ctrl-Insert.
147 	 */
148 	void addOnCopyClipboard(void delegate(TextChildAnchor) dlg, ConnectFlags connectFlags=cast(ConnectFlags)0)
149 	{
150 		if ( !("copy-clipboard" in connectedSignals) )
151 		{
152 			Signals.connectData(
153 			getStruct(),
154 			"copy-clipboard",
155 			cast(GCallback)&callBackCopyClipboard,
156 			cast(void*)this,
157 			null,
158 			connectFlags);
159 			connectedSignals["copy-clipboard"] = 1;
160 		}
161 		onCopyClipboardListeners ~= dlg;
162 	}
163 	extern(C) static void callBackCopyClipboard(GtkTextView* textViewStruct, TextChildAnchor _textChildAnchor)
164 	{
165 		foreach ( void delegate(TextChildAnchor) dlg ; _textChildAnchor.onCopyClipboardListeners )
166 		{
167 			dlg(_textChildAnchor);
168 		}
169 	}
170 	
171 	void delegate(TextChildAnchor)[] onCutClipboardListeners;
172 	/**
173 	 * The ::cut-clipboard signal is a
174 	 * keybinding signal
175 	 * which gets emitted to cut the selection to the clipboard.
176 	 * The default bindings for this signal are
177 	 * Ctrl-x and Shift-Delete.
178 	 */
179 	void addOnCutClipboard(void delegate(TextChildAnchor) dlg, ConnectFlags connectFlags=cast(ConnectFlags)0)
180 	{
181 		if ( !("cut-clipboard" in connectedSignals) )
182 		{
183 			Signals.connectData(
184 			getStruct(),
185 			"cut-clipboard",
186 			cast(GCallback)&callBackCutClipboard,
187 			cast(void*)this,
188 			null,
189 			connectFlags);
190 			connectedSignals["cut-clipboard"] = 1;
191 		}
192 		onCutClipboardListeners ~= dlg;
193 	}
194 	extern(C) static void callBackCutClipboard(GtkTextView* textViewStruct, TextChildAnchor _textChildAnchor)
195 	{
196 		foreach ( void delegate(TextChildAnchor) dlg ; _textChildAnchor.onCutClipboardListeners )
197 		{
198 			dlg(_textChildAnchor);
199 		}
200 	}
201 	
202 	void delegate(GtkDeleteType, gint, TextChildAnchor)[] onDeleteFromCursorListeners;
203 	/**
204 	 * The ::delete-from-cursor signal is a
205 	 * keybinding signal
206 	 * which gets emitted when the user initiates a text deletion.
207 	 * If the type is GTK_DELETE_CHARS, GTK+ deletes the selection
208 	 * if there is one, otherwise it deletes the requested number
209 	 * of characters.
210 	 * The default bindings for this signal are
211 	 * Delete for deleting a character, Ctrl-Delete for
212 	 * deleting a word and Ctrl-Backspace for deleting a word
213 	 * backwords.
214 	 */
215 	void addOnDeleteFromCursor(void delegate(GtkDeleteType, gint, TextChildAnchor) dlg, ConnectFlags connectFlags=cast(ConnectFlags)0)
216 	{
217 		if ( !("delete-from-cursor" in connectedSignals) )
218 		{
219 			Signals.connectData(
220 			getStruct(),
221 			"delete-from-cursor",
222 			cast(GCallback)&callBackDeleteFromCursor,
223 			cast(void*)this,
224 			null,
225 			connectFlags);
226 			connectedSignals["delete-from-cursor"] = 1;
227 		}
228 		onDeleteFromCursorListeners ~= dlg;
229 	}
230 	extern(C) static void callBackDeleteFromCursor(GtkTextView* textViewStruct, GtkDeleteType type, gint count, TextChildAnchor _textChildAnchor)
231 	{
232 		foreach ( void delegate(GtkDeleteType, gint, TextChildAnchor) dlg ; _textChildAnchor.onDeleteFromCursorListeners )
233 		{
234 			dlg(type, count, _textChildAnchor);
235 		}
236 	}
237 	
238 	void delegate(string, TextChildAnchor)[] onInsertAtCursorListeners;
239 	/**
240 	 * The ::insert-at-cursor signal is a
241 	 * keybinding signal
242 	 * which gets emitted when the user initiates the insertion of a
243 	 * fixed string at the cursor.
244 	 * This signal has no default bindings.
245 	 */
246 	void addOnInsertAtCursor(void delegate(string, TextChildAnchor) dlg, ConnectFlags connectFlags=cast(ConnectFlags)0)
247 	{
248 		if ( !("insert-at-cursor" in connectedSignals) )
249 		{
250 			Signals.connectData(
251 			getStruct(),
252 			"insert-at-cursor",
253 			cast(GCallback)&callBackInsertAtCursor,
254 			cast(void*)this,
255 			null,
256 			connectFlags);
257 			connectedSignals["insert-at-cursor"] = 1;
258 		}
259 		onInsertAtCursorListeners ~= dlg;
260 	}
261 	extern(C) static void callBackInsertAtCursor(GtkTextView* textViewStruct, gchar* str, TextChildAnchor _textChildAnchor)
262 	{
263 		foreach ( void delegate(string, TextChildAnchor) dlg ; _textChildAnchor.onInsertAtCursorListeners )
264 		{
265 			dlg(Str.toString(str), _textChildAnchor);
266 		}
267 	}
268 	
269 	void delegate(GtkMovementStep, gint, gboolean, TextChildAnchor)[] onMoveCursorListeners;
270 	/**
271 	 * The ::move-cursor signal is a
272 	 * keybinding signal
273 	 * which gets emitted when the user initiates a cursor movement.
274 	 * If the cursor is not visible in text_view, this signal causes
275 	 * the viewport to be moved instead.
276 	 * Applications should not connect to it, but may emit it with
277 	 * g_signal_emit_by_name() if they need to control the cursor
278 	 * programmatically.
279 	 * The default bindings for this signal come in two variants,
280 	 * the variant with the Shift modifier extends the selection,
281 	 * the variant without the Shift modifer does not.
282 	 * There are too many key combinations to list them all here.
283 	 * Arrow keys move by individual characters/lines
284 	 * Ctrl-arrow key combinations move by words/paragraphs
285 	 * Home/End keys move to the ends of the buffer
286 	 * PageUp/PageDown keys move vertically by pages
287 	 * Ctrl-PageUp/PageDown keys move horizontally by pages
288 	 * TRUE if the move should extend the selection
289 	 */
290 	void addOnMoveCursor(void delegate(GtkMovementStep, gint, gboolean, TextChildAnchor) dlg, ConnectFlags connectFlags=cast(ConnectFlags)0)
291 	{
292 		if ( !("move-cursor" in connectedSignals) )
293 		{
294 			Signals.connectData(
295 			getStruct(),
296 			"move-cursor",
297 			cast(GCallback)&callBackMoveCursor,
298 			cast(void*)this,
299 			null,
300 			connectFlags);
301 			connectedSignals["move-cursor"] = 1;
302 		}
303 		onMoveCursorListeners ~= dlg;
304 	}
305 	extern(C) static void callBackMoveCursor(GtkTextView* textViewStruct, GtkMovementStep step, gint count, gboolean extendSelection, TextChildAnchor _textChildAnchor)
306 	{
307 		foreach ( void delegate(GtkMovementStep, gint, gboolean, TextChildAnchor) dlg ; _textChildAnchor.onMoveCursorListeners )
308 		{
309 			dlg(step, count, extendSelection, _textChildAnchor);
310 		}
311 	}
312 	
313 	void delegate(GtkScrollStep, gint, TextChildAnchor)[] onMoveViewportListeners;
314 	/**
315 	 * The ::move-viewport signal is a
316 	 * keybinding signal
317 	 * which can be bound to key combinations to allow the user
318 	 * to move the viewport, i.e. change what part of the text view
319 	 * is visible in a containing scrolled window.
320 	 * There are no default bindings for this signal.
321 	 */
322 	void addOnMoveViewport(void delegate(GtkScrollStep, gint, TextChildAnchor) dlg, ConnectFlags connectFlags=cast(ConnectFlags)0)
323 	{
324 		if ( !("move-viewport" in connectedSignals) )
325 		{
326 			Signals.connectData(
327 			getStruct(),
328 			"move-viewport",
329 			cast(GCallback)&callBackMoveViewport,
330 			cast(void*)this,
331 			null,
332 			connectFlags);
333 			connectedSignals["move-viewport"] = 1;
334 		}
335 		onMoveViewportListeners ~= dlg;
336 	}
337 	extern(C) static void callBackMoveViewport(GtkTextView* textViewStruct, GtkScrollStep step, gint count, TextChildAnchor _textChildAnchor)
338 	{
339 		foreach ( void delegate(GtkScrollStep, gint, TextChildAnchor) dlg ; _textChildAnchor.onMoveViewportListeners )
340 		{
341 			dlg(step, count, _textChildAnchor);
342 		}
343 	}
344 	
345 	void delegate(gint, gboolean, TextChildAnchor)[] onPageHorizontallyListeners;
346 	/**
347 	 * The ::page-horizontally signal is a
348 	 * keybinding signal
349 	 * which can be bound to key combinations to allow the user
350 	 * to initiate horizontal cursor movement by pages.
351 	 * This signal should not be used anymore, instead use the
352 	 * "move-cursor" signal with the GTK_MOVEMENT_HORIZONTAL_PAGES
353 	 * granularity.
354 	 * TRUE if the move should extend the selection
355 	 */
356 	void addOnPageHorizontally(void delegate(gint, gboolean, TextChildAnchor) dlg, ConnectFlags connectFlags=cast(ConnectFlags)0)
357 	{
358 		if ( !("page-horizontally" in connectedSignals) )
359 		{
360 			Signals.connectData(
361 			getStruct(),
362 			"page-horizontally",
363 			cast(GCallback)&callBackPageHorizontally,
364 			cast(void*)this,
365 			null,
366 			connectFlags);
367 			connectedSignals["page-horizontally"] = 1;
368 		}
369 		onPageHorizontallyListeners ~= dlg;
370 	}
371 	extern(C) static void callBackPageHorizontally(GtkTextView* textViewStruct, gint count, gboolean extendSelection, TextChildAnchor _textChildAnchor)
372 	{
373 		foreach ( void delegate(gint, gboolean, TextChildAnchor) dlg ; _textChildAnchor.onPageHorizontallyListeners )
374 		{
375 			dlg(count, extendSelection, _textChildAnchor);
376 		}
377 	}
378 	
379 	void delegate(TextChildAnchor)[] onPasteClipboardListeners;
380 	/**
381 	 * The ::paste-clipboard signal is a
382 	 * keybinding signal
383 	 * which gets emitted to paste the contents of the clipboard
384 	 * into the text view.
385 	 * The default bindings for this signal are
386 	 * Ctrl-v and Shift-Insert.
387 	 */
388 	void addOnPasteClipboard(void delegate(TextChildAnchor) dlg, ConnectFlags connectFlags=cast(ConnectFlags)0)
389 	{
390 		if ( !("paste-clipboard" in connectedSignals) )
391 		{
392 			Signals.connectData(
393 			getStruct(),
394 			"paste-clipboard",
395 			cast(GCallback)&callBackPasteClipboard,
396 			cast(void*)this,
397 			null,
398 			connectFlags);
399 			connectedSignals["paste-clipboard"] = 1;
400 		}
401 		onPasteClipboardListeners ~= dlg;
402 	}
403 	extern(C) static void callBackPasteClipboard(GtkTextView* textViewStruct, TextChildAnchor _textChildAnchor)
404 	{
405 		foreach ( void delegate(TextChildAnchor) dlg ; _textChildAnchor.onPasteClipboardListeners )
406 		{
407 			dlg(_textChildAnchor);
408 		}
409 	}
410 	
411 	void delegate(GtkMenu*, TextChildAnchor)[] onPopulatePopupListeners;
412 	/**
413 	 * The ::populate-popup signal gets emitted before showing the
414 	 * context menu of the text view.
415 	 * If you need to add items to the context menu, connect
416 	 * to this signal and append your menuitems to the menu.
417 	 */
418 	void addOnPopulatePopup(void delegate(GtkMenu*, TextChildAnchor) dlg, ConnectFlags connectFlags=cast(ConnectFlags)0)
419 	{
420 		if ( !("populate-popup" in connectedSignals) )
421 		{
422 			Signals.connectData(
423 			getStruct(),
424 			"populate-popup",
425 			cast(GCallback)&callBackPopulatePopup,
426 			cast(void*)this,
427 			null,
428 			connectFlags);
429 			connectedSignals["populate-popup"] = 1;
430 		}
431 		onPopulatePopupListeners ~= dlg;
432 	}
433 	extern(C) static void callBackPopulatePopup(GtkTextView* entryStruct, GtkMenu* menu, TextChildAnchor _textChildAnchor)
434 	{
435 		foreach ( void delegate(GtkMenu*, TextChildAnchor) dlg ; _textChildAnchor.onPopulatePopupListeners )
436 		{
437 			dlg(menu, _textChildAnchor);
438 		}
439 	}
440 	
441 	void delegate(string, TextChildAnchor)[] onPreeditChangedListeners;
442 	/**
443 	 * If an input method is used, the typed text will not immediately
444 	 * be committed to the buffer. So if you are interested in the text,
445 	 * connect to this signal.
446 	 * This signal is only emitted if the text at the given position
447 	 * is actually editable.
448 	 * Since 2.20
449 	 */
450 	void addOnPreeditChanged(void delegate(string, TextChildAnchor) dlg, ConnectFlags connectFlags=cast(ConnectFlags)0)
451 	{
452 		if ( !("preedit-changed" in connectedSignals) )
453 		{
454 			Signals.connectData(
455 			getStruct(),
456 			"preedit-changed",
457 			cast(GCallback)&callBackPreeditChanged,
458 			cast(void*)this,
459 			null,
460 			connectFlags);
461 			connectedSignals["preedit-changed"] = 1;
462 		}
463 		onPreeditChangedListeners ~= dlg;
464 	}
465 	extern(C) static void callBackPreeditChanged(GtkTextView* textViewStruct, gchar* preedit, TextChildAnchor _textChildAnchor)
466 	{
467 		foreach ( void delegate(string, TextChildAnchor) dlg ; _textChildAnchor.onPreeditChangedListeners )
468 		{
469 			dlg(Str.toString(preedit), _textChildAnchor);
470 		}
471 	}
472 	
473 	void delegate(gboolean, TextChildAnchor)[] onSelectAllListeners;
474 	/**
475 	 * The ::select-all signal is a
476 	 * keybinding signal
477 	 * which gets emitted to select or unselect the complete
478 	 * contents of the text view.
479 	 * The default bindings for this signal are Ctrl-a and Ctrl-/
480 	 * for selecting and Shift-Ctrl-a and Ctrl-\ for unselecting.
481 	 * TRUE to select, FALSE to unselect
482 	 */
483 	void addOnSelectAll(void delegate(gboolean, TextChildAnchor) dlg, ConnectFlags connectFlags=cast(ConnectFlags)0)
484 	{
485 		if ( !("select-all" in connectedSignals) )
486 		{
487 			Signals.connectData(
488 			getStruct(),
489 			"select-all",
490 			cast(GCallback)&callBackSelectAll,
491 			cast(void*)this,
492 			null,
493 			connectFlags);
494 			connectedSignals["select-all"] = 1;
495 		}
496 		onSelectAllListeners ~= dlg;
497 	}
498 	extern(C) static void callBackSelectAll(GtkTextView* textViewStruct, gboolean select, TextChildAnchor _textChildAnchor)
499 	{
500 		foreach ( void delegate(gboolean, TextChildAnchor) dlg ; _textChildAnchor.onSelectAllListeners )
501 		{
502 			dlg(select, _textChildAnchor);
503 		}
504 	}
505 	
506 	void delegate(TextChildAnchor)[] onSetAnchorListeners;
507 	/**
508 	 * The ::set-anchor signal is a
509 	 * keybinding signal
510 	 * which gets emitted when the user initiates setting the "anchor"
511 	 * mark. The "anchor" mark gets placed at the same position as the
512 	 * "insert" mark.
513 	 * This signal has no default bindings.
514 	 */
515 	void addOnSetAnchor(void delegate(TextChildAnchor) dlg, ConnectFlags connectFlags=cast(ConnectFlags)0)
516 	{
517 		if ( !("set-anchor" in connectedSignals) )
518 		{
519 			Signals.connectData(
520 			getStruct(),
521 			"set-anchor",
522 			cast(GCallback)&callBackSetAnchor,
523 			cast(void*)this,
524 			null,
525 			connectFlags);
526 			connectedSignals["set-anchor"] = 1;
527 		}
528 		onSetAnchorListeners ~= dlg;
529 	}
530 	extern(C) static void callBackSetAnchor(GtkTextView* textViewStruct, TextChildAnchor _textChildAnchor)
531 	{
532 		foreach ( void delegate(TextChildAnchor) dlg ; _textChildAnchor.onSetAnchorListeners )
533 		{
534 			dlg(_textChildAnchor);
535 		}
536 	}
537 	
538 	void delegate(GtkAdjustment*, GtkAdjustment*, TextChildAnchor)[] onSetScrollAdjustmentsListeners;
539 	/**
540 	 * Set the scroll adjustments for the text view. Usually scrolled containers
541 	 * like GtkScrolledWindow will emit this signal to connect two instances
542 	 * of GtkScrollbar to the scroll directions of the GtkTextView.
543 	 */
544 	void addOnSetScrollAdjustments(void delegate(GtkAdjustment*, GtkAdjustment*, TextChildAnchor) dlg, ConnectFlags connectFlags=cast(ConnectFlags)0)
545 	{
546 		if ( !("set-scroll-adjustments" in connectedSignals) )
547 		{
548 			Signals.connectData(
549 			getStruct(),
550 			"set-scroll-adjustments",
551 			cast(GCallback)&callBackSetScrollAdjustments,
552 			cast(void*)this,
553 			null,
554 			connectFlags);
555 			connectedSignals["set-scroll-adjustments"] = 1;
556 		}
557 		onSetScrollAdjustmentsListeners ~= dlg;
558 	}
559 	extern(C) static void callBackSetScrollAdjustments(GtkTextView* horizontalStruct, GtkAdjustment* vertical, GtkAdjustment* arg2, TextChildAnchor _textChildAnchor)
560 	{
561 		foreach ( void delegate(GtkAdjustment*, GtkAdjustment*, TextChildAnchor) dlg ; _textChildAnchor.onSetScrollAdjustmentsListeners )
562 		{
563 			dlg(vertical, arg2, _textChildAnchor);
564 		}
565 	}
566 	
567 	void delegate(TextChildAnchor)[] onToggleCursorVisibleListeners;
568 	/**
569 	 * The ::toggle-cursor-visible signal is a
570 	 * keybinding signal
571 	 * which gets emitted to toggle the visibility of the cursor.
572 	 * The default binding for this signal is F7.
573 	 */
574 	void addOnToggleCursorVisible(void delegate(TextChildAnchor) dlg, ConnectFlags connectFlags=cast(ConnectFlags)0)
575 	{
576 		if ( !("toggle-cursor-visible" in connectedSignals) )
577 		{
578 			Signals.connectData(
579 			getStruct(),
580 			"toggle-cursor-visible",
581 			cast(GCallback)&callBackToggleCursorVisible,
582 			cast(void*)this,
583 			null,
584 			connectFlags);
585 			connectedSignals["toggle-cursor-visible"] = 1;
586 		}
587 		onToggleCursorVisibleListeners ~= dlg;
588 	}
589 	extern(C) static void callBackToggleCursorVisible(GtkTextView* textViewStruct, TextChildAnchor _textChildAnchor)
590 	{
591 		foreach ( void delegate(TextChildAnchor) dlg ; _textChildAnchor.onToggleCursorVisibleListeners )
592 		{
593 			dlg(_textChildAnchor);
594 		}
595 	}
596 	
597 	void delegate(TextChildAnchor)[] onToggleOverwriteListeners;
598 	/**
599 	 * The ::toggle-overwrite signal is a
600 	 * keybinding signal
601 	 * which gets emitted to toggle the overwrite mode of the text view.
602 	 * The default bindings for this signal is Insert.
603 	 * See Also
604 	 * GtkTextBuffer, GtkTextIter
605 	 */
606 	void addOnToggleOverwrite(void delegate(TextChildAnchor) dlg, ConnectFlags connectFlags=cast(ConnectFlags)0)
607 	{
608 		if ( !("toggle-overwrite" in connectedSignals) )
609 		{
610 			Signals.connectData(
611 			getStruct(),
612 			"toggle-overwrite",
613 			cast(GCallback)&callBackToggleOverwrite,
614 			cast(void*)this,
615 			null,
616 			connectFlags);
617 			connectedSignals["toggle-overwrite"] = 1;
618 		}
619 		onToggleOverwriteListeners ~= dlg;
620 	}
621 	extern(C) static void callBackToggleOverwrite(GtkTextView* textViewStruct, TextChildAnchor _textChildAnchor)
622 	{
623 		foreach ( void delegate(TextChildAnchor) dlg ; _textChildAnchor.onToggleOverwriteListeners )
624 		{
625 			dlg(_textChildAnchor);
626 		}
627 	}
628 	
629 	
630 	/**
631 	 * Creates a new GtkTextChildAnchor. Usually you would then insert
632 	 * it into a GtkTextBuffer with gtk_text_buffer_insert_child_anchor().
633 	 * To perform the creation and insertion in one step, use the
634 	 * convenience function gtk_text_buffer_create_child_anchor().
635 	 * Throws: ConstructionException GTK+ fails to create the object.
636 	 */
637 	public this ()
638 	{
639 		// GtkTextChildAnchor * gtk_text_child_anchor_new (void);
640 		auto p = gtk_text_child_anchor_new();
641 		if(p is null)
642 		{
643 			throw new ConstructionException("null returned by gtk_text_child_anchor_new()");
644 		}
645 		this(cast(GtkTextChildAnchor*) p);
646 	}
647 	
648 	/**
649 	 * Gets a list of all widgets anchored at this child anchor.
650 	 * The returned list should be freed with g_list_free().
651 	 * Returns: list of widgets anchored at anchor. [element-type GtkWidget][transfer container]
652 	 */
653 	public ListG getWidgets()
654 	{
655 		// GList * gtk_text_child_anchor_get_widgets (GtkTextChildAnchor *anchor);
656 		auto p = gtk_text_child_anchor_get_widgets(gtkTextChildAnchor);
657 		
658 		if(p is null)
659 		{
660 			return null;
661 		}
662 		
663 		return ObjectG.getDObject!(ListG)(cast(GList*) p);
664 	}
665 	
666 	/**
667 	 * Determines whether a child anchor has been deleted from
668 	 * the buffer. Keep in mind that the child anchor will be
669 	 * unreferenced when removed from the buffer, so you need to
670 	 * hold your own reference (with g_object_ref()) if you plan
671 	 * to use this function — otherwise all deleted child anchors
672 	 * will also be finalized.
673 	 * Returns: TRUE if the child anchor has been deleted from its buffer
674 	 */
675 	public int getDeleted()
676 	{
677 		// gboolean gtk_text_child_anchor_get_deleted (GtkTextChildAnchor *anchor);
678 		return gtk_text_child_anchor_get_deleted(gtkTextChildAnchor);
679 	}
680 }