QGIS/python/gui/auto_generated/qgsscalecombobox.sip.in
Nyall Dawson 2827628e9d Add mode to QgsScaleComboBox for non-unit ratios
This allows the widget to be used for other scales (or ratios),
not just map scales.

Eg. it allows it to be used for entry of scale ratios like "2:3",
"16:9" etc.
2025-08-07 11:56:06 +10:00

222 lines
5.8 KiB
Plaintext

/************************************************************************
* This file has been generated automatically from *
* *
* src/gui/qgsscalecombobox.h *
* *
* Do not edit manually ! Edit header and run scripts/sipify.py again *
************************************************************************/
class QgsScaleComboBox : QComboBox
{
%Docstring(signature="appended")
A combobox which lets the user select map scale from predefined list and
highlights nearest to current scale value.
%End
%TypeHeaderCode
#include "qgsscalecombobox.h"
%End
public:
enum class RatioMode
{
ForceUnitNumerator,
Flexible,
};
QgsScaleComboBox( QWidget *parent /TransferThis/ = 0 );
%Docstring
Constructor for QgsScaleComboBox.
%End
QString scaleString() const;
%Docstring
Returns the selected scale as a string, e.g. "1:150".
.. seealso:: :py:func:`setScaleString`
%End
bool setScaleString( const QString &string );
%Docstring
Set the selected scale from a ``string``, e.g. "1:150".
.. seealso:: :py:func:`scaleString`
%End
double scale() const;
%Docstring
Returns the selected scale as a double. The scale value indicates the
scale denominator, e.g. 1000.0 for a 1:1000 map.
.. seealso:: :py:func:`setScale`
%End
bool isNull() const;
%Docstring
Returns ``True`` if the combo box is currently set to a "null" value.
.. seealso:: :py:func:`setAllowNull`
.. seealso:: :py:func:`setNull`
.. versionadded:: 3.8
%End
double minScale() const;
%Docstring
Returns the minimum scale, or 0 if no minimum scale set. The ``scale``
value indicates the scale denominator, e.g. 1000.0 for a 1:1000 map. Any
scale lower than the minimum scale will automatically be converted to
the minimum scale. Except for 0 which is always allowed.
%End
static QString toString( double scale, QgsScaleComboBox::RatioMode mode = QgsScaleComboBox::RatioMode::ForceUnitNumerator );
%Docstring
Helper function to convert a ``scale`` double to scale string.
The returned string will be rounded (e.g. 1:1000, not 1:1000.345).
:param scale: scale value indicating the scale denominator, e.g. 1000.0
for a 1:1000 map.
:param mode: ratio mode (since QGIS 4.0)
.. seealso:: :py:func:`toDouble`
%End
static double toDouble( const QString &string, bool *ok = 0 );
%Docstring
Helper function to convert a scale ``string`` to double. The returned
value indicates the scale denominator, e.g. 1000.0 for a 1:1000 map. If
specified, ``ok`` will be set to ``True`` if the string was successfully
interpreted as a scale.
.. seealso:: :py:func:`toString`
%End
void setAllowNull( bool allowNull );
%Docstring
Sets whether the scale combobox can be set to a NULL value.
.. seealso:: :py:func:`allowNull`
.. seealso:: :py:func:`isNull`
.. seealso:: :py:func:`setNull`
.. versionadded:: 3.8
%End
bool allowNull() const;
%Docstring
Returns ``True`` if the combobox can be set to a NULL value.
.. seealso:: :py:func:`setAllowNull`
.. seealso:: :py:func:`isNull`
.. seealso:: :py:func:`setNull`
.. versionadded:: 3.8
%End
void setPredefinedScales( const QVector<double> &scales );
%Docstring
Sets the list of predefined ``scales`` to show in the combobox. List
elements are expected to be scale denominators, e.g. 1000.0 for a 1:1000
map.
If ``scales`` is empty then the default user scale options will be used
instead.
.. versionadded:: 3.38
%End
QgsScaleComboBox::RatioMode ratioMode() const;
%Docstring
Returns the ratio mode for the scale.
.. seealso:: :py:func:`setRatioMode`
.. versionadded:: 4.0
%End
signals:
void scaleChanged( double scale );
%Docstring
Emitted when *user* has finished editing/selecting a new scale. The
``scale`` value indicates the scale denominator, e.g. 1000.0 for a
1:1000 map.
%End
void ratioModeChanged( QgsScaleComboBox::RatioMode mode );
%Docstring
Emitted when the ratio mode for the widget is changed.
.. versionadded:: 4.0
%End
public slots:
void updateScales( const QStringList &scales = QStringList() );
%Docstring
Sets the list of predefined ``scales`` to show in the combobox. List
elements are expected to be valid scale strings, such as "1:1000000".
%End
void setScale( double scale );
%Docstring
Set the selected scale from a double. The ``scale`` value indicates the
scale denominator, e.g. 1000.0 for a 1:1000 map.
.. seealso:: :py:func:`scale`
%End
void setMinScale( double scale );
%Docstring
Set the minimum allowed ``scale``. Set to 0 to disable the minimum
scale. The ``scale`` value indicates the scale denominator, e.g. 1000.0
for a 1:1000 map. Any scale lower than the minimum scale will
automatically be converted to the minimum scale. Except for 0 which is
always allowed.
%End
void setNull();
%Docstring
Sets the combo box to the null value.
This only has an effect if :py:func:`~QgsScaleComboBox.allowNull` is
``True``.
.. seealso:: :py:func:`allowNull`
.. seealso:: :py:func:`isNull`
.. versionadded:: 3.8
%End
void setRatioMode( QgsScaleComboBox::RatioMode mode );
%Docstring
Sets the ratio ``mode`` for the scale.
.. seealso:: :py:func:`ratioMode`
.. versionadded:: 4.0
%End
protected:
virtual void showPopup();
};
/************************************************************************
* This file has been generated automatically from *
* *
* src/gui/qgsscalecombobox.h *
* *
* Do not edit manually ! Edit header and run scripts/sipify.py again *
************************************************************************/