/************************************************************************
 * This file has been generated automatically from                      *
 *                                                                      *
 * src/gui/proj/qgscoordinateoperationwidget.h                          *
 *                                                                      *
 * Do not edit manually ! Edit header and run scripts/sipify.py again   *
 ************************************************************************/




class QgsCoordinateOperationWidget : QWidget
{
%Docstring(signature="appended")
A widget for selecting the coordinate operation to use when transforming
between a source and destination coordinate reference system.

.. versionadded:: 3.12
%End

%TypeHeaderCode
#include "qgscoordinateoperationwidget.h"
%End
  public:
    struct OperationDetails
    {
        int sourceTransformId;

        int destinationTransformId;

        QString proj;

        bool isAvailable;

        bool allowFallback;
    };

    QgsCoordinateOperationWidget( QWidget *parent = 0 );
%Docstring
Constructor for QgsCoordinateOperationWidget.
%End

    ~QgsCoordinateOperationWidget();

    QgsCoordinateReferenceSystem sourceCrs() const;
%Docstring
Returns the source CRS for the operations shown in the widget.

.. seealso:: :py:func:`setSourceCrs`

.. seealso:: :py:func:`destinationCrs`
%End

    QgsCoordinateReferenceSystem destinationCrs() const;
%Docstring
Returns the destination CRS for the operations shown in the widget.

.. seealso:: :py:func:`setDestinationCrs`

.. seealso:: :py:func:`sourceCrs`
%End

    void setSourceCrs( const QgsCoordinateReferenceSystem &crs );
%Docstring
Sets the source ``crs`` for the operations shown in the widget.

.. seealso:: :py:func:`sourceCrs`

.. seealso:: :py:func:`setDestinationCrs`
%End

    void setDestinationCrs( const QgsCoordinateReferenceSystem &crs );
%Docstring
Sets the destination ``crs`` for the operations shown in the widget.

.. seealso:: :py:func:`destinationCrs`

.. seealso:: :py:func:`setSourceCrs`
%End

    void setMapCanvas( QgsMapCanvas *canvas );
%Docstring
Sets a map ``canvas`` to link to the widget, which allows the widget's
choices to reflect the current canvas state.
%End

    void setShowMakeDefault( bool show );
%Docstring
Sets whether the "make default" checkbox should be shown.
%End

    bool makeDefaultSelected() const;
%Docstring
Returns ``True`` if the "make default" option is selected.
%End

    bool hasSelection() const;
%Docstring
Returns ``True`` if there is a valid selection in the widget.
%End

    QList<QgsCoordinateOperationWidget::OperationDetails> availableOperations() const;
%Docstring
Returns a list of the available operations shown in the widget.
%End

    QgsCoordinateOperationWidget::OperationDetails defaultOperation() const;
%Docstring
Returns the details of the default operation suggested by the widget.
%End

    QgsCoordinateOperationWidget::OperationDetails selectedOperation() const;
%Docstring
Returns the details of the operation currently selected within the
widget.

.. seealso:: :py:func:`setSelectedOperation`
%End

    void setSelectedOperation( const QgsCoordinateOperationWidget::OperationDetails &operation );
%Docstring
Sets the details of the ``operation`` currently selected within the
widget.

.. seealso:: :py:func:`selectedOperation`
%End

    void setSelectedOperationUsingContext( const QgsCoordinateTransformContext &context );
%Docstring
Automatically sets the selected operation using the settings
encapsulated in a transform ``context``.

If no matching operations are found within the context then the
:py:func:`~QgsCoordinateOperationWidget.defaultOperation` will be
selected.
%End

    void setShowFallbackOption( bool visible );
%Docstring
Sets whether the "allow fallback" operations option is visible.

.. versionadded:: 3.12
%End

  signals:

    void operationChanged();
%Docstring
Emitted when the operation selected in the dialog is changed.
%End

    void operationDoubleClicked();
%Docstring
Emitted when an operation is double-clicked in the widget.
%End

};

/************************************************************************
 * This file has been generated automatically from                      *
 *                                                                      *
 * src/gui/proj/qgscoordinateoperationwidget.h                          *
 *                                                                      *
 * Do not edit manually ! Edit header and run scripts/sipify.py again   *
 ************************************************************************/
