[gtk/kill-containers: 52/76] textviewchild: Derive from GtkWidget
- From: Matthias Clasen <matthiasc src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk/kill-containers: 52/76] textviewchild: Derive from GtkWidget
- Date: Sat, 9 May 2020 04:43:48 +0000 (UTC)
commit 6c69aa95ae51a886872ae5ab78c7b80869834291
Author: Matthias Clasen <mclasen redhat com>
Date: Fri May 8 01:05:06 2020 -0400
textviewchild: Derive from GtkWidget
GtkContainer is going away.
gtk/gtktextview.c | 2 +-
gtk/gtktextviewchild.c | 45 ++++++++-----------------------------------
gtk/gtktextviewchildprivate.h | 11 +++++++++--
3 files changed, 18 insertions(+), 40 deletions(-)
---
diff --git a/gtk/gtktextview.c b/gtk/gtktextview.c
index dfdb14507c..fcbe659fc2 100644
--- a/gtk/gtktextview.c
+++ b/gtk/gtktextview.c
@@ -4393,7 +4393,7 @@ gtk_text_view_set_gutter (GtkTextView *text_view,
return;
new_child = GTK_TEXT_VIEW_CHILD (gtk_text_view_child_new (win));
- gtk_container_add (GTK_CONTAINER (new_child), widget);
+ gtk_text_view_child_add (new_child, widget);
*childp = g_object_ref (new_child);
gtk_widget_set_parent (GTK_WIDGET (new_child), GTK_WIDGET (text_view));
diff --git a/gtk/gtktextviewchild.c b/gtk/gtktextviewchild.c
index a51ddfe3ac..a0aee77ef1 100644
--- a/gtk/gtktextviewchild.c
+++ b/gtk/gtktextviewchild.c
@@ -37,7 +37,7 @@ typedef struct
struct _GtkTextViewChild
{
- GtkContainer parent_instance;
+ GtkWidget parent_instance;
GtkTextWindowType window_type;
GQueue overlays;
int xoffset;
@@ -51,7 +51,7 @@ enum {
N_PROPS
};
-G_DEFINE_TYPE (GtkTextViewChild, gtk_text_view_child, GTK_TYPE_CONTAINER)
+G_DEFINE_TYPE (GtkTextViewChild, gtk_text_view_child, GTK_TYPE_WIDGET)
static GParamSpec *properties[N_PROPS];
@@ -107,12 +107,10 @@ gtk_text_view_child_get_overlay (GtkTextViewChild *self,
return NULL;
}
-static void
-gtk_text_view_child_add (GtkContainer *container,
- GtkWidget *widget)
+void
+gtk_text_view_child_add (GtkTextViewChild *self,
+ GtkWidget *widget)
{
- GtkTextViewChild *self = GTK_TEXT_VIEW_CHILD (container);
-
if (self->child != NULL)
{
g_warning ("%s allows a single child and already contains a %s",
@@ -125,12 +123,10 @@ gtk_text_view_child_add (GtkContainer *container,
gtk_widget_set_parent (widget, GTK_WIDGET (self));
}
-static void
-gtk_text_view_child_remove (GtkContainer *container,
- GtkWidget *widget)
+void
+gtk_text_view_child_remove (GtkTextViewChild *self,
+ GtkWidget *widget)
{
- GtkTextViewChild *self = GTK_TEXT_VIEW_CHILD (container);
-
if (widget == self->child)
{
self->child = NULL;
@@ -146,26 +142,6 @@ gtk_text_view_child_remove (GtkContainer *container,
}
}
-static void
-gtk_text_view_child_forall (GtkContainer *container,
- GtkCallback callback,
- gpointer callback_data)
-{
- GtkTextViewChild *self = GTK_TEXT_VIEW_CHILD (container);
- const GList *iter;
-
- if (self->child != NULL)
- callback (self->child, callback_data);
-
- iter = self->overlays.head;
- while (iter != NULL)
- {
- Overlay *overlay = iter->data;
- iter = iter->next;
- callback (overlay->widget, callback_data);
- }
-}
-
static void
gtk_text_view_child_measure (GtkWidget *widget,
GtkOrientation orientation,
@@ -378,7 +354,6 @@ gtk_text_view_child_class_init (GtkTextViewChildClass *klass)
{
GObjectClass *object_class = G_OBJECT_CLASS (klass);
GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (klass);
- GtkContainerClass *container_class = GTK_CONTAINER_CLASS (klass);
object_class->constructed = gtk_text_view_child_constructed;
object_class->get_property = gtk_text_view_child_get_property;
@@ -388,10 +363,6 @@ gtk_text_view_child_class_init (GtkTextViewChildClass *klass)
widget_class->size_allocate = gtk_text_view_child_size_allocate;
widget_class->snapshot = gtk_text_view_child_snapshot;
- container_class->add = gtk_text_view_child_add;
- container_class->remove = gtk_text_view_child_remove;
- container_class->forall = gtk_text_view_child_forall;
-
/**
* GtkTextViewChild:window-type:
*
diff --git a/gtk/gtktextviewchildprivate.h b/gtk/gtktextviewchildprivate.h
index a7396a48d3..ca6af116ce 100644
--- a/gtk/gtktextviewchildprivate.h
+++ b/gtk/gtktextviewchildprivate.h
@@ -18,18 +18,25 @@
#ifndef __GTK_TEXT_VIEW_CHILD_PRIVATE_H__
#define __GTK_TEXT_VIEW_CHILD_PRIVATE_H__
-#include <gtk/gtkcontainer.h>
+#include <gtk/gtkwidget.h>
#include <gtk/gtktextview.h>
#define GTK_TYPE_TEXT_VIEW_CHILD (gtk_text_view_child_get_type())
G_GNUC_INTERNAL
-G_DECLARE_FINAL_TYPE (GtkTextViewChild, gtk_text_view_child, GTK, TEXT_VIEW_CHILD, GtkContainer)
+G_DECLARE_FINAL_TYPE (GtkTextViewChild, gtk_text_view_child, GTK, TEXT_VIEW_CHILD, GtkWidget)
G_GNUC_INTERNAL
GtkWidget *gtk_text_view_child_new (GtkTextWindowType window_type);
G_GNUC_INTERNAL
GtkTextWindowType gtk_text_view_child_get_window_type (GtkTextViewChild *self);
+
+G_GNUC_INTERNAL
+void gtk_text_view_child_add (GtkTextViewChild *self,
+ GtkWidget *widget);
+G_GNUC_INTERNAL
+void gtk_text_view_child_remove (GtkTextViewChild *self,
+ GtkWidget *widget);
G_GNUC_INTERNAL
void gtk_text_view_child_add_overlay (GtkTextViewChild *self,
GtkWidget *widget,
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]