QGIS/python/gui/qgsscalewidget.sip
Nyall Dawson c49b5b777f Change a lot of arguments to const references in core/gui
Rationale:
- there was a lot of large objects passed by value, so potentially
there's a speed bump from this
- even for implicitly shared classes like QString/QList there's still
a (small) cost for copying the objects when there's no reason to
- it's the right thing to do!
2015-10-07 12:02:04 +11:00

52 lines
1.6 KiB
Plaintext

/** A combobox which lets the user select map scale from predefined list
* and highlights nearest to current scale value
*/
class QgsScaleWidget : QWidget
{
%TypeHeaderCode
#include <qgsscalewidget.h>
%End
public:
QgsScaleWidget( QWidget* parent /TransferThis/ = 0 );
~QgsScaleWidget();
//! 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
bool setScaleString( const QString& scaleTxt );
//! Function to read the selected scale as double
double scale();
//! Function to set the selected scale from double
void setScale( double scale );
//! 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
static double toDouble( const QString& scaleString, bool *ok = 0 );
public slots:
void updateScales( const QStringList &scales = QStringList() );
//! assign the current scale from the map canvas
void setScaleFromCanvas();
signals:
//! Signal is emitted when *user* has finished editing/selecting a new scale.
void scaleChanged();
};