/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4; fill-column: 100 -*- */ /* * This file is part of the LibreOffice project. * * This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ #include #include QtInstanceScrollbar::QtInstanceScrollbar(QScrollBar* pScrollBar) : QtInstanceWidget(pScrollBar) , m_pScrollBar(pScrollBar) { assert(m_pScrollBar); connect(m_pScrollBar, &QScrollBar::valueChanged, this, &QtInstanceScrollbar::signalValueChanged); } void QtInstanceScrollbar::adjustment_configure(int, int, int, int, int, int) { assert(false && "not implemented yet"); } int QtInstanceScrollbar::adjustment_get_value() const { SolarMutexGuard g; int nValue = 0; GetQtInstance().RunInMainThread([&] { nValue = m_pScrollBar->value(); }); return nValue; } void QtInstanceScrollbar::adjustment_set_value(int nValue) { SolarMutexGuard g; GetQtInstance().RunInMainThread([&] { m_pScrollBar->setValue(nValue); }); } int QtInstanceScrollbar::adjustment_get_upper() const { SolarMutexGuard g; int nMax = 0; GetQtInstance().RunInMainThread([&] { nMax = m_pScrollBar->maximum(); }); return nMax; } void QtInstanceScrollbar::adjustment_set_upper(int nUpper) { SolarMutexGuard g; GetQtInstance().RunInMainThread([&] { m_pScrollBar->setMaximum(nUpper); }); } int QtInstanceScrollbar::adjustment_get_page_size() const { assert(false && "Not implemented yet"); return 0; } void QtInstanceScrollbar::adjustment_set_page_size(int) { assert(false && "not implemented yet"); } int QtInstanceScrollbar::adjustment_get_page_increment() const { SolarMutexGuard g; int nPageStep = 0; GetQtInstance().RunInMainThread([&] { nPageStep = m_pScrollBar->pageStep(); }); return nPageStep; } void QtInstanceScrollbar::adjustment_set_page_increment(int nSize) { SolarMutexGuard g; GetQtInstance().RunInMainThread([&] { m_pScrollBar->setPageStep(nSize); }); } int QtInstanceScrollbar::adjustment_get_step_increment() const { SolarMutexGuard g; int nSingleStep = 0; GetQtInstance().RunInMainThread([&] { nSingleStep = m_pScrollBar->singleStep(); }); return nSingleStep; } void QtInstanceScrollbar::adjustment_set_step_increment(int nSize) { SolarMutexGuard g; GetQtInstance().RunInMainThread([&] { m_pScrollBar->setSingleStep(nSize); }); } int QtInstanceScrollbar::adjustment_get_lower() const { SolarMutexGuard g; int nMin = 0; GetQtInstance().RunInMainThread([&] { nMin = m_pScrollBar->minimum(); }); return nMin; } void QtInstanceScrollbar::adjustment_set_lower(int nLower) { SolarMutexGuard g; GetQtInstance().RunInMainThread([&] { m_pScrollBar->setMinimum(nLower); }); } int QtInstanceScrollbar::get_scroll_thickness() const { SolarMutexGuard g; int nThickness = 0; GetQtInstance().RunInMainThread([&] { if (m_pScrollBar->orientation() == Qt::Horizontal) nThickness = m_pScrollBar->height(); else nThickness = m_pScrollBar->width(); }); return nThickness; } void QtInstanceScrollbar::set_scroll_thickness(int nThickness) { SolarMutexGuard g; GetQtInstance().RunInMainThread([&] { if (m_pScrollBar->orientation() == Qt::Horizontal) m_pScrollBar->resize(m_pScrollBar->width(), nThickness); else m_pScrollBar->resize(nThickness, m_pScrollBar->height()); }); } void QtInstanceScrollbar::set_scroll_swap_arrows(bool) { assert(false && "not implemented yet"); } ScrollType QtInstanceScrollbar::get_scroll_type() const { assert(false && "not implemented yet"); return ScrollType::DontKnow; } void QtInstanceScrollbar::signalValueChanged() { SolarMutexGuard g; signal_adjustment_value_changed(); } /* vim:set shiftwidth=4 softtabstop=4 expandtab cinoptions=b1,g0,N-s cinkeys+=0=break: */