libpromeki 1.0.0-alpha
PROfessional MEdia toolKIt
 
Loading...
Searching...
No Matches
statusbar.h
Go to the documentation of this file.
1
8#pragma once
9
10#include <promeki/namespace.h>
11#include <promeki/string.h>
12#include <promeki/tui/widget.h>
13
14PROMEKI_NAMESPACE_BEGIN
15
23class TuiStatusBar : public TuiWidget {
24 PROMEKI_OBJECT(TuiStatusBar, TuiWidget)
25 public:
26 TuiStatusBar(ObjectBase *parent = nullptr);
27 ~TuiStatusBar() override;
28
29 void showMessage(const String &message, int timeoutMs = 0);
30 void clearMessage();
31
32 const String &message() const { return _message; }
33
34 void setPermanentMessage(const String &message);
35 const String &permanentMessage() const { return _permanentMessage; }
36
37 Size2Di32 sizeHint() const override;
38
39 protected:
40 void paintEvent(PaintEvent *e) override;
41 void timerEvent(TimerEvent *e) override;
42
43 private:
44 String _message;
45 String _permanentMessage;
46 int _messageTimerId = -1;
47};
48
49PROMEKI_NAMESPACE_END
Bottom-of-screen status line.
Definition statusbar.h:23
TUI-specific widget base class.
Definition widget.h:33