Mercurial > audlegacy
diff src/audacious/ui_skinned_window.c @ 2496:71bee08db1c6 trunk
[svn] - widgetlist -> SkinnedWindow class + basic conversion in ui_main, other skinned windows remain
author | nenolod |
---|---|
date | Sat, 10 Feb 2007 20:09:23 -0800 |
parents | 59661bd074b4 |
children | 319b10203d7c |
line wrap: on
line diff
--- a/src/audacious/ui_skinned_window.c Sat Feb 10 17:04:31 2007 -0800 +++ b/src/audacious/ui_skinned_window.c Sat Feb 10 20:09:23 2007 -0800 @@ -18,6 +18,7 @@ */ #include "platform/smartinclude.h" +#include "widgets/widgetcore.h" #include <gtk/gtkmain.h> #include <glib-object.h> @@ -155,3 +156,51 @@ return widget; } + +void +ui_skinned_window_widgetlist_associate(GtkWidget * widget, Widget * w) +{ + SkinnedWindow *sw; + + g_return_if_fail(widget != NULL); + g_return_if_fail(w != NULL); + + sw = SKINNED_WINDOW(widget); + + sw->widget_list = g_list_append(sw->widget_list, w); +} + +void +ui_skinned_window_widgetlist_dissociate(GtkWidget * widget, Widget * w) +{ + SkinnedWindow *sw; + + g_return_if_fail(widget != NULL); + g_return_if_fail(w != NULL); + + sw = SKINNED_WINDOW(widget); + + sw->widget_list = g_list_remove(sw->widget_list, w); +} + +gboolean +ui_skinned_window_widgetlist_contained(GtkWidget * widget, gint x, gint y) +{ + SkinnedWindow *sw; + GList *l; + + g_return_val_if_fail(widget != NULL, FALSE); + + sw = SKINNED_WINDOW(widget); + + for (l = sw->widget_list; l != NULL; l = g_list_next(l)) + { + Widget *w = WIDGET(l->data); + + if (widget_contains(WIDGET(w), x, y) == TRUE) + return TRUE; + } + + return FALSE; +} +