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




class QgsAbstractFileContentSourceLineEdit : QWidget /Abstract/
{
%Docstring(signature="appended")
Abstract base class for a widgets which allows users to select content
from a file, embedding a file, etc.

This class is designed to be used by content which is managed by a
:py:class:`QgsAbstractContentCache`, i.e. it can handle either direct
file paths, base64 encoded contents, or remote HTTP urls.

.. versionadded:: 3.6
%End

%TypeHeaderCode
#include "qgsfilecontentsourcelineedit.h"
%End
  public:
    QgsAbstractFileContentSourceLineEdit( QWidget *parent /TransferThis/ = 0 );
%Docstring
Constructor for QgsAbstractFileContentSourceLineEdit, with the specified
``parent`` widget.
%End

    void setMessageBar( QgsMessageBar *bar );
%Docstring
Sets the message ``bar`` associated with the widget. This allows the
widget to push feedback messages to the appropriate message bar.

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

    QgsMessageBar *messageBar() const;
%Docstring
Returns the message bar associated with the widget.

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

    QString source() const;
%Docstring
Returns the current file source.

.. seealso:: :py:func:`setSource`

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

    void setLastPathSettingsKey( const QString &key );
%Docstring
Sets a specific settings ``key`` to use when storing the last used path
for the file source.
%End

    QgsPropertyOverrideButton *propertyOverrideToolButton() const;
%Docstring
Returns the property override tool button

.. versionadded:: 3.16
%End

    void setPropertyOverrideToolButtonVisible( bool visible );
%Docstring
Sets the visibility of the property override tool button

.. versionadded:: 3.16
%End

  public slots:

    void setSource( const QString &source );
%Docstring
Sets a new ``source`` to show in the widget.

.. seealso:: :py:func:`source`

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

  signals:

    void sourceChanged( const QString &source );
%Docstring
Emitted whenever the file source is changed in the widget.
%End

};


class QgsPictureSourceLineEditBase : QgsAbstractFileContentSourceLineEdit
{
%Docstring(signature="appended")
A line edit widget with toolbutton for setting a raster image path.

.. seealso:: :py:class:`QgsSvgSourceLineEdit`

.. versionadded:: 3.20
%End

%TypeHeaderCode
#include "qgsfilecontentsourcelineedit.h"
%End
  public:
    enum Format /BaseType=IntEnum/
    {
      Svg,
      Image,
      AnimatedImage,
    };

    QgsPictureSourceLineEditBase( QWidget *parent /TransferThis/ = 0 );
%Docstring
Constructor for :py:class:`QgsImageSourceLineEdit`, with the specified
``parent`` widget. The default format is SVG.
%End

    void setMode( Format format );
%Docstring
Defines the mode of the source line edit
%End

  protected:
    QgsPictureSourceLineEditBase( Format format, QWidget *parent /TransferThis/ = 0 );
%Docstring
Constructor for :py:class:`QgsImageSourceLineEdit`, with the specified
``parent`` widget.
%End

};


class QgsSvgSourceLineEdit : QgsPictureSourceLineEditBase
{
%Docstring(signature="appended")
A line edit widget with toolbutton for setting an SVG image path.

Designed for use with :py:class:`QgsSvgCache`.

.. seealso:: :py:class:`QgsImageSourceLineEdit`

.. versionadded:: 3.4
%End

%TypeHeaderCode
#include "qgsfilecontentsourcelineedit.h"
%End
  public:
    QgsSvgSourceLineEdit( QWidget *parent /TransferThis/ = 0 );
%Docstring
Constructor for QgsSvgSourceLineEdit, with the specified ``parent``
widget.
%End
};

class QgsImageSourceLineEdit : QgsPictureSourceLineEditBase
{
%Docstring(signature="appended")
A line edit widget with toolbutton for setting a raster image path.

Designed for use with :py:class:`QgsImageCache`.

.. seealso:: :py:class:`QgsSvgSourceLineEdit`

.. versionadded:: 3.6
%End

%TypeHeaderCode
#include "qgsfilecontentsourcelineedit.h"
%End
  public:
    QgsImageSourceLineEdit( QWidget *parent /TransferThis/ = 0 );
%Docstring
Constructor for QgsImageSourceLineEdit, with the specified ``parent``
widget.
%End
};


class QgsAnimatedImageSourceLineEdit : QgsPictureSourceLineEditBase
{
%Docstring(signature="appended")
A line edit widget with toolbutton for setting an animated raster image
path.

Designed for use with :py:class:`QgsImageCache`.

.. seealso:: :py:class:`QgsImageSourceLineEdit`

.. versionadded:: 3.26
%End

%TypeHeaderCode
#include "qgsfilecontentsourcelineedit.h"
%End
  public:
    QgsAnimatedImageSourceLineEdit( QWidget *parent /TransferThis/ = 0 );
%Docstring
Constructor for QgsAnimatedImageSourceLineEdit, with the specified
``parent`` widget.
%End
};

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