17#ifndef QGSMESSAGEBAR_H
18#define QGSMESSAGEBAR_H
137 void pushMessage(
const QString &text,
Qgis::MessageLevel level = Qgis::MessageLevel::Info,
int duration = -1 );
149 void pushMessage(
const QString &title,
const QString &text,
Qgis::MessageLevel level = Qgis::MessageLevel::Info,
int duration = -1 );
162 void pushMessage(
const QString &title,
const QString &text,
const QString &showMore,
Qgis::MessageLevel level = Qgis::MessageLevel::Info,
int duration = -1 );
174 QList<QgsMessageBarItem *> items();
180 static int defaultMessageTimeout(
Qgis::MessageLevel level = Qgis::MessageLevel::NoLevel );
218 void pushSuccess(
const QString &title,
const QString &message );
227 void pushInfo(
const QString &title,
const QString &message );
236 void pushWarning(
const QString &title,
const QString &message );
245 void pushCritical(
const QString &title,
const QString &message );
248 void mousePressEvent( QMouseEvent *e )
override;
254 QList<QgsMessageBarItem *> mItems;
255 QMenu *mCloseMenu =
nullptr;
256 QToolButton *mCloseBtn =
nullptr;
257 QGridLayout *mLayout =
nullptr;
258 QLabel *mItemCount =
nullptr;
259 QAction *mActionCloseAll =
nullptr;
260 QTimer *mCountdownTimer =
nullptr;
261 QProgressBar *mCountProgress =
nullptr;
262 QString mCountStyleSheet;
265 static constexpr int MAX_ITEMS = 100;
267 void removeLowestPriorityOldestItem();
271 void updateItemCount();
274 void updateCountdown();
275 void resetCountdown();
277 friend class TestQgsMessageBar;
MessageLevel
Level for messages This will be used both for message log and message bar in application.
Represents an item shown within a QgsMessageBar widget.
A bar for displaying non-blocking messages to the user.
void widgetAdded(QgsMessageBarItem *item)
Emitted whenever an item is added to the bar.
void widgetRemoved(QgsMessageBarItem *item)
Emitted whenever an item was removed from the bar.