QGIS API Documentation  3.20.0-Odense (decaadbb31)
qgsscalevisibilitydialog.cpp
Go to the documentation of this file.
1 /***************************************************************************
2  qgsscalevisibilitydialog.cpp
3  --------------------------------------
4  Date : 20.05.2014
5  Copyright : (C) 2014 Denis Rouzaud
6  Email : [email protected]
7 ***************************************************************************
8 * *
9 * This program is free software; you can redistribute it and/or modify *
10 * it under the terms of the GNU General Public License as published by *
11 * the Free Software Foundation; either version 2 of the License, or *
12 * (at your option) any later version. *
13 * *
14 ***************************************************************************/
15 
16 #include <QGridLayout>
17 #include <QDialogButtonBox>
18 
19 
21 #include "qgsscalerangewidget.h"
22 
23 
24 QgsScaleVisibilityDialog::QgsScaleVisibilityDialog( QWidget *parent, const QString &title, QgsMapCanvas *mapCanvas )
25  : QDialog( parent )
26 {
27  if ( !title.isEmpty() )
28  {
29  setWindowTitle( title );
30  }
31 
32  QGridLayout *dlgLayout = new QGridLayout( this );
33  //dlgLayout->setContentsMargins( 0, 0, 0, 0 );
34 
35  mGroupBox = new QGroupBox( this );
36  mGroupBox->setCheckable( true );
37  mGroupBox->setTitle( tr( "Scale visibility " ) );
38 
39  QGridLayout *gbLayout = new QGridLayout( mGroupBox );
40  //gbLayout->setContentsMargins( 0, 0, 0, 0 );
41 
42  mScaleWidget = new QgsScaleRangeWidget( this );
43  if ( mapCanvas )
44  {
45  mScaleWidget->setMapCanvas( mapCanvas );
46  }
47  gbLayout->addWidget( mScaleWidget, 0, 0 );
48 
49  QDialogButtonBox *buttonBox = new QDialogButtonBox( QDialogButtonBox::Cancel | QDialogButtonBox::Ok, Qt::Horizontal, this );
50  connect( buttonBox, &QDialogButtonBox::accepted, this, &QDialog::accept );
51  connect( buttonBox, &QDialogButtonBox::rejected, this, &QDialog::reject );
52 
53  dlgLayout->addWidget( mGroupBox, 0, 0 );
54  dlgLayout->addWidget( buttonBox, 1, 0 );
55 }
56 
57 void QgsScaleVisibilityDialog::setScaleVisiblity( bool hasScaleVisibility )
58 {
59  mGroupBox->setChecked( hasScaleVisibility );
60 }
61 
63 {
64  return mGroupBox->isChecked();
65 }
66 
68 {
69  mScaleWidget->setMinimumScale( minScale );
70 }
71 
73 {
74  return mScaleWidget->minimumScale();
75 }
76 
78 {
79  mScaleWidget->setMaximumScale( maxScale );
80 }
81 
83 {
84  return mScaleWidget->maximumScale();
85 }
Map canvas is a class for displaying all GIS data types on a canvas.
Definition: qgsmapcanvas.h:86
A widget allowing entry of a range of map scales, e.g.
void setMapCanvas(QgsMapCanvas *canvas)
Sets the map canvas which will be used for the current scale buttons.
void setMinimumScale(double scale)
Set the minimum scale (i.e.
void setMaximumScale(double scale)
Set the maximum scale (i.e.
void setMaximumScale(double scale)
Set the maximum scale, or 0 to indicate the minimum is not set.
void setMinimumScale(double scale)
Set the minimum scale, or 0 to indicate the minimum is not set.
QgsScaleVisibilityDialog(QWidget *parent=nullptr, const QString &title=QString(), QgsMapCanvas *mapCanvas=nullptr)
Constructor for QgsScaleVisibilityDialog, with specified dialog title.
void setScaleVisiblity(bool hasScaleVisibility)
Set whether scale based visibility is enabled.