File indexing completed on 2025-01-05 03:59:37
0001 /* 0002 SPDX-FileCopyrightText: 2010 Jens-Michael Hoffmann <jmho@c-xx.com> 0003 SPDX-FileCopyrightText: 2010-2012 Bernhard Beschow <bbeschow@cs.tu-berlin.de> 0004 0005 SPDX-License-Identifier: LGPL-2.1-or-later 0006 */ 0007 0008 #include "TileLevelRangeWidget.h" 0009 0010 #include "ui_TileLevelRangeWidget.h" 0011 0012 namespace Marble 0013 { 0014 0015 class Q_DECL_HIDDEN TileLevelRangeWidget::Private 0016 { 0017 public: 0018 explicit Private( QWidget * const parent ); 0019 Ui::TileLevelRangeWidget m_ui; 0020 }; 0021 0022 TileLevelRangeWidget::Private::Private( QWidget * const parent ) 0023 { 0024 m_ui.setupUi( parent ); 0025 } 0026 0027 TileLevelRangeWidget::TileLevelRangeWidget( QWidget * const parent, Qt::WindowFlags const f ) 0028 : QWidget( parent, f ), 0029 d( new Private( this )) 0030 { 0031 connect( d->m_ui.topSpinBox, SIGNAL(valueChanged(int)), SIGNAL(topLevelChanged(int))); 0032 connect( d->m_ui.bottomSpinBox, SIGNAL(valueChanged(int)), 0033 SIGNAL(bottomLevelChanged(int))); 0034 0035 connect( d->m_ui.topSpinBox, SIGNAL(valueChanged(int)), SLOT(setMinimumBottomLevel(int))); 0036 connect( d->m_ui.bottomSpinBox, SIGNAL(valueChanged(int)), SLOT(setMaximumTopLevel(int))); 0037 } 0038 0039 TileLevelRangeWidget::~TileLevelRangeWidget() 0040 { 0041 delete d; 0042 } 0043 0044 QSize TileLevelRangeWidget::sizeHint() const 0045 { 0046 return size(); 0047 } 0048 0049 void TileLevelRangeWidget::setAllowedLevelRange( int const minimumLevel, int const maximumLevel ) 0050 { 0051 d->m_ui.topSpinBox->setRange( minimumLevel, qMin( d->m_ui.bottomSpinBox->value(), 0052 maximumLevel )); 0053 d->m_ui.bottomSpinBox->setRange( qMax( d->m_ui.topSpinBox->value(), minimumLevel ), 0054 maximumLevel ); 0055 } 0056 0057 void TileLevelRangeWidget::setDefaultLevel( int const level ) 0058 { 0059 d->m_ui.topSpinBox->setValue( level ); 0060 d->m_ui.bottomSpinBox->setValue( level ); 0061 } 0062 0063 int TileLevelRangeWidget::bottomLevel() const 0064 { 0065 return d->m_ui.bottomSpinBox->value(); 0066 } 0067 0068 int TileLevelRangeWidget::topLevel() const 0069 { 0070 return d->m_ui.topSpinBox->value(); 0071 } 0072 0073 void TileLevelRangeWidget::setMaximumTopLevel( int const level ) 0074 { 0075 d->m_ui.topSpinBox->setMaximum( level ); 0076 } 0077 0078 void TileLevelRangeWidget::setMinimumBottomLevel( int const level ) 0079 { 0080 d->m_ui.bottomSpinBox->setMinimum( level ); 0081 } 0082 0083 } 0084 0085 #include "moc_TileLevelRangeWidget.cpp"