LINUX.ORG.RU

История изменений

Исправление nvl, (текущая версия) :

1. в передаваемых параметрах в метод уже есть размер окна (виджета)? Или как наиболее оптимально его получить?

Передаешь само окно как gpointer user_data и получаешь размеры: gtk-widget-get-allocated-width и gtk-widget-get-allocated-height

2. Как получить список всех потомков окна (размещённых на нём ГТК виджетов)? Причём если это древовидная иерархия то не только первого уровня.

Тебе лучше использовать структуру для этих целей (и её передавать как user_data)

typedef struct {
  GtkWindow *window;
  GtkWidget *button;
  GtkLabel *label1;
  GtkLabel *label2;
} MyCustomWindow;

Исходная версия nvl, :

1. в передаваемых параметрах в метод уже есть размер окна (виджета)? Или как наиболее оптимально его получить?

Передаешь само окно как gpointer user_data и получаешь размеры: gtk-widget-get-allocated-width и gtk-widget-get-allocated-height

2. Как получить список всех потомков окна (размещённых на нём ГТК виджетов)? Причём если это древовидная иерархия то не только первого уровня.

Тебе лучше оспользовать структуру для этих целей (и её передавать как user_data)

typedef struct {
  GtkWindow *window;
  GtkWidget *button;
  GtkLabel *label1;
  GtkLabel *label2;
} MyCustomWindow;