QGIS API Documentation  3.6.0-Noosa (5873452)
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 
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 }
void setMaximumScale(double scale)
Set the maximum 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 setMaximumScale(double scale)
Set the maximum scale (i.e.
bool hasScaleVisibility() const
Returns true if scale based visibilty is enabled.
Map canvas is a class for displaying all GIS data types on a canvas.
Definition: qgsmapcanvas.h:73
void setScaleVisiblity(bool hasScaleVisibility)
Set whether scale based visibility is enabled.
void setMinimumScale(double scale)
Set the minimum scale (i.e.
double maximumScale() const
Returns the selected maximum scale, or 0 if maximum scale is not set.
A widget allowing entry of a range of map scales, e.g.
void setMinimumScale(double scale)
Set the minimum scale, or 0 to indicate the minimum is not set.
double minimumScale() const
Returns the selected minimum scale, or 0 if minimum scale is not set.
void setMapCanvas(QgsMapCanvas *canvas)
Sets the map canvas which will be used for the current scale buttons.