LINUX.ORG.RU

GtkWidget не умеет resize-event? О_о


0

1

День добрый, как отследить изменение размера виджета? У него ведь нет событий типа resize-event или что-то типа того. Погуглил, был совет подключиться к событию: «configure-event», подключился:

GtkWidget * widget = GTK_WIDGET(g_object_new(GTK_TYPE_BUTTON_ENTRY, NULL));
				GTK_WIDGET(widget)->window)->data);
	gtk_widget_add_events(widget, GDK_CONFIGURE );
	g_signal_connect(G_OBJECT(widget), "configure-event", G_CALLBACK(gtk_button_entry_resize), NULL);
не работает :( Уже была мысль сделать своё событие resize и вызывать его из expose-event моего виджета, чтобы в нём пересчитывать что мне нужно, но не знаю, думаю это будет не торт, подсобите идеей :)

★★★★★
Ответ на: комментарий от yoghurt

Это мне не подходит, мне нужно отследить изменение размера своего виджета, в нём я переопределил эти методы и в них вызываю методы родителя. Там же пробовал поставить вывод на терминал, чтобы посмотреть, реагирует ли эти функции на изменение размера, но ничего не происходило:

static void 
gtk_button_entry_size_request(GtkWidget *widget, GtkRequisition * requisition)
{
	GTK_WIDGET_CLASS(parent_class)->size_request(widget, requisition);
g_printf("request\n");
}

static void
gtk_button_entry_size_allocate(GtkWidget *widget, GtkAllocation * allocation)
{
	GTK_WIDGET_CLASS(parent_class)->size_allocate(widget, allocation);
	g_printf("allocate\n");
}
xterro ★★★★★
() автор топика
Ответ на: комментарий от fat_angel

Не достаточно, в принципе я уже понял как решить проблему :)

xterro ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.