Как программно получать/выставлять положение "ползунка" в ScrollBoxLayout

Коллеги!
Подскажите, как программно получать/выставлять положение “ползунка” ScrollBoxLayout?

                <scrollBox id="scrollFactsLable">
                    <label id="factsHtmlLable" htmlEnabled="true" width="100%" height="100%"/>
                </scrollBox>

актуально…

Добрый день.

Чтобы программно установить позицию скролла, нужно из компонента ScrollBoxLayout получить внутренний компонент CubaScrollBoxLayout и использовать его методы setScrollTop и setScrollLeft, например:

@Inject
private ScrollBoxLayout scrollBox;

@Subscribe
public void onAfterInit(AfterInitEvent event) {
    CubaScrollBoxLayout scroll = scrollBox.unwrap(CubaScrollBoxLayout.class);
    scroll.setScrollTop(100);
    scroll.setScrollLeft(100);
}

Глеб

1 симпатия

Глеб, спасибо!
К сожалению не нашел у внутреннего компонента метода .getScrollTop
Нам нужна связка методов .getScrollTop… - .setScrollTop… для сохранения и последующего восстановления позиции вертикального скролла.

Вы правы, метода получения позиции нет. Завел тикет на GitHub.

Глеб

Доброе утро!
Тема всё еще актуальна.
Подскажите, пожалуйста, вижу, что вроде бы тикет закрыт. Однако, методов получения и установки позиции ползунка в scrollBox я не нахожу…
Приложение на платформе 7.1.3

Новый функционал появился с версии 7.2.3.

Глеб, спасибо! На какую версию Вы бы порекомендовали мигрировать проект с 7.1.3? Сразу на 7.2.10?
Насколько сложным будет переход?

Обновляться лучше до последней баг фикс версии. Сложность перехода зависит от проекта, в любом случае Студия имеет механизм по миграции на новую версию. Здесь Вы можете ознакомиться с Release Notes и Breaking Changes.

1 симпатия