Commit 244996ff authored by Havoc Pennington's avatar Havoc Pennington Committed by Havoc Pennington
Browse files

fix indentation

2000-09-29  Havoc Pennington  <hp@redhat.com>

	* gtk/gtktexttag.c (gtk_text_tag_set_priority): fix indentation

        * gtk/gtktextview.c: Implement drag thresholding; change functions
	that set border window size to have nicer name
	(gtk_text_view_mark_set_handler):  Fix this to have the
	right signature.

	* gtk/testtextbuffer.c (fill_buffer): Update with pixbuf changes

	* gtk/testtext.c: Update with API changes, put line numbers on
	both sides.

	* gtk/gtktextiter.c (gtk_text_iter_get_pixbuf): Replace get_pixmap
	with this

	* gtk/gtktextchild.h, gtk/gtktextchild.c: replace all pixmap with
	pixbuf; delete a big block of #if 0 Tk code

	* gtk/gtktextbuffer.c (gtk_text_buffer_insert_pixbuf): Replace
	insert_pixmap with insert_pixbuf
parent 0415b69e
2000-09-29 Havoc Pennington <hp@redhat.com>
* gtk/gtktexttag.c (gtk_text_tag_set_priority): fix indentation
* gtk/gtktextview.c: Implement drag thresholding; change functions
that set border window size to have nicer name
(gtk_text_view_mark_set_handler): Fix this to have the
right signature.
* gtk/testtextbuffer.c (fill_buffer): Update with pixbuf changes
* gtk/testtext.c: Update with API changes, put line numbers on
both sides.
* gtk/gtktextiter.c (gtk_text_iter_get_pixbuf): Replace get_pixmap
with this
* gtk/gtktextchild.h, gtk/gtktextchild.c: replace all pixmap with
pixbuf; delete a big block of #if 0 Tk code
* gtk/gtktextbuffer.c (gtk_text_buffer_insert_pixbuf): Replace
insert_pixmap with insert_pixbuf
2000-09-29 Martin Baulig <baulig@suse.de>
* Makefile.am (pkgconfigdir): Set this to `$(libexecdir)/pkgconfig';
......
2000-09-29 Havoc Pennington <hp@redhat.com>
* gtk/gtktexttag.c (gtk_text_tag_set_priority): fix indentation
* gtk/gtktextview.c: Implement drag thresholding; change functions
that set border window size to have nicer name
(gtk_text_view_mark_set_handler): Fix this to have the
right signature.
* gtk/testtextbuffer.c (fill_buffer): Update with pixbuf changes
* gtk/testtext.c: Update with API changes, put line numbers on
both sides.
* gtk/gtktextiter.c (gtk_text_iter_get_pixbuf): Replace get_pixmap
with this
* gtk/gtktextchild.h, gtk/gtktextchild.c: replace all pixmap with
pixbuf; delete a big block of #if 0 Tk code
* gtk/gtktextbuffer.c (gtk_text_buffer_insert_pixbuf): Replace
insert_pixmap with insert_pixbuf
2000-09-29 Martin Baulig <baulig@suse.de>
* Makefile.am (pkgconfigdir): Set this to `$(libexecdir)/pkgconfig';
......
2000-09-29 Havoc Pennington <hp@redhat.com>
* gtk/gtktexttag.c (gtk_text_tag_set_priority): fix indentation
* gtk/gtktextview.c: Implement drag thresholding; change functions
that set border window size to have nicer name
(gtk_text_view_mark_set_handler): Fix this to have the
right signature.
* gtk/testtextbuffer.c (fill_buffer): Update with pixbuf changes
* gtk/testtext.c: Update with API changes, put line numbers on
both sides.
* gtk/gtktextiter.c (gtk_text_iter_get_pixbuf): Replace get_pixmap
with this
* gtk/gtktextchild.h, gtk/gtktextchild.c: replace all pixmap with
pixbuf; delete a big block of #if 0 Tk code
* gtk/gtktextbuffer.c (gtk_text_buffer_insert_pixbuf): Replace
insert_pixmap with insert_pixbuf
2000-09-29 Martin Baulig <baulig@suse.de>
* Makefile.am (pkgconfigdir): Set this to `$(libexecdir)/pkgconfig';
......
2000-09-29 Havoc Pennington <hp@redhat.com>
* gtk/gtktexttag.c (gtk_text_tag_set_priority): fix indentation
* gtk/gtktextview.c: Implement drag thresholding; change functions
that set border window size to have nicer name
(gtk_text_view_mark_set_handler): Fix this to have the
right signature.
* gtk/testtextbuffer.c (fill_buffer): Update with pixbuf changes
* gtk/testtext.c: Update with API changes, put line numbers on
both sides.
* gtk/gtktextiter.c (gtk_text_iter_get_pixbuf): Replace get_pixmap
with this
* gtk/gtktextchild.h, gtk/gtktextchild.c: replace all pixmap with
pixbuf; delete a big block of #if 0 Tk code
* gtk/gtktextbuffer.c (gtk_text_buffer_insert_pixbuf): Replace
insert_pixmap with insert_pixbuf
2000-09-29 Martin Baulig <baulig@suse.de>
* Makefile.am (pkgconfigdir): Set this to `$(libexecdir)/pkgconfig';
......
2000-09-29 Havoc Pennington <hp@redhat.com>
* gtk/gtktexttag.c (gtk_text_tag_set_priority): fix indentation
* gtk/gtktextview.c: Implement drag thresholding; change functions
that set border window size to have nicer name
(gtk_text_view_mark_set_handler): Fix this to have the
right signature.
* gtk/testtextbuffer.c (fill_buffer): Update with pixbuf changes
* gtk/testtext.c: Update with API changes, put line numbers on
both sides.
* gtk/gtktextiter.c (gtk_text_iter_get_pixbuf): Replace get_pixmap
with this
* gtk/gtktextchild.h, gtk/gtktextchild.c: replace all pixmap with
pixbuf; delete a big block of #if 0 Tk code
* gtk/gtktextbuffer.c (gtk_text_buffer_insert_pixbuf): Replace
insert_pixmap with insert_pixbuf
2000-09-29 Martin Baulig <baulig@suse.de>
* Makefile.am (pkgconfigdir): Set this to `$(libexecdir)/pkgconfig';
......
2000-09-29 Havoc Pennington <hp@redhat.com>
* gtk/gtktexttag.c (gtk_text_tag_set_priority): fix indentation
* gtk/gtktextview.c: Implement drag thresholding; change functions
that set border window size to have nicer name
(gtk_text_view_mark_set_handler): Fix this to have the
right signature.
* gtk/testtextbuffer.c (fill_buffer): Update with pixbuf changes
* gtk/testtext.c: Update with API changes, put line numbers on
both sides.
* gtk/gtktextiter.c (gtk_text_iter_get_pixbuf): Replace get_pixmap
with this
* gtk/gtktextchild.h, gtk/gtktextchild.c: replace all pixmap with
pixbuf; delete a big block of #if 0 Tk code
* gtk/gtktextbuffer.c (gtk_text_buffer_insert_pixbuf): Replace
insert_pixmap with insert_pixbuf
2000-09-29 Martin Baulig <baulig@suse.de>
* Makefile.am (pkgconfigdir): Set this to `$(libexecdir)/pkgconfig';
......
2000-09-29 Havoc Pennington <hp@redhat.com>
* gtk/gtktexttag.c (gtk_text_tag_set_priority): fix indentation
* gtk/gtktextview.c: Implement drag thresholding; change functions
that set border window size to have nicer name
(gtk_text_view_mark_set_handler): Fix this to have the
right signature.
* gtk/testtextbuffer.c (fill_buffer): Update with pixbuf changes
* gtk/testtext.c: Update with API changes, put line numbers on
both sides.
* gtk/gtktextiter.c (gtk_text_iter_get_pixbuf): Replace get_pixmap
with this
* gtk/gtktextchild.h, gtk/gtktextchild.c: replace all pixmap with
pixbuf; delete a big block of #if 0 Tk code
* gtk/gtktextbuffer.c (gtk_text_buffer_insert_pixbuf): Replace
insert_pixmap with insert_pixbuf
2000-09-29 Martin Baulig <baulig@suse.de>
* Makefile.am (pkgconfigdir): Set this to `$(libexecdir)/pkgconfig';
......
......@@ -1043,9 +1043,8 @@ gtk_text_btree_insert (GtkTextIter *iter,
}
void
gtk_text_btree_insert_pixmap (GtkTextIter *iter,
GdkPixmap *pixmap,
GdkBitmap *mask)
gtk_text_btree_insert_pixbuf (GtkTextIter *iter,
GdkPixbuf *pixbuf)
{
GtkTextLineSegment *seg;
GtkTextIter start;
......@@ -1058,7 +1057,7 @@ gtk_text_btree_insert_pixmap (GtkTextIter *iter,
tree = gtk_text_iter_get_btree(iter);
start_byte_offset = gtk_text_iter_get_line_index(iter);
seg = gtk_text_pixmap_segment_new (pixmap, mask);
seg = gtk_text_pixbuf_segment_new (pixbuf);
prevPtr = gtk_text_line_segment_split(iter);
if (prevPtr == NULL)
......@@ -2037,7 +2036,7 @@ copy_segment(GString *string,
/* printf(" :%s\n", string->str); */
}
else if (seg->type == &gtk_text_pixmap_type)
else if (seg->type == &gtk_text_pixbuf_type)
{
gboolean copy = TRUE;
......
......@@ -31,9 +31,8 @@ void gtk_text_btree_delete (GtkTextIter *start,
void gtk_text_btree_insert (GtkTextIter *iter,
const gchar *text,
gint len);
void gtk_text_btree_insert_pixmap (GtkTextIter *iter,
GdkPixmap *pixmap,
GdkBitmap *mask);
void gtk_text_btree_insert_pixbuf (GtkTextIter *iter,
GdkPixbuf *pixbuf);
......
......@@ -787,22 +787,21 @@ gtk_text_buffer_get_slice (GtkTextBuffer *buffer,
*/
void
gtk_text_buffer_insert_pixmap (GtkTextBuffer *buffer,
gtk_text_buffer_insert_pixbuf (GtkTextBuffer *buffer,
GtkTextIter *iter,
GdkPixmap *pixmap,
GdkBitmap *mask)
GdkPixbuf *pixbuf)
{
g_return_if_fail(GTK_IS_TEXT_BUFFER(buffer));
g_return_if_fail(iter != NULL);
g_return_if_fail(pixmap != NULL);
g_return_if_fail (GTK_IS_TEXT_BUFFER(buffer));
g_return_if_fail (iter != NULL);
g_return_if_fail (GDK_IS_PIXBUF (pixbuf));
gtk_text_btree_insert_pixmap(iter, pixmap, mask);
gtk_text_btree_insert_pixbuf (iter, pixbuf);
/* FIXME pixmap-specific signal like insert_text */
/* FIXME pixbuf-specific signal like insert_text */
gtk_signal_emit(GTK_OBJECT(buffer), signals[CHANGED]);
gtk_signal_emit (GTK_OBJECT(buffer), signals[CHANGED]);
gtk_text_buffer_set_modified(buffer, TRUE);
gtk_text_buffer_set_modified (buffer, TRUE);
}
/*
......@@ -977,6 +976,22 @@ gtk_text_buffer_get_mark (GtkTextBuffer *buffer,
return mark;
}
GtkTextMark*
gtk_text_buffer_get_insert (GtkTextBuffer *buffer)
{
g_return_val_if_fail(GTK_IS_TEXT_BUFFER(buffer), NULL);
return gtk_text_buffer_get_mark (buffer, "insert");
}
GtkTextMark*
gtk_text_buffer_get_selection_bound (GtkTextBuffer *buffer)
{
g_return_val_if_fail(GTK_IS_TEXT_BUFFER(buffer), NULL);
return gtk_text_buffer_get_mark (buffer, "selection_bound");
}
/**
* gtk_text_buffer_place_cursor:
* @buffer: a #GtkTextBuffer
......
......@@ -133,11 +133,10 @@ gchar *gtk_text_buffer_get_slice (GtkTextBuffer *buffer,
const GtkTextIter *end,
gboolean include_hidden_chars);
/* Insert a pixmap */
void gtk_text_buffer_insert_pixmap (GtkTextBuffer *buffer,
/* Insert a pixbuf */
void gtk_text_buffer_insert_pixbuf (GtkTextBuffer *buffer,
GtkTextIter *iter,
GdkPixmap *pixmap,
GdkBitmap *mask);
GdkPixbuf *pixbuf);
/* Mark manipulation */
GtkTextMark *gtk_text_buffer_create_mark (GtkTextBuffer *buffer,
......@@ -149,9 +148,12 @@ void gtk_text_buffer_move_mark (GtkTextBuffer *buffer,
const GtkTextIter *where);
void gtk_text_buffer_delete_mark (GtkTextBuffer *buffer,
GtkTextMark *mark);
GtkTextMark *gtk_text_buffer_get_mark (GtkTextBuffer *buffer,
GtkTextMark* gtk_text_buffer_get_mark (GtkTextBuffer *buffer,
const gchar *name);
GtkTextMark* gtk_text_buffer_get_insert (GtkTextBuffer *buffer);
GtkTextMark* gtk_text_buffer_get_selection_bound (GtkTextBuffer *buffer);
/* efficiently move insert and selection_bound to same location */
void gtk_text_buffer_place_cursor (GtkTextBuffer *buffer,
......
......@@ -52,7 +52,7 @@
#include "gtktextbtree.h"
static GtkTextLineSegment *
pixmap_segment_cleanup_func(GtkTextLineSegment *seg,
pixbuf_segment_cleanup_func (GtkTextLineSegment *seg,
GtkTextLine *line)
{
/* nothing */
......@@ -60,15 +60,12 @@ pixmap_segment_cleanup_func(GtkTextLineSegment *seg,
}
static int
pixmap_segment_delete_func(GtkTextLineSegment *seg,
pixbuf_segment_delete_func(GtkTextLineSegment *seg,
GtkTextLine *line,
gboolean tree_gone)
{
if (seg->body.pixmap.pixmap)
gdk_pixmap_unref(seg->body.pixmap.pixmap);
if (seg->body.pixmap.mask)
gdk_bitmap_unref(seg->body.pixmap.mask);
if (seg->body.pixbuf.pixbuf)
g_object_unref(G_OBJECT (seg->body.pixbuf.pixbuf));
g_free(seg);
......@@ -76,28 +73,28 @@ pixmap_segment_delete_func(GtkTextLineSegment *seg,
}
static void
pixmap_segment_check_func(GtkTextLineSegment *seg,
pixbuf_segment_check_func(GtkTextLineSegment *seg,
GtkTextLine *line)
{
if (seg->next == NULL)
g_error("pixmap segment is the last segment in a line");
g_error("pixbuf segment is the last segment in a line");
if (seg->byte_count != 3)
g_error("pixmap segment has byte count of %d", seg->byte_count);
g_error("pixbuf segment has byte count of %d", seg->byte_count);
if (seg->char_count != 1)
g_error("pixmap segment has char count of %d", seg->char_count);
g_error("pixbuf segment has char count of %d", seg->char_count);
}
GtkTextLineSegmentClass gtk_text_pixmap_type = {
"pixmap", /* name */
GtkTextLineSegmentClass gtk_text_pixbuf_type = {
"pixbuf", /* name */
0, /* leftGravity */
NULL, /* splitFunc */
pixmap_segment_delete_func, /* deleteFunc */
pixmap_segment_cleanup_func, /* cleanupFunc */
pixbuf_segment_delete_func, /* deleteFunc */
pixbuf_segment_cleanup_func, /* cleanupFunc */
NULL, /* lineChangeFunc */
pixmap_segment_check_func /* checkFunc */
pixbuf_segment_check_func /* checkFunc */
};
......@@ -113,17 +110,17 @@ GtkTextLineSegmentClass gtk_text_view_child_type = {
};
#endif
#define PIXMAP_SEG_SIZE ((unsigned) (G_STRUCT_OFFSET(GtkTextLineSegment, body) \
+ sizeof(GtkTextPixmap)))
#define PIXBUF_SEG_SIZE ((unsigned) (G_STRUCT_OFFSET(GtkTextLineSegment, body) \
+ sizeof(GtkTextPixbuf)))
GtkTextLineSegment *
gtk_text_pixmap_segment_new(GdkPixmap *pixmap, GdkBitmap *mask)
gtk_text_pixbuf_segment_new (GdkPixbuf *pixbuf)
{
GtkTextLineSegment *seg;
seg = g_malloc(PIXMAP_SEG_SIZE);
seg = g_malloc(PIXBUF_SEG_SIZE);
seg->type = &gtk_text_pixmap_type;
seg->type = &gtk_text_pixbuf_type;
seg->next = NULL;
......@@ -131,1174 +128,9 @@ gtk_text_pixmap_segment_new(GdkPixmap *pixmap, GdkBitmap *mask)
a 3-byte sequence in UTF-8 */
seg->char_count = 1;
seg->body.pixmap.pixmap = pixmap;
seg->body.pixmap.mask = mask;
if (pixmap)
gdk_pixmap_ref(pixmap);
seg->body.pixbuf.pixbuf = pixbuf;
if (mask)
gdk_bitmap_ref(mask);
g_object_ref (G_OBJECT (pixbuf));
return seg;
}
#if 0
/*
* The following structure is the official type record for the
* embedded window geometry manager:
*/
static void EmbWinRequestFunc _ANSI_ARGS_((gpointer clientData,
Tk_Window tkwin));
static void EmbWinLostSlaveFunc _ANSI_ARGS_((gpointer clientData,
Tk_Window tkwin));
static Tk_GeomMgr textGeomType = {
"text", /* name */
EmbWinRequestFunc, /* requestFunc */
EmbWinLostSlaveFunc, /* lostSlaveFunc */
};
/*
* Definitions for alignment values:
*/
#define ALIGN_BOTTOM 0
#define ALIGN_CENTER 1
#define ALIGN_TOP 2
#define ALIGN_BASELINE 3
/*
* Macro that determines the size of an embedded window segment:
*/
#define EW_SEG_SIZE ((unsigned) (G_STRUCT_OFFSET(GtkTextLineSegment, body) \
+ sizeof(GtkTextEmbWindow)))
/*
* Prototypes for procedures defined in this file:
*/
static int AlignParseFunc _ANSI_ARGS_((gpointer clientData,
Tcl_Interp *interp, Tk_Window tkwin, char *value,
char *widgRec, int offset));
static char * AlignPrintFunc _ANSI_ARGS_((gpointer clientData,
Tk_Window tkwin, char *widgRec, int offset,
Tcl_FreeFunc **freeFuncPtr));
static GtkTextLineSegment * EmbWinCleanupFunc _ANSI_ARGS_((GtkTextLineSegment *segPtr,
GtkTextLine *line));
static void EmbWinCheckFunc _ANSI_ARGS_((GtkTextLineSegment *segPtr,
GtkTextLine *line));
static void EmbWinBboxFunc _ANSI_ARGS_((GtkTextDisplayChunk *chunkPtr,
int index, int y, int lineHeight, int baseline,
int *xPtr, int *yPtr, int *widthPtr,
int *heightPtr));
static int EmbWinConfigure _ANSI_ARGS_((GtkTextView *tkxt,
GtkTextLineSegment *ewPtr, int argc, char **argv));
static void EmbWinDelayedUnmap _ANSI_ARGS_((
gpointer clientData));
static int EmbWinDeleteFunc _ANSI_ARGS_((GtkTextLineSegment *segPtr,
GtkTextLine *line, int treeGone));
static void EmbWinDisplayFunc _ANSI_ARGS_((
GtkTextDisplayChunk *chunkPtr, int x, int y,
int lineHeight, int baseline, Display *display,
Drawable dst, int screenY));
static int EmbWinLayoutFunc _ANSI_ARGS_((GtkTextView *tkxt,
GtkTextIndex *indexPtr, GtkTextLineSegment *segPtr,
int offset, int maxX, int maxChars,
int noCharsYet, GtkWrapMode wrapMode,
GtkTextDisplayChunk *chunkPtr));
static void EmbWinStructureFunc _ANSI_ARGS_((gpointer clientData,
XEvent *eventPtr));
static void EmbWinUndisplayFunc _ANSI_ARGS_((GtkTextView *tkxt,
GtkTextDisplayChunk *chunkPtr));
/*
* The following structure declares the "embedded window" segment type.
*/
static GtkTextLineSegmentClass tkTextEmbWindowType = {
"window", /* name */
0, /* leftGravity */
(GtkTextLineSegmentSplitFunc *) NULL, /* splitFunc */
EmbWinDeleteFunc, /* deleteFunc */
EmbWinCleanupFunc, /* cleanupFunc */
(GtkTextLineSegmentLineChangeFunc *) NULL, /* lineChangeFunc */
EmbWinLayoutFunc, /* layoutFunc */
EmbWinCheckFunc /* checkFunc */
};
/*
* Information used for parsing window configuration options:
*/
static Tk_CustomOption alignOption = {AlignParseFunc, AlignPrintFunc,
(gpointer) NULL};
static Tk_ConfigSpec configSpecs[] = {
{TK_CONFIG_CUSTOM, "-align", (char *) NULL, (char *) NULL,
"center", 0, TK_CONFIG_DONT_SET_DEFAULT, &alignOption},
{TK_CONFIG_STRING, "-create", (char *) NULL, (char *) NULL,
(char *) NULL, G_STRUCT_OFFSET(GtkTextEmbWindow, create),
TK_CONFIG_DONT_SET_DEFAULT|TK_CONFIG_NULL_OK},
{TK_CONFIG_INT, "-padx", (char *) NULL, (char *) NULL,
"0", G_STRUCT_OFFSET(GtkTextEmbWindow, padX),
TK_CONFIG_DONT_SET_DEFAULT},
{TK_CONFIG_INT, "-pady", (char *) NULL, (char *) NULL,
"0", G_STRUCT_OFFSET(GtkTextEmbWindow, padY),
TK_CONFIG_DONT_SET_DEFAULT},
{TK_CONFIG_BOOLEAN, "-stretch", (char *) NULL, (char *) NULL,
"0", G_STRUCT_OFFSET(GtkTextEmbWindow, stretch),
TK_CONFIG_DONT_SET_DEFAULT},
{TK_CONFIG_WINDOW, "-window", (char *) NULL, (char *) NULL,
(char *) NULL, G_STRUCT_OFFSET(GtkTextEmbWindow, tkwin),
TK_CONFIG_DONT_SET_DEFAULT|TK_CONFIG_NULL_OK},
{TK_CONFIG_END, (char *) NULL, (char *) NULL, (char *) NULL,
(char *) NULL, 0, 0}
};
/*
*--------------------------------------------------------------
*
* GtkTextViewWindowCmd --
*
* This procedure implements the "window" widget command
* for text widgets. See the user documentation for details
* on what it does.
*
* Results:
* A standard Tcl result or error.
*
* Side effects:
* See the user documentation.
*
*--------------------------------------------------------------
*/
int
GtkTextViewWindowCmd(tkxt, interp, argc, argv)
GtkTextView *tkxt; /* Information about text widget. */
Tcl_Interp *interp; /* Current interpreter. */
int argc; /* Number of arguments. */
char **argv; /* Argument strings. Someone else has already
* parsed this command enough to know that
* argv[1] is "window". */
{
size_t length;
GtkTextLineSegment *ewPtr;
if (argc < 3) {
Tcl_AppendResult(interp, "wrong # args: should be \"",
argv[0], " window option ?arg arg ...?\"", (char *) NULL);
return TCL_ERROR;
}
length = strlen(argv[2]);
if ((strncmp(argv[2], "cget", length) == 0) && (length >= 2)) {
GtkTextIndex index;
GtkTextLineSegment *ewPtr;
if (argc != 5) {
Tcl_AppendResult(interp, "wrong # args: should be \"",
argv[0], " window cget index option\"",
(char *) NULL);
return TCL_ERROR;
}
if (gtk_text_btree_index_from_string(interp, tkxt, argv[3], &index) != TCL_OK) {
return TCL_ERROR;
}
ewPtr = gtk_text_view_index_to_seg(&index, (int *) NULL);
if (ewPtr->type != &tkTextEmbWindowType) {
Tcl_AppendResult(interp, "no embedded window at index \"",
argv[3], "\"", (char *) NULL);
return TCL_ERROR;
}
return Tk_ConfigureValue(interp, tkxt->tkwin, configSpecs,
(char *) &ewPtr->body.ew, argv[4], 0);
} else if ((strncmp(argv[2], "configure", length) == 0) && (length >= 2)) {
GtkTextIndex index;
GtkTextLineSegment *ewPtr;
if (argc < 4) {
Tcl_AppendResult(interp, "wrong # args: should be \"",
argv[0], " window configure index ?option value ...?\"",
(char *) NULL);
return TCL_ERROR;
}
if (gtk_text_btree_index_from_string(interp, tkxt, argv[3], &index) != TCL_OK) {
return TCL_ERROR;
}
ewPtr = gtk_text_view_index_to_seg(&index, (int *) NULL);
if (ewPtr->type != &tkTextEmbWindowType) {
Tcl_AppendResult(interp, "no embedded window at index \"",
argv[3], "\"", (char *) NULL);
return TCL_ERROR;
}
if (argc == 4) {
return Tk_ConfigureInfo(interp, tkxt->tkwin, configSpecs,
(char *) &ewPtr->body.ew, (char *) NULL, 0);
} else if (argc == 5) {
return Tk_ConfigureInfo(interp, tkxt->tkwin, configSpecs,
(char *) &ewPtr->body.ew, argv[4], 0);
} else {
gtk_text_buffer_need_redisplay(tree->buffer, &index, &index);
return EmbWinConfigure(tkxt, ewPtr, argc-4, argv+4);
}
} else if ((strncmp(argv[2], "create", length) == 0) && (length >= 2)) {
GtkTextIndex index;
int lineIndex;