LINUX.ORG.RU

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

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

А если честно, то я бы сам с удовольствием, что-то по этому поводу почитал. ;)

Ответ Tayler'а меня устраивает, но я все же для читаемости перелопачу немного код, с которым имею дело, т.е.:

  1. Пусть то, что наследует от GtkWidget* в blabla_ew() возвращает GtkWidget* а не Blabla*, раз уж такая конвенция (выросшая из отсутствия implicit upcast'а)
  2. Пусть все, что лежит в *Private будет скастовано на Blabla*, тогд открывая *Private будет сразу виден layout данного конкретного виджета (оверлеи в нем там внутри, вбоксы или еще чего)

Причем p2 это лично мое наблюдение, что когда в коде

struct BlablaPrivate {
    GtkWidget *right_widget;
    GtkWidget *left_widget;
    GtkWidget *cool_widget;
    GtkWidget *some_bar_widget;
    GtkWidget *yet_another_widget;
}

то читающий эту муть будет долго разбираться куда ему тут добавить overlay и revealer, чтобы прикрутить еще один выезжающий виджет со свистелками и перделками.

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

А если честно, то я бы сам с удовольствием, что по этому поводу почитал. ;)

Ответ Taylor'а меня устраивает, но я все же для читаемости перелопачу немного код, с которым имею дело, т.е.:

  1. Пусть то, что наследует от GtkWidget* в blabla_ew() возвращает GtkWidget* а не Blabla*, раз уж такая конвенция (выросшая из отсутствия implicit upcast'а
  2. Пусть все, что лежит в *Private будет скастовано на Blabla*, тогд открывая *Private будет сразу виден layout данного конкретного виджета (оверлеи в нем там внутри, вбоксы или еще чего.

Причем p2 это лично мое наблюдение, что когда в коде

struct BlablaPrivate {
    GtkWidget *right_widget;
    GtkWidget *left_widget;
    GtkWidget *cool_widget;
    GtkWidget *some_bar_widget;
    GtkWidget *yet_another_widget;
}

то читающий эту муть будет долго разбираться куда ему тут добавить overlay и revealer, чтобы прикрутить еще один выезжающий виджет со свистелками и перделками.