[glom/gtkmm4v4] gtk4: EggSpreadTable: Remove use of GtkEventBox.
- From: Murray Cumming <murrayc src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [glom/gtkmm4v4] gtk4: EggSpreadTable: Remove use of GtkEventBox.
- Date: Wed, 1 Nov 2017 19:07:40 +0000 (UTC)
commit c3f285ff3c5676e8caef7a436122eb88726eb839
Author: Murray Cumming <murrayc murrayc com>
Date: Wed Nov 1 17:11:34 2017 +0100
gtk4: EggSpreadTable: Remove use of GtkEventBox.
All widgets can now receive events, so an intermediate GtkEventBox
is no longer necessary.
.../eggspreadtable/eggspreadtablednd.c | 43 +++++---------------
1 files changed, 10 insertions(+), 33 deletions(-)
---
diff --git a/glom/utility_widgets/eggspreadtable/eggspreadtablednd.c
b/glom/utility_widgets/eggspreadtable/eggspreadtablednd.c
index 36cd499..59250e4 100644
--- a/glom/utility_widgets/eggspreadtable/eggspreadtablednd.c
+++ b/glom/utility_widgets/eggspreadtable/eggspreadtablednd.c
@@ -1319,18 +1319,12 @@ egg_spread_table_dnd_insert_child (EggSpreadTableDnd *table,
GtkWidget *child,
gint index)
{
- GtkWidget *event_box;
-
g_return_if_fail (EGG_IS_SPREAD_TABLE_DND (table));
g_return_if_fail (GTK_IS_WIDGET (child));
- event_box = gtk_event_box_new ();
- gtk_event_box_set_above_child (GTK_EVENT_BOX (event_box), table->priv->drag_enabled == EGG_DRAG_FULL);
- g_object_set_qdata (G_OBJECT (event_box), dnd_table_child_quark, GINT_TO_POINTER (TRUE));
- gtk_widget_show (event_box);
+ g_object_set_qdata (G_OBJECT (child), dnd_table_child_quark, GINT_TO_POINTER (TRUE));
- gtk_container_add (GTK_CONTAINER (event_box), child);
- egg_spread_table_insert_child (EGG_SPREAD_TABLE (table), event_box, index);
+ egg_spread_table_insert_child (EGG_SPREAD_TABLE (table), child, index);
}
/**
@@ -1348,44 +1342,27 @@ void
egg_spread_table_dnd_remove_child (EggSpreadTableDnd *table,
GtkWidget *child)
{
- GtkWidget *event_box;
-
g_return_if_fail (EGG_IS_SPREAD_TABLE_DND (table));
g_return_if_fail (GTK_IS_WIDGET (child));
- event_box = gtk_widget_get_parent (child);
- if (!event_box)
- {
- g_message ("Bad hierarchy encountered in %s. The child had no parent.", G_STRFUNC);
- return;
- }
-
- if (GPOINTER_TO_INT (g_object_get_qdata (G_OBJECT (event_box), dnd_table_child_quark)) == FALSE)
+ if (GPOINTER_TO_INT (g_object_get_qdata (G_OBJECT (child), dnd_table_child_quark)) == FALSE)
{
g_message ("Bad hierarchy encountered in %s.", G_STRFUNC);
return;
}
- /* unparent the user's child and remove the intermediate spread-table owned event-box. */
- gtk_container_remove (GTK_CONTAINER (event_box), child);
- gtk_container_remove (GTK_CONTAINER (table), event_box);
+ /* unparent the user's child. */
+ gtk_container_remove (GTK_CONTAINER (table), child);
}
static void
-reconfigure_children (GtkEventBox *child,
+reconfigure_children (GtkWidget *child,
EggSpreadTableDnd *table)
{
- /* Besides the internally owned event boxes, only EggPlaceholders can exist
- * as direct children of the EggSpreadTableDnd */
- if (GTK_IS_EVENT_BOX (child))
- {
- gtk_event_box_set_above_child (child, table->priv->drag_enabled == EGG_DRAG_FULL);
-
- if (table->priv->drag_enabled == EGG_DRAG_DISABLED)
- egg_spread_table_disconnect_child (table, child);
- else
- egg_spread_table_connect_child (table, child);
- }
+ if (table->priv->drag_enabled == EGG_DRAG_DISABLED)
+ egg_spread_table_disconnect_child (table, child);
+ else
+ egg_spread_table_connect_child (table, child);
}
/**
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]