1 #ifndef CPPURSES_WIDGET_WIDGETS_STATUS_HPP
2 #define CPPURSES_WIDGET_WIDGETS_STATUS_HPP
3 #include <signals/signals.hpp>
4 
5 #include <cppurses/painter/glyph_string.hpp>
6 #include <cppurses/widget/widgets/label.hpp>
7 
8 namespace cppurses {
9 
10 class Status_bar : public Label {
11    public:
12     explicit Status_bar(Glyph_string initial_message = "");
13     void update_status(Glyph_string message);
14 
15     // Signals
16     sig::Signal<void(const Glyph_string&)> status_updated;
17 };
18 
19 namespace slot {
20 
21 sig::Slot<void(Glyph_string)> update_status(Status_bar& sb);
22 sig::Slot<void()> update_status(Status_bar& sb, const Glyph_string& message);
23 
24 }  // namespace slot
25 }  // namespace cppurses
26 #endif  // CPPURSES_WIDGET_WIDGETS_STATUS_HPP
27