modelfilter.hpp
Go to the documentation of this file.
1 #ifndef MODELFILTER_HPP
2 #define MODELFILTER_HPP
3 
4 #include <chrono>
5 #include <QSortFilterProxyModel>
6 #include <QDateTime>
7 #include <QString>
8 #include <QRegExpValidator>
9 
10 typedef std::chrono::high_resolution_clock::time_point TimePoint;
11 
12 class ModelFilter : public QSortFilterProxyModel
13 {
14  Q_OBJECT
15 public:
16  explicit ModelFilter(QObject *parent = 0);
17 
18  typedef enum{
20  WILDCARDS = 1,
21  REGEX = 2
22  }FilterMode;
23 
24 signals:
25 
26 public slots:
27 
28  void setMessageFilterEnabled(bool enabled);
29  void setNodeFilterEnabled(bool enabled);
30  void setSourceFilterEnabled(bool enabled);
31  void setTimeFilterEnabled(bool enabled);
32 
33  void messageFilterUpdated(FilterMode mode, const QString& text );
34  void nodeFilterUpdated(FilterMode mode, const QString& text );
35  void sourceFilterUpdated(FilterMode mode, const QString& text );
36  void timeMinMaxUpdated(TimePoint min, TimePoint max);
37 
38  void setSeverityInfoEnabled(bool enabled);
39  void setSeverityDebugEnabled(bool enabled);
40  void setSeverityErrorEnabled(bool enabled);
41  void setSeverityWarningsEnabled(bool enabled);
42 
43 private:
44  bool applyFilter(const QString &filter, ModelFilter::FilterMode mode,
45  const QString& text_to_parse, const QRegExpValidator *validator) const;
46 
47 protected:
48  virtual bool filterAcceptsRow(int sourceRow,
49  const QModelIndex &sourceParent) const override;
50 
53 
58 
63 
67 
68  QString _node_text;
69  QString _msg_text;
70  QString _source_text;
71 
72  QRegExpValidator _node_validator;
73  QRegExpValidator _msg_validator;
74  QRegExpValidator _source_validator;
75 };
76 
77 #endif // MODELFILTER_HPP
ModelFilter::applyFilter
bool applyFilter(const QString &filter, ModelFilter::FilterMode mode, const QString &text_to_parse, const QRegExpValidator *validator) const
Definition: modelfilter.cpp:190
ModelFilter::_max
TimePoint _max
Definition: modelfilter.hpp:52
ModelFilter::_debug_filter_enabled
bool _debug_filter_enabled
Definition: modelfilter.hpp:59
TimePoint
std::chrono::high_resolution_clock::time_point TimePoint
Definition: logs_table_model.hpp:17
ModelFilter::timeMinMaxUpdated
void timeMinMaxUpdated(TimePoint min, TimePoint max)
Definition: modelfilter.cpp:96
ModelFilter::setSourceFilterEnabled
void setSourceFilterEnabled(bool enabled)
Definition: modelfilter.cpp:29
ModelFilter::setSeverityWarningsEnabled
void setSeverityWarningsEnabled(bool enabled)
Definition: modelfilter.cpp:121
ModelFilter::sourceFilterUpdated
void sourceFilterUpdated(FilterMode mode, const QString &text)
Definition: modelfilter.cpp:78
ModelFilter::_msg_text
QString _msg_text
Definition: modelfilter.hpp:69
ModelFilter
Definition: modelfilter.hpp:12
ModelFilter::FilterMode
FilterMode
Definition: modelfilter.hpp:18
ModelFilter::setNodeFilterEnabled
void setNodeFilterEnabled(bool enabled)
Definition: modelfilter.cpp:23
ModelFilter::_msg_mode
FilterMode _msg_mode
Definition: modelfilter.hpp:65
ModelFilter::_source_validator
QRegExpValidator _source_validator
Definition: modelfilter.hpp:74
ModelFilter::_node_mode
FilterMode _node_mode
Definition: modelfilter.hpp:64
TimePoint
std::chrono::high_resolution_clock::time_point TimePoint
Definition: modelfilter.hpp:10
ModelFilter::CONTAINS_ONE
@ CONTAINS_ONE
Definition: modelfilter.hpp:19
ModelFilter::_time_filter_enabled
bool _time_filter_enabled
Definition: modelfilter.hpp:57
ModelFilter::setSeverityErrorEnabled
void setSeverityErrorEnabled(bool enabled)
Definition: modelfilter.cpp:115
ModelFilter::setTimeFilterEnabled
void setTimeFilterEnabled(bool enabled)
Definition: modelfilter.cpp:35
ModelFilter::_source_mode
FilterMode _source_mode
Definition: modelfilter.hpp:66
ModelFilter::setSeverityDebugEnabled
void setSeverityDebugEnabled(bool enabled)
Definition: modelfilter.cpp:109
ModelFilter::_node_text
QString _node_text
Definition: modelfilter.hpp:68
ModelFilter::ModelFilter
ModelFilter(QObject *parent=0)
Definition: modelfilter.cpp:4
ModelFilter::_node_filter_enabled
bool _node_filter_enabled
Definition: modelfilter.hpp:54
ModelFilter::_source_text
QString _source_text
Definition: modelfilter.hpp:70
ModelFilter::setMessageFilterEnabled
void setMessageFilterEnabled(bool enabled)
Definition: modelfilter.cpp:17
ModelFilter::_min
TimePoint _min
Definition: modelfilter.hpp:51
ModelFilter::_warn_filter_enabled
bool _warn_filter_enabled
Definition: modelfilter.hpp:62
ModelFilter::_msg_validator
QRegExpValidator _msg_validator
Definition: modelfilter.hpp:73
ModelFilter::messageFilterUpdated
void messageFilterUpdated(FilterMode mode, const QString &text)
Definition: modelfilter.cpp:41
ModelFilter::_info_filter_enabled
bool _info_filter_enabled
Definition: modelfilter.hpp:60
ModelFilter::REGEX
@ REGEX
Definition: modelfilter.hpp:21
ModelFilter::setSeverityInfoEnabled
void setSeverityInfoEnabled(bool enabled)
Definition: modelfilter.cpp:103
ModelFilter::WILDCARDS
@ WILDCARDS
Definition: modelfilter.hpp:20
ModelFilter::_node_validator
QRegExpValidator _node_validator
Definition: modelfilter.hpp:72
ModelFilter::nodeFilterUpdated
void nodeFilterUpdated(FilterMode mode, const QString &text)
Definition: modelfilter.cpp:60
ModelFilter::_msg_filter_enabled
bool _msg_filter_enabled
Definition: modelfilter.hpp:56
ModelFilter::filterAcceptsRow
virtual bool filterAcceptsRow(int sourceRow, const QModelIndex &sourceParent) const override
Definition: modelfilter.cpp:127
ModelFilter::_source_filter_enabled
bool _source_filter_enabled
Definition: modelfilter.hpp:55
ModelFilter::_error_filter_enabled
bool _error_filter_enabled
Definition: modelfilter.hpp:61


plotjuggler_ros
Author(s): Davide Faconti
autogenerated on Wed Feb 21 2024 03:22:55