Program Listing for File log_view.h
↰ Return to documentation for file (include/log_view/log_view.h
)
#ifndef LOG_VIEW_LOG_VIEW_H_
#define LOG_VIEW_LOG_VIEW_H_
#include <log_view/log_filter.h>
#include <log_view/log_store.h>
#include <log_view/panel_interface.h>
#include <log_view/panels/exclude_panel.h>
#include <log_view/panels/filter_panel.h>
#include <log_view/panels/help_panel.h>
#include <log_view/panels/level_panel.h>
#include <log_view/panels/log_panel.h>
#include <log_view/panels/node_panel.h>
#include <log_view/panels/search_panel.h>
#include <log_view/panels/status_panel.h>
#include <curses.h>
#include <panel.h>
#include <rclcpp/rclcpp.hpp>
namespace log_view {
class LogView {
public:
explicit LogView(LogStorePtr& logs);
~LogView();
void init();
void close();
bool exited() const;
void setRosTime(const rclcpp::Time& time);
void setSystemTime(const rclcpp::Time& time);
void update();
private:
void refreshLayout();
size_t viewSize() const;
void tab();
void focusNext(const PanelInterfacePtr& panel);
void unfocusOthers(const PanelInterfacePtr& focused);
LogStorePtr logs_;
LogFilter log_filter_;
bool exited_ = false;
bool mouse_down_ = false;
bool node_select_ = true;
bool log_scroll_ = false;
std::vector<PanelInterfacePtr> panels_;
StatusPanelPtr status_panel_;
LevelPanelPtr level_panel_;
SearchPanelPtr search_panel_;
FilterPanelPtr filter_panel_;
ExcludePanelPtr exclude_panel_;
LogPanelPtr log_panel_;
NodePanelPtr node_panel_;
HelpPanelPtr help_panel_;
};
} // namespace log_view
#endif // LOG_VIEW_LOG_VIEW_H_