diff --git a/gtkarea/area.c b/gtkarea/area.c index 7c9aad12..68d0bb48 100644 --- a/gtkarea/area.c +++ b/gtkarea/area.c @@ -37,6 +37,7 @@ static void updateScroll(areaWidget *a) ap->clientWidth / pixelsPer, ap->clientWidth / pixelsPer); + // TODO sometimes changing htis results inn no change until the window is significantly resized (*(ap->ah->VScrollConfig))(ap->ah, ap->a, &count, &pixelsPer); gtk_adjustment_configure(ap->va, @@ -235,3 +236,8 @@ GtkWidget *newArea(uiAreaHandler *ah) "area-handler", ah, NULL)); } + +void areaUpdateScroll(GtkWidget *area) +{ + updateScroll(areaWidget(area)); +} diff --git a/gtkarea/area.h b/gtkarea/area.h index 65d26174..9c625fbb 100644 --- a/gtkarea/area.h +++ b/gtkarea/area.h @@ -30,3 +30,4 @@ extern GType areaWidget_get_type(void); #include "ui.h" extern GtkWidget *newArea(uiAreaHandler *ah); +extern void areaUpdateScroll(GtkWidget *area); diff --git a/gtkarea/main.c b/gtkarea/main.c index 01edc271..d433577d 100644 --- a/gtkarea/main.c +++ b/gtkarea/main.c @@ -7,6 +7,7 @@ struct handler { uiAreaHandler ah; }; +static GtkWidget *area; static struct handler h; static GtkWidget *nhspinb; static GtkWidget *pphspinb; @@ -27,7 +28,7 @@ static void handlerVScrollConfig(uiAreaHandler *a, uiArea *area, uintmax_t *n, u static void recalcScroll(GtkSpinButton *sb, gpointer data) { - // TODO + areaUpdateScroll(area); } static GtkWidget *makeSpinbox(int min) @@ -45,7 +46,6 @@ int main(void) GtkWidget *mainwin; GtkWidget *box; GtkWidget *scroller; - GtkWidget *area; GtkWidget *grid; h.ah.HScrollConfig = handlerHScrollConfig;