Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Browse files
Browse the repository at this point in the history
Split guts of QgsExtentGroupBox out to QgsExtentWidget
This allows the widget to be used in places where a group box is not desirable (e.g. when the widget is already in a group box)
- Loading branch information
1 parent
e723800
commit dbc022d
Showing
13 changed files
with
1,132 additions
and
319 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,210 @@ | ||
/************************************************************************ | ||
* This file has been generated automatically from * | ||
* * | ||
* src/gui/qgsextentwidget.h * | ||
* * | ||
* Do not edit manually ! Edit header and run scripts/sipify.pl again * | ||
************************************************************************/ | ||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
class QgsExtentWidget : QWidget | ||
{ | ||
%Docstring | ||
A widget for configuration of a map extent. | ||
|
||
Besides allowing the user to enter the extent manually, it comes with options to use | ||
original extent or extent defined by the current view in map canvas. | ||
|
||
When using the widget, make sure to call setOriginalExtent(), setCurrentExtent() and setOutputCrs() during initialization. | ||
|
||
.. seealso:: :py:class:`QgsExtentGroupBox` | ||
|
||
.. versionadded:: 3.14 | ||
%End | ||
|
||
%TypeHeaderCode | ||
#include "qgsextentwidget.h" | ||
%End | ||
public: | ||
|
||
enum ExtentState | ||
{ | ||
OriginalExtent, | ||
CurrentExtent, | ||
UserExtent, | ||
ProjectLayerExtent, | ||
DrawOnCanvas, | ||
}; | ||
|
||
explicit QgsExtentWidget( QWidget *parent /TransferThis/ = 0 ); | ||
%Docstring | ||
Constructor for QgsExtentWidget. | ||
%End | ||
|
||
void setOriginalExtent( const QgsRectangle &originalExtent, const QgsCoordinateReferenceSystem &originalCrs ); | ||
%Docstring | ||
Sets the original extent and coordinate reference system for the widget. This should be called as part of initialization. | ||
|
||
.. seealso:: :py:func:`originalExtent` | ||
|
||
.. seealso:: :py:func:`originalCrs` | ||
%End | ||
|
||
QgsRectangle originalExtent() const; | ||
%Docstring | ||
Returns the original extent set for the widget. | ||
|
||
.. seealso:: :py:func:`setOriginalExtent` | ||
|
||
.. seealso:: :py:func:`originalCrs` | ||
%End | ||
|
||
QgsCoordinateReferenceSystem originalCrs() const; | ||
%Docstring | ||
Returns the original coordinate reference system set for the widget. | ||
|
||
.. seealso:: :py:func:`originalExtent` | ||
|
||
.. seealso:: :py:func:`setOriginalExtent` | ||
%End | ||
|
||
void setCurrentExtent( const QgsRectangle ¤tExtent, const QgsCoordinateReferenceSystem ¤tCrs ); | ||
%Docstring | ||
Sets the current extent to show in the widget - should be called as part of initialization (or whenever current extent changes). | ||
The current extent is usually set to match the current map canvas extent. | ||
|
||
.. seealso:: :py:func:`currentExtent` | ||
|
||
.. seealso:: :py:func:`currentCrs` | ||
%End | ||
|
||
QgsRectangle currentExtent() const; | ||
%Docstring | ||
Returns the current extent set for the widget. The current extent is usually set to match the | ||
current map canvas extent. | ||
|
||
.. seealso:: :py:func:`setCurrentExtent` | ||
|
||
.. seealso:: :py:func:`currentCrs` | ||
%End | ||
|
||
QgsCoordinateReferenceSystem currentCrs() const; | ||
%Docstring | ||
Returns the coordinate reference system for the current extent set for the widget. The current | ||
extent and CRS usually reflects the map canvas extent and CRS. | ||
|
||
.. seealso:: :py:func:`setCurrentExtent` | ||
|
||
.. seealso:: :py:func:`currentExtent` | ||
%End | ||
|
||
void setOutputCrs( const QgsCoordinateReferenceSystem &outputCrs ); | ||
%Docstring | ||
Sets the output CRS - may need to be used for transformation from original/current extent. | ||
Should be called as part of initialization and whenever the the output CRS is changed. | ||
The current extent will be reprojected into the new output CRS. | ||
%End | ||
|
||
QgsRectangle outputExtent() const; | ||
%Docstring | ||
Returns the extent shown in the widget - in output CRS coordinates. | ||
|
||
.. seealso:: :py:func:`outputCrs` | ||
%End | ||
|
||
QgsCoordinateReferenceSystem outputCrs() const; | ||
%Docstring | ||
Returns the current output CRS, used in the display. | ||
|
||
.. seealso:: :py:func:`outputExtent` | ||
%End | ||
|
||
QgsExtentWidget::ExtentState extentState() const; | ||
%Docstring | ||
Returns the currently selected state for the widget's extent. | ||
%End | ||
|
||
void setMapCanvas( QgsMapCanvas *canvas ); | ||
%Docstring | ||
Sets the map canvas to enable dragging of extent on a canvas. | ||
|
||
:param canvas: the map canvas | ||
%End | ||
|
||
QSize ratio() const; | ||
%Docstring | ||
Returns the current fixed aspect ratio to be used when dragging extent onto the canvas. | ||
If the aspect ratio isn't fixed, the width and height will be set to zero. | ||
%End | ||
|
||
QString extentLayerName() const; | ||
%Docstring | ||
Returns the name of the extent layer. | ||
%End | ||
|
||
bool isValid() const; | ||
%Docstring | ||
Returns ``True`` if the widget is in a valid state, i.e. has an extent set. | ||
%End | ||
|
||
public slots: | ||
|
||
void setOutputExtentFromOriginal(); | ||
%Docstring | ||
Sets the output extent to be the same as original extent (may be transformed to output CRS). | ||
%End | ||
|
||
void setOutputExtentFromCurrent(); | ||
%Docstring | ||
Sets the output extent to be the same as current extent (may be transformed to output CRS). | ||
%End | ||
|
||
void setOutputExtentFromUser( const QgsRectangle &extent, const QgsCoordinateReferenceSystem &crs ); | ||
%Docstring | ||
Sets the output extent to a custom extent (may be transformed to output CRS). | ||
%End | ||
|
||
void setOutputExtentFromLayer( const QgsMapLayer *layer ); | ||
%Docstring | ||
Sets the output extent to match a ``layer``'s extent (may be transformed to output CRS). | ||
%End | ||
|
||
void setOutputExtentFromDrawOnCanvas(); | ||
%Docstring | ||
Sets the output extent by dragging on the canvas. | ||
%End | ||
|
||
void setRatio( QSize ratio ); | ||
%Docstring | ||
Sets a fixed aspect ratio to be used when dragging extent onto the canvas. | ||
To unset a fixed aspect ratio, set the width and height to zero. | ||
|
||
:param ratio: aspect ratio's width and height | ||
%End | ||
|
||
signals: | ||
|
||
void extentChanged( const QgsRectangle &r ); | ||
%Docstring | ||
Emitted when the widget's extent is changed. | ||
%End | ||
|
||
void validationChanged( bool valid ); | ||
%Docstring | ||
Emitted when the widget's validation state changes. | ||
%End | ||
|
||
}; | ||
|
||
/************************************************************************ | ||
* This file has been generated automatically from * | ||
* * | ||
* src/gui/qgsextentwidget.h * | ||
* * | ||
* Do not edit manually ! Edit header and run scripts/sipify.pl again * | ||
************************************************************************/ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.