rem: value = bPtr->firstVisibleColumn /(float)(bPtr->columnCount-bPtr->maxVisibleColumns); proportion = bPtr->maxVisibleColumns/(float)bPtr->columnCount; WMSetScrollerParameters(bPtr->scroller, value, proportion); } else { WMSetScrollerParameters(bPtr->scroller, 0, 1);
add: value = bPtr->firstVisibleColumn /(float)(bPtr->columnCount-bPtr->maxVisibleColumns); proportion = bPtr->maxVisibleColumns/(float)bPtr->columnCount; WMSetScrollerParameters(bPtr->scroller, value, proportion); } else { WMSetScrollerParameters(bPtr->scroller, 0, 1); }
context: scrollToColumn(WMBrowser *bPtr, int column){    int i;    int x;    int notify = 0;        if (column != bPtr->firstVisibleColumn)	notify = 1;    if (column < 0)	column = 0;    x = 0;    bPtr->firstVisibleColumn = column;    for (i = 0; i < bPtr->usedColumnCount; i++) {	if (COLUMN_IS_VISIBLE(bPtr, i)) {	    WMMoveWidget(bPtr->columns[i], x,			 WMWidgetView(bPtr->columns[i])->pos.y);	    if (!WMWidgetView(bPtr->columns[i])->flags.realized)		WMRealizeWidget(bPtr->columns[i]);	    WMMapWidget(bPtr->columns[i]);	    x += bPtr->columnSize.width+COLUMN_SPACING;	} else {	    WMUnmapWidget(bPtr->columns[i]);	}    }    /* update the scroller */    if (bPtr->columnCount > bPtr->maxVisibleColumns) {	float value, proportion;	value = bPtr->firstVisibleColumn	    /(float)(bPtr->columnCount-bPtr->maxVisibleColumns);	proportion = bPtr->maxVisibleColumns/(float)bPtr->columnCount;	WMSetScrollerParameters(bPtr->scroller, value, proportion);    } else {	WMSetScrollerParameters(bPtr->scroller, 0, 1);    }        if (bPtr->view->flags.mapped)	paintBrowser(bPtr);    if (notify)	WMPostNotificationName(WMBrowserDidScrollNotification, bPtr, NULL);}