Program Listing for File search_panel.h

Return to documentation for file (/tmp/ws/src/log_view/include/log_view/panels/search_panel.h)

#ifndef LOG_VIEW_SEARCH_PANEL_H_
#define LOG_VIEW_SEARCH_PANEL_H_

#include <log_view/panel_interface.h>
#include <log_view/log_filter.h>

namespace log_view {

class SearchPanel : public PanelInterface {
  public:
  SearchPanel(int height, int width, int y, int x, LogFilter& filter) : PanelInterface(height, width, y, x), filter_(filter) {}
  virtual ~SearchPanel() {}
  virtual void refresh();

  virtual void clearSearch();
  virtual void toggle();
  virtual bool handleInput(int val);

  protected:
  virtual bool canFocus() const { return !show_results_; }
  virtual bool canInput() const { return true; }
  virtual int inputOffset() const { return 8; }

  LogFilter& filter_;

  bool show_results_ = false;
};
typedef std::shared_ptr<SearchPanel> SearchPanelPtr;

}  // namespace log_view

#endif  // LOG_VIEW_SEARCH_PANEL_H_