Get widgets working on the btree/buffer side. Display of them still
2000-11-03 Havoc Pennington <hp@redhat.com> Get widgets working on the btree/buffer side. Display of them still doesn't work. * gtk/gtktextview.c: start implementing child widget stuff * gtk/gtktextiter.c (gtk_text_iter_get_child_anchor): new function * gtk/gtktextlayout.c: handle embedded widgets * gtk/gtktextdisplay.c: handle embedded widgets * gtk/gtktextchild.c: Implement all the child anchor goo * gtk/gtktextbuffer.c (gtk_text_buffer_create_child_anchor): New function * gtk/gtktextbtree.c: Add child anchor table to the btree struct (insert_pixbuf_or_widget_segment): abstract out common portions of creating a child anchor or a pixbuf segment. (gtk_text_btree_create_child_anchor): new function (gtk_text_btree_unregister_child_anchor): new function * gtk/gtkmarshal.list: added VOID:OBJECT,INT,INT for the allocate_child signal on GtkTextLayout * gtk/gtktextiter.c (gtk_text_iter_get_pixbuf): fix bogus return values (gtk_text_iter_get_child_anchor): new function * gtk/gtktextbuffer.c (gtk_text_buffer_real_changed): Add a default handler for the changed signal, which calls gtk_text_buffer_set_modified(), instead of just always emitting changed then calling set_modified() manually. I guess this is maybe more flexible. It seems logical.
This commit is contained in:
committed by
Havoc Pennington
parent
b506b461cb
commit
ca83d0a3dc
@ -69,19 +69,21 @@ typedef struct _GtkTextChildBody GtkTextChildBody;
|
||||
|
||||
struct _GtkTextChildBody
|
||||
{
|
||||
guint ref_count;
|
||||
GtkTextChildAnchor *obj;
|
||||
GSList *widgets;
|
||||
GtkTextBTree *tree;
|
||||
GtkTextLine *line;
|
||||
};
|
||||
|
||||
GtkTextLineSegment *_gtk_widget_segment_new (void);
|
||||
void _gtk_widget_segment_add (GtkTextLineSegment *widget_segment,
|
||||
GtkWidget *child);
|
||||
void _gtk_widget_segment_remove (GtkTextLineSegment *widget_segment,
|
||||
GtkWidget *child);
|
||||
void _gtk_widget_segment_ref (GtkTextLineSegment *widget_segment);
|
||||
void _gtk_widget_segment_unref (GtkTextLineSegment *widget_segment);
|
||||
GtkTextLineSegment *_gtk_widget_segment_new (void);
|
||||
void _gtk_widget_segment_add (GtkTextLineSegment *widget_segment,
|
||||
GtkWidget *child);
|
||||
void _gtk_widget_segment_remove (GtkTextLineSegment *widget_segment,
|
||||
GtkWidget *child);
|
||||
void _gtk_widget_segment_ref (GtkTextLineSegment *widget_segment);
|
||||
void _gtk_widget_segment_unref (GtkTextLineSegment *widget_segment);
|
||||
|
||||
GtkTextLayout* _gtk_anchored_child_get_layout (GtkWidget *child);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user