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






class QgsScrollBarHighlight
{
%Docstring(signature="appended")
Encapsulates the details of a highlight in a scrollbar, used alongside
:py:class:`QgsScrollBarHighlightController`.

.. versionadded:: 3.38
%End

%TypeHeaderCode
#include "qgsdecoratedscrollbar.h"
%End
  public:
    enum class Priority /BaseType=IntEnum/
    {
      Invalid,
      LowPriority,
      NormalPriority,
      HighPriority,
      HighestPriority
    };

    QgsScrollBarHighlight( int category, int position, const QColor &color, QgsScrollBarHighlight::Priority priority = QgsScrollBarHighlight::Priority::NormalPriority );
%Docstring
Constructor for QgsScrollBarHighlight.
%End

    QgsScrollBarHighlight();

    int category;

    int position;

    QColor color;

    QgsScrollBarHighlight::Priority priority;
};

class QgsScrollBarHighlightController
{
%Docstring(signature="appended")
Adds highlights (colored markers) to a scrollbar.

.. versionadded:: 3.38
%End

%TypeHeaderCode
#include "qgsdecoratedscrollbar.h"
%End
  public:
    QgsScrollBarHighlightController();
    ~QgsScrollBarHighlightController();

    QScrollBar *scrollBar() const;
%Docstring
Returns the associated scroll bar.
%End

    QAbstractScrollArea *scrollArea() const;
%Docstring
Returns the associated scroll area.

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

    void setScrollArea( QAbstractScrollArea *scrollArea );
%Docstring
Sets the associated scroll bar.

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

    double lineHeight() const;
%Docstring
Returns the line height for text associated with the scroll area.

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

    void setLineHeight( double height );
%Docstring
Sets the line ``height`` for text associated with the scroll area.

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

    double visibleRange() const;
%Docstring
Returns the visible range of the scroll area (i.e. the viewport's
height).

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

    void setVisibleRange( double visibleRange );
%Docstring
Sets the visible range of the scroll area (i.e. the viewport's height).

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

    double margin() const;
%Docstring
Returns the document margins for the associated viewport.

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

    void setMargin( double margin );
%Docstring
Sets the document ``margin`` for the associated viewport.

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


    void addHighlight( const QgsScrollBarHighlight &highlight );
%Docstring
Adds a ``highlight`` to the scrollbar.
%End

    void removeHighlights( int category );
%Docstring
Removes all highlights with matching ``category`` from the scrollbar.
%End

    void removeAllHighlights();
%Docstring
Removes all highlights from the scroll bar.
%End

};


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