]> de.git.xonotic.org Git - xonotic/netradiant.git/blob - contrib/brushexport/support.cpp
Merge branch 'TimePath/gtk++' into 'master'
[xonotic/netradiant.git] / contrib / brushexport / support.cpp
1 #include <gtk/gtk.h>
2 #include <uilib/uilib.h>
3
4 #include "support.h"
5
6 ui::Widget
7 lookup_widget( GtkWidget       *widget,
8                            const gchar     *widget_name ){
9         GtkWidget *parent, *found_widget;
10
11         for (;; )
12         {
13                 if ( GTK_IS_MENU( widget ) ) {
14                         parent = gtk_menu_get_attach_widget( GTK_MENU( widget ) );
15                 }
16                 else{
17                         parent = gtk_widget_get_parent(widget);
18                 }
19                 if ( !parent ) {
20                         parent = (GtkWidget*) g_object_get_data( G_OBJECT( widget ), "GladeParentKey" );
21                 }
22                 if ( parent == NULL ) {
23                         break;
24                 }
25                 widget = parent;
26         }
27
28         found_widget = (GtkWidget*) g_object_get_data( G_OBJECT( widget ),
29                                                                                                    widget_name );
30         if ( !found_widget ) {
31                 g_warning( "Widget not found: %s", widget_name );
32         }
33         return ui::Widget(found_widget);
34 }