libpromeki main
PROfessional MEdia toolKIt
 
Loading...
Searching...
No Matches
statusbar.h
Go to the documentation of this file.
1
8#pragma once
9
11#include <promeki/core/string.h>
12#include <promeki/tui/widget.h>
13
15
21class TuiStatusBar : public TuiWidget {
22 PROMEKI_OBJECT(TuiStatusBar, TuiWidget)
23 public:
24 TuiStatusBar(ObjectBase *parent = nullptr);
25 ~TuiStatusBar() override;
26
27 void showMessage(const String &message, int timeoutMs = 0);
28 void clearMessage();
29
30 const String &message() const { return _message; }
31
32 void setPermanentMessage(const String &message);
33 const String &permanentMessage() const { return _permanentMessage; }
34
35 Size2Di32 sizeHint() const override;
36
37 protected:
38 void paintEvent(TuiPaintEvent *e) override;
39 void timerEvent(TimerEvent *e) override;
40
41 private:
42 String _message;
43 String _permanentMessage;
44 int _messageTimerId = -1;
45};
46
Dynamic array container wrapping std::vector.
Definition list.h:40
Base object for promeki.
Definition objectbase.h:129
ObjectBase * parent() const
Returns the parent object, if one. nullptr if none.
Definition objectbase.h:258
Encoding-aware string class with copy-on-write semantics.
Definition string.h:35
Event delivered when a timer fires.
Definition timerevent.h:22
Event delivered when a TUI widget needs to repaint.
Definition widget.h:28
Bottom-of-screen status line.
Definition statusbar.h:21
void timerEvent(TimerEvent *e) override
Called when a timer fires for this object.
Size2Di32 sizeHint() const override
Returns the preferred size. Override in subclasses.
void paintEvent(TuiPaintEvent *e) override
Called to paint the widget. Override in subclasses.
Base class for all TUI widgets.
Definition widget.h:88
#define PROMEKI_NAMESPACE_BEGIN
Starts a promeki namespace block.
Definition namespace.h:14
#define PROMEKI_NAMESPACE_END
Ends a promeki namespace block.
Definition namespace.h:19