diff --git a/gtk/gtk.h b/gtk/gtk.h index f4c105e6e5..ed85587d73 100644 --- a/gtk/gtk.h +++ b/gtk/gtk.h @@ -133,7 +133,6 @@ #include #include #include -#include #include #include #include diff --git a/gtk/gtkfunctionslistitemfactory.c b/gtk/gtkfunctionslistitemfactory.c deleted file mode 100644 index e625331b8b..0000000000 --- a/gtk/gtkfunctionslistitemfactory.c +++ /dev/null @@ -1,135 +0,0 @@ -/* - * Copyright © 2019 Benjamin Otte - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library. If not, see . - * - * Authors: Benjamin Otte - */ - -#include "config.h" - -#include "gtkfunctionslistitemfactory.h" - -#include "gtklistitemfactoryprivate.h" -#include "gtklistitemprivate.h" - -struct _GtkFunctionsListItemFactory -{ - GtkListItemFactory parent_instance; - - GtkListItemSetupFunc setup_func; - GtkListItemBindFunc bind_func; - gpointer user_data; - GDestroyNotify user_destroy; -}; - -struct _GtkFunctionsListItemFactoryClass -{ - GtkListItemFactoryClass parent_class; -}; - -G_DEFINE_TYPE (GtkFunctionsListItemFactory, gtk_functions_list_item_factory, GTK_TYPE_LIST_ITEM_FACTORY) - -static void -gtk_functions_list_item_factory_setup (GtkListItemFactory *factory, - GtkListItemWidget *widget, - GtkListItem *list_item) -{ - GtkFunctionsListItemFactory *self = GTK_FUNCTIONS_LIST_ITEM_FACTORY (factory); - - if (self->setup_func) - self->setup_func (list_item, self->user_data); - - GTK_LIST_ITEM_FACTORY_CLASS (gtk_functions_list_item_factory_parent_class)->setup (factory, widget, list_item); - - if (gtk_list_item_get_item (list_item) != NULL && self->bind_func) - self->bind_func (list_item, self->user_data); -} - -static void -gtk_functions_list_item_factory_update (GtkListItemFactory *factory, - GtkListItemWidget *widget, - GtkListItem *list_item, - guint position, - gpointer item, - gboolean selected) -{ - GtkFunctionsListItemFactory *self = GTK_FUNCTIONS_LIST_ITEM_FACTORY (factory); - - GTK_LIST_ITEM_FACTORY_CLASS (gtk_functions_list_item_factory_parent_class)->update (factory, widget, list_item, position, item, selected); - - if (item != NULL && self->bind_func) - self->bind_func (list_item, self->user_data); -} - -static void -gtk_functions_list_item_factory_finalize (GObject *object) -{ - GtkFunctionsListItemFactory *self = GTK_FUNCTIONS_LIST_ITEM_FACTORY (object); - - if (self->user_destroy) - self->user_destroy (self->user_data); - - G_OBJECT_CLASS (gtk_functions_list_item_factory_parent_class)->finalize (object); -} - -static void -gtk_functions_list_item_factory_class_init (GtkFunctionsListItemFactoryClass *klass) -{ - GObjectClass *object_class = G_OBJECT_CLASS (klass); - GtkListItemFactoryClass *factory_class = GTK_LIST_ITEM_FACTORY_CLASS (klass); - - object_class->finalize = gtk_functions_list_item_factory_finalize; - - factory_class->setup = gtk_functions_list_item_factory_setup; - factory_class->update = gtk_functions_list_item_factory_update; -} - -static void -gtk_functions_list_item_factory_init (GtkFunctionsListItemFactory *self) -{ -} - -/** - * gtk_functions_list_item_factory_new: (skip) - * @setup_func: (scope call) (destroy user_destroy): the setup function for the list item factory - * @bind_func: (scope call) (destroy user_destroy): the bind function for the list item factory - * @user_data: user data for the @setup_func and @bind_func functions - * @user_destroy: a function called to destroy @user_data - * - * Creates a new #GtkListItemFactory with the given functions. - * - * Returns: (transfer full): the newly created list item factory object - */ -GtkListItemFactory * -gtk_functions_list_item_factory_new (GtkListItemSetupFunc setup_func, - GtkListItemBindFunc bind_func, - gpointer user_data, - GDestroyNotify user_destroy) -{ - GtkFunctionsListItemFactory *self; - - g_return_val_if_fail (setup_func || bind_func, NULL); - g_return_val_if_fail (user_data != NULL || user_destroy == NULL, NULL); - - self = g_object_new (GTK_TYPE_FUNCTIONS_LIST_ITEM_FACTORY, NULL); - - self->setup_func = setup_func; - self->bind_func = bind_func; - self->user_data = user_data; - self->user_destroy = user_destroy; - - return GTK_LIST_ITEM_FACTORY (self); -} - diff --git a/gtk/gtkfunctionslistitemfactory.h b/gtk/gtkfunctionslistitemfactory.h deleted file mode 100644 index 116ef52af9..0000000000 --- a/gtk/gtkfunctionslistitemfactory.h +++ /dev/null @@ -1,82 +0,0 @@ -/* - * Copyright © 2019 Benjamin Otte - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library. If not, see . - * - * Authors: Benjamin Otte - */ - -#ifndef __GTK_FUNCTIONS_LIST_ITEM_FACTORY_H__ -#define __GTK_FUNCTIONS_LIST_ITEM_FACTORY_H__ - -#if !defined (__GTK_H_INSIDE__) && !defined (GTK_COMPILATION) -#error "Only can be included directly." -#endif - -#include -#include - -G_BEGIN_DECLS - -#define GTK_TYPE_FUNCTIONS_LIST_ITEM_FACTORY (gtk_functions_list_item_factory_get_type ()) -#define GTK_FUNCTIONS_LIST_ITEM_FACTORY(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), GTK_TYPE_FUNCTIONS_LIST_ITEM_FACTORY, GtkFunctionsListItemFactory)) -#define GTK_FUNCTIONS_LIST_ITEM_FACTORY_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), GTK_TYPE_FUNCTIONS_LIST_ITEM_FACTORY, GtkFunctionsListItemFactoryClass)) -#define GTK_IS_FUNCTIONS_LIST_ITEM_FACTORY(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), GTK_TYPE_FUNCTIONS_LIST_ITEM_FACTORY)) -#define GTK_IS_FUNCTIONS_LIST_ITEM_FACTORY_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), GTK_TYPE_FUNCTIONS_LIST_ITEM_FACTORY)) -#define GTK_FUNCTIONS_LIST_ITEM_FACTORY_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), GTK_TYPE_FUNCTIONS_LIST_ITEM_FACTORY, GtkFunctionsListItemFactoryClass)) - -typedef struct _GtkFunctionsListItemFactory GtkFunctionsListItemFactory; -typedef struct _GtkFunctionsListItemFactoryClass GtkFunctionsListItemFactoryClass; - -/** - * GtkListItemSetupFunc: - * @item: the #GtkListItem to set up - * @user_data: (closure): user data - * - * Called whenever a new list item needs to be setup for managing a row in - * the list. - * - * At this point, the list item is not bound yet, so gtk_list_item_get_item() - * will return %NULL. - * The list item will later be bound to an item via the #GtkListItemBindFunc. - */ -typedef void (* GtkListItemSetupFunc) (GtkListItem *item, gpointer user_data); - -/** - * GtkListItemBindFunc: - * @item: the #GtkListItem to bind - * @user_data: (closure): user data - * - * Binds a#GtkListItem previously set up via a #GtkListItemSetupFunc to - * an @item. - * - * Rebinding a @item to different @items is supported as well as - * unbinding it by setting @item to %NULL. - */ -typedef void (* GtkListItemBindFunc) (GtkListItem *item, - gpointer user_data); - -GDK_AVAILABLE_IN_ALL -GType gtk_functions_list_item_factory_get_type (void) G_GNUC_CONST; - -GDK_AVAILABLE_IN_ALL -GtkListItemFactory * gtk_functions_list_item_factory_new (GtkListItemSetupFunc setup_func, - GtkListItemBindFunc bind_func, - gpointer user_data, - GDestroyNotify user_destroy); - - -G_END_DECLS - -#endif /* __GTK_FUNCTIONS_LIST_ITEM_FACTORY_H__ */ diff --git a/gtk/meson.build b/gtk/meson.build index 5a7ca5715f..22b274cba0 100644 --- a/gtk/meson.build +++ b/gtk/meson.build @@ -253,7 +253,6 @@ gtk_public_sources = files([ 'gtkfontchooserutils.c', 'gtkfontchooserwidget.c', 'gtkframe.c', - 'gtkfunctionslistitemfactory.c', 'gtkgesture.c', 'gtkgesturedrag.c', 'gtkgesturelongpress.c', @@ -537,7 +536,6 @@ gtk_public_headers = files([ 'gtkfontchooserdialog.h', 'gtkfontchooserwidget.h', 'gtkframe.h', - 'gtkfunctionslistitemfactory.h', 'gtkgesture.h', 'gtkgesturedrag.h', 'gtkgesturelongpress.h',