void glade_gtk_tool_palette_get_child_property (GladeWidgetAdaptor * adaptor, GObject * container, GObject * child, const gchar * property_name, GValue * value) { g_return_if_fail (GTK_IS_TOOL_PALETTE (container)); if (GTK_IS_TOOL_ITEM_GROUP (child) == FALSE) return; if (strcmp (property_name, "position") == 0) { g_value_set_int (value, gtk_tool_palette_get_group_position (GTK_TOOL_PALETTE (container), GTK_TOOL_ITEM_GROUP (child))); } else { /* Chain Up */ GWA_GET_CLASS (GTK_TYPE_CONTAINER)->child_get_property (adaptor, container, child, property_name, value); } }
void glade_gtk_tool_palette_add_child (GladeWidgetAdaptor * adaptor, GObject * object, GObject * child) { GtkToolPalette *palette; GtkToolItemGroup *group; g_return_if_fail (GTK_IS_TOOL_PALETTE (object)); g_return_if_fail (GTK_IS_TOOL_ITEM_GROUP (child)); palette = GTK_TOOL_PALETTE (object); group = GTK_TOOL_ITEM_GROUP (child); gtk_container_add (GTK_CONTAINER (palette), GTK_WIDGET (group)); if (glade_util_object_is_loading (object)) { GladeWidget *gchild = glade_widget_get_from_gobject (child); /* Packing props arent around when parenting during a glade_widget_dup() */ if (gchild && glade_widget_get_packing_properties (gchild)) glade_widget_pack_property_set (gchild, "position", gtk_tool_palette_get_group_position (palette, group)); } }
static void palette_drop_group (GtkToolPalette *palette, GtkToolItemGroup *drag_group, GtkToolItemGroup *drop_group) { gint drop_position = -1; if (drop_group) drop_position = gtk_tool_palette_get_group_position (palette, drop_group); gtk_tool_palette_set_group_position (palette, drag_group, drop_position); }