История изменений
Исправление dissident, (текущая версия) :
А если честно, то я бы сам с удовольствием, что-то по этому поводу почитал. ;)
Ответ Tayler'а меня устраивает, но я все же для читаемости перелопачу немного код, с которым имею дело, т.е.:
- Пусть то, что наследует от GtkWidget* в blabla_ew() возвращает GtkWidget* а не Blabla*, раз уж такая конвенция (выросшая из отсутствия implicit upcast'а)
- Пусть все, что лежит в *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'а меня устраивает, но я все же для читаемости перелопачу немного код, с которым имею дело, т.е.:
- Пусть то, что наследует от GtkWidget* в blabla_ew() возвращает GtkWidget* а не Blabla*, раз уж такая конвенция (выросшая из отсутствия implicit upcast'а
- Пусть все, что лежит в *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, чтобы прикрутить еще один выезжающий виджет со свистелками и перделками.