본문 바로가기
  • fishing...
  • eating...
MISCELLANEOUSNESS

Glade로 생성한 GTK+ 소스에서 widget* 얻기.

by 회색뿔 2008. 2. 15.

support.c 파일에 보면 아래와 같은 lookup_widget()가 존재한다.
아래 함수를 사용하여 widget* 얻어보자..



GtkWidget*
lookup_widget                          (GtkWidget       *widget,
                                        const gchar     *widget_name)
{
  GtkWidget *parent, *found_widget;

  for (;;)
    {
      if (GTK_IS_MENU (widget))
        parent = gtk_menu_get_attach_widget (GTK_MENU (widget));
      else
        parent = widget->parent;
      if (!parent)
        parent = (GtkWidget*) g_object_get_data (G_OBJECT (widget), "GladeParentKey");
      if (parent == NULL)
        break;
      widget = parent;
    }

  found_widget = (GtkWidget*) g_object_get_data (G_OBJECT (widget),
                                                 widget_name);
  if (!found_widget)
    g_warning ("Widget not found: %s", widget_name);
  return found_widget;
}







'MISCELLANEOUSNESS' 카테고리의 다른 글

나무를 심는 사람  (0) 2008.02.27
GTK+ 설치 순서...  (1) 2008.02.10
libjpeg 설치시 오류 해결 방법  (0) 2008.02.10