Update list of wide characters
[centerim5.git] / src / Footer.h
blob335a879bc8455637d78a621eb78165720a99dc90
1 // Copyright (C) 2011-2015 Petr Pavlu <setup@dagobah.cz>
2 //
3 // This file is part of CenterIM.
4 //
5 // CenterIM is free software; you can redistribute it and/or modify
6 // it under the terms of the GNU General Public License as published by
7 // the Free Software Foundation; either version 2 of the License, or
8 // (at your option) any later version.
9 //
10 // CenterIM is distributed in the hope that it will be useful,
11 // but WITHOUT ANY WARRANTY; without even the implied warranty of
12 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 // GNU General Public License for more details.
15 // You should have received a copy of the GNU General Public License
16 // along with CenterIM. If not, see <http://www.gnu.org/licenses/>.
18 #ifndef FOOTER_H
19 #define FOOTER_H
21 #include "CenterIM.h"
23 #include <cppconsui/Label.h>
24 #include <cppconsui/Window.h>
26 #define FOOTER (Footer::instance())
28 // Bottom area of the screen containing context sensitive help.
29 class Footer : public CppConsUI::Window {
30 public:
31 static Footer *instance();
33 // Window
34 virtual void onScreenResized() override;
36 void setText(const char *fmt, ...)
37 CPPCONSUI_GNUC_ATTRIBUTE((format(printf, 2, 3)));
39 private:
40 typedef std::vector<std::string> Values;
42 CppConsUI::Label *label_;
43 Values values_;
45 static Footer *my_instance_;
47 Footer();
48 virtual ~Footer() override {}
49 CONSUI_DISABLE_COPY(Footer);
51 static void init();
52 static void finalize();
53 friend class CenterIM;
55 void updateText();
58 #endif // FOOTER_H
60 // vim: set tabstop=2 shiftwidth=2 textwidth=80 expandtab: