help_panel.h
Go to the documentation of this file.
1 
28 #ifndef LOG_VIEW_HELP_PANEL_H_
29 #define LOG_VIEW_HELP_PANEL_H_
30 
31 #include <string>
32 #include <vector>
33 
35 
36 namespace log_view {
37 
38 struct HelpText {
39  int line;
40  std::string key;
41  std::string description;
42 };
43 
44 class HelpPanel : public PanelInterface {
45  public:
46  HelpPanel(int height, int width, int y, int x);
47  virtual ~HelpPanel() {}
48  virtual void refresh();
49  virtual void resize(int height, int width, int y, int x);
50  virtual bool handleMouse(const MEVENT& event) { return !hidden(); }
51  virtual bool handleKey(int key);
52 
53  protected:
54  virtual bool canNavigate() const { return !hidden(); }
55 
56  void printKeybinding(const HelpText& text);
57 
58  std::vector<HelpText> keys_;
59  size_t longest_key_ = 0;
60  size_t longest_line_ = 0;
61 };
62 typedef std::shared_ptr<HelpPanel> HelpPanelPtr;
63 
64 } // namespace log_view
65 
66 #endif // LOG_VIEW_HELP_PANEL_H_
log_view::HelpText::line
int line
Definition: help_panel.h:39
log_view
Definition: datatypes.h:35
log_view::HelpPanel
Definition: help_panel.h:44
log_view::HelpPanel::resize
virtual void resize(int height, int width, int y, int x)
Definition: help_panel.cpp:77
log_view::PanelInterface::y
virtual int y() const
Definition: panel_interface.cpp:270
log_view::HelpPanel::longest_line_
size_t longest_line_
Definition: help_panel.h:60
log_view::HelpPanel::refresh
virtual void refresh()
Definition: help_panel.cpp:69
log_view::PanelInterface
Definition: panel_interface.h:41
log_view::PanelInterface::hidden
virtual bool hidden() const
Definition: panel_interface.cpp:282
log_view::PanelInterface::height
virtual int height() const
Definition: panel_interface.cpp:278
log_view::HelpPanel::longest_key_
size_t longest_key_
Definition: help_panel.h:59
log_view::HelpPanelPtr
std::shared_ptr< HelpPanel > HelpPanelPtr
Definition: help_panel.h:62
log_view::HelpPanel::handleKey
virtual bool handleKey(int key)
Definition: help_panel.cpp:86
log_view::PanelInterface::width
virtual int width() const
Definition: panel_interface.cpp:274
log_view::HelpPanel::printKeybinding
void printKeybinding(const HelpText &text)
Definition: help_panel.cpp:101
log_view::HelpPanel::HelpPanel
HelpPanel(int height, int width, int y, int x)
Definition: help_panel.cpp:39
log_view::HelpPanel::handleMouse
virtual bool handleMouse(const MEVENT &event)
Definition: help_panel.h:50
log_view::HelpPanel::canNavigate
virtual bool canNavigate() const
Definition: help_panel.h:54
log_view::HelpText::description
std::string description
Definition: help_panel.h:41
log_view::PanelInterface::x
virtual int x() const
Definition: panel_interface.cpp:266
log_view::HelpText
Definition: help_panel.h:38
log_view::HelpPanel::~HelpPanel
virtual ~HelpPanel()
Definition: help_panel.h:47
log_view::HelpPanel::keys_
std::vector< HelpText > keys_
Definition: help_panel.h:58
log_view::HelpText::key
std::string key
Definition: help_panel.h:40
panel_interface.h


log_view
Author(s): Marc Alban
autogenerated on Sat Sep 17 2022 02:22:53