private void update() {
        final double rangeFromPct = getRangeFromPct();
        final double windowSizePct = getWindowAsPercentage();

//        GWT.log("lowerBound: " + progress.getLowerBound()
//                + " upperBound: " + progress.getUpperBound().orElse((double) -1)
//                + " rangeFrom: " + progress.getRangeFromInc()
//                + " rangeTo: " + progress.getRangeToInc()
//                + " rangePct: " + rangeFromPct
//                + " winddowPct: " + windowSizePct);

        getView().setRangeFromPct(rangeFromPct);
        getView().setProgressPct(windowSizePct);

        final String barColour;
        final String title;
        // TODO set colour via a style name
        if (progress.isComplete()) {
            barColour = BAR_COLOUR_COMPLETE;
            title = "All data visible in the editor";
        } else if (progress.hasKnownUpperBound()) {
            barColour = barColourKnownBounded;
            title = TITLE_PREFIX
                    + " ("
                    + formatPercentage(getWindowAsPercentage())
                    + "%). " + titleSuffix;
        } else {
            barColour = BAR_COLOUR_UNKNOWN_BOUND;
            title = TITLE_PREFIX
                    + " (total size unknown). "
                    + titleSuffix;
        }
        getView().setProgressBarColour(barColour);
        getView().setTitle(title);
    }
@param valueConsumer A consumer of the value of the point on the progress bar
                     that was clicked in the same units as used in {@link Progress}.
                     valueConsumer will not be called if the current value of {@link Progress}
                     has no upper bound.
stroom-core-client-widget/src/main/java/stroom/widget/progress/client/presenter/ProgressPresenter.java