QGIS API Documentation  2.8.2-Wien
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
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 
22 
23 
24 QgsScaleVisibilityDialog::QgsScaleVisibilityDialog( QWidget *parent, 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( this );
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  mGroupBox->setLayout( gbLayout );
49 
50  QDialogButtonBox* buttonBox = new QDialogButtonBox( QDialogButtonBox::Cancel | QDialogButtonBox::Ok, Qt::Horizontal, this );
51  connect( buttonBox, SIGNAL( accepted() ), this, SLOT( accept() ) );
52  connect( buttonBox, SIGNAL( rejected() ), this, SLOT( reject() ) );
53 
54  dlgLayout->addWidget( mGroupBox, 0, 0 );
55  dlgLayout->addWidget( buttonBox, 1, 0 );
56 }
57 
58 void QgsScaleVisibilityDialog::setScaleVisiblity( bool hasScaleVisibility )
59 {
60  mGroupBox->setChecked( hasScaleVisibility );
61 }
62 
64 {
65  return mGroupBox->isChecked();
66 }
67 
69 {
70  mScaleWidget->setMinimumScale( minScale );
71 }
72 
74 {
75  return mScaleWidget->minimumScale();
76 }
77 
79 {
80  mScaleWidget->setMaximumScale( maxScale );
81 }
82 
84 {
85  return mScaleWidget->maximumScale();
86 }