2015-01-09 07:34:30 +01:00
|
|
|
|
2016-02-14 03:50:23 +01:00
|
|
|
/** \ingroup gui
|
|
|
|
* A combobox which lets the user select map scale from predefined list
|
2015-01-09 07:34:30 +01:00
|
|
|
* and highlights nearest to current scale value
|
2016-02-14 03:50:23 +01:00
|
|
|
**/
|
2015-01-09 07:34:30 +01:00
|
|
|
class QgsScaleWidget : QWidget
|
|
|
|
{
|
|
|
|
%TypeHeaderCode
|
|
|
|
#include <qgsscalewidget.h>
|
|
|
|
%End
|
|
|
|
|
|
|
|
public:
|
2015-02-18 17:00:36 +11:00
|
|
|
QgsScaleWidget( QWidget* parent /TransferThis/ = 0 );
|
2015-01-09 07:34:30 +01:00
|
|
|
~QgsScaleWidget();
|
2015-01-09 10:23:39 +01:00
|
|
|
|
2015-01-09 07:34:30 +01:00
|
|
|
//! shows a button to set the scale to the current scale of the map canvas next to the combobox
|
|
|
|
//! @note the map canvas must be defined to show the button
|
|
|
|
void setShowCurrentScaleButton( bool showCurrentScaleButton );
|
|
|
|
bool showCurrentScaleButton();
|
|
|
|
|
|
|
|
//! set the map canvas associated to the current button
|
|
|
|
void setMapCanvas( QgsMapCanvas* canvas );
|
|
|
|
|
|
|
|
//! Function to read the selected scale as text
|
|
|
|
QString scaleString();
|
|
|
|
//! Function to set the selected scale from text
|
2015-10-07 11:55:34 +11:00
|
|
|
bool setScaleString( const QString& scaleTxt );
|
2015-01-09 07:34:30 +01:00
|
|
|
//! Function to read the selected scale as double
|
2016-03-03 09:32:30 +01:00
|
|
|
double scale() const;
|
2015-01-09 07:34:30 +01:00
|
|
|
//! Function to set the selected scale from double
|
|
|
|
void setScale( double scale );
|
2016-03-03 09:32:30 +01:00
|
|
|
//! Function to read the min scale
|
|
|
|
double minScale() const;
|
2015-01-09 07:34:30 +01:00
|
|
|
|
|
|
|
//! Helper function to convert a double to scale string
|
|
|
|
// Performs rounding, so an exact representation is not to
|
|
|
|
// be expected.
|
|
|
|
static QString toString( double scale );
|
|
|
|
//! Helper function to convert a scale string to double
|
2015-10-07 11:55:34 +11:00
|
|
|
static double toDouble( const QString& scaleString, bool *ok = 0 );
|
2015-02-03 02:21:52 +01:00
|
|
|
|
|
|
|
public slots:
|
|
|
|
void updateScales( const QStringList &scales = QStringList() );
|
|
|
|
|
|
|
|
//! assign the current scale from the map canvas
|
|
|
|
void setScaleFromCanvas();
|
2015-01-09 07:34:30 +01:00
|
|
|
|
2016-03-03 09:32:30 +01:00
|
|
|
//! Function to set the min scale
|
|
|
|
void setMinScale( double scale );
|
|
|
|
|
2015-01-09 07:34:30 +01:00
|
|
|
signals:
|
|
|
|
//! Signal is emitted when *user* has finished editing/selecting a new scale.
|
2016-03-03 09:32:30 +01:00
|
|
|
void scaleChanged( double scale );
|
2015-01-09 07:34:30 +01:00
|
|
|
|
|
|
|
|
|
|
|
};
|
|
|
|
|