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





class QgsAttributeDialog : QDialog, QgsMapLayerActionContextGenerator
{

%TypeHeaderCode
#include "qgsattributedialog.h"
%End
  public:
    QgsAttributeDialog( QgsVectorLayer *vl, QgsFeature *thepFeature, bool featureOwner, QWidget *parent /TransferThis/ = 0, bool showDialogButtons = true, const QgsAttributeEditorContext &context = QgsAttributeEditorContext() );
%Docstring
Create an attribute dialog for a given layer and feature

:param vl: The layer for which the dialog will be generated
:param thepFeature: A feature for which the dialog will be generated
:param featureOwner: Set to ``True``, if the dialog should take
                     ownership of the feature
:param parent: A parent widget for the dialog
:param showDialogButtons: ``True``: Show the dialog buttons
                          accept/cancel
:param context: The context in which this dialog is created
%End

    ~QgsAttributeDialog();

    void setHighlight( QgsHighlight *h );
%Docstring
setHighlight

:param h: The highlight. Ownership is taken.
%End

    QgsAttributeForm *attributeForm();

    const QgsFeature *feature();

    bool editable();
%Docstring
Is this dialog editable?

:return: returns ``True``, if this dialog was created in an editable
         manner.
%End

    void setMode( QgsAttributeEditorContext::Mode mode );
%Docstring
Toggles the form mode.

:param mode: form mode. For example, if set to
             :py:class:`QgsAttributeEditorContext`.AddFeatureMode, the
             dialog will be editable even with an invalid feature and
             will add a new feature when the form is accepted.
%End

    void setEditCommandMessage( const QString &message );
%Docstring
Sets the edit command message (Undo) that will be used when the dialog
is accepted

:param message: The message
%End

    virtual bool event( QEvent *e );

%Docstring
Intercept window activate/deactivate events to show/hide the highlighted
feature.

:param e: The event

:return: The same as the parent QDialog
%End

    virtual void showEvent( QShowEvent *event );


    void setExtraContextScope( QgsExpressionContextScope *extraScope /Transfer/ );
%Docstring
Sets ``extraScope`` as an additional expression context scope to be used
for calculations in this form.

.. versionadded:: 3.16
%End

    virtual QgsMapLayerActionContext createActionContext();


  public slots:
    virtual void accept();

    virtual void reject();


    void show();
%Docstring
Show the dialog non-blocking. Reparents this dialog to be a child of the
dialog form
%End

};

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