-
-
Notifications
You must be signed in to change notification settings - Fork 2.3k
Expand file tree
/
Copy pathFilterTableHeader.h
More file actions
47 lines (37 loc) · 1.17 KB
/
FilterTableHeader.h
File metadata and controls
47 lines (37 loc) · 1.17 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
#ifndef FILTERTABLEHEADER_H
#define FILTERTABLEHEADER_H
#include <QHeaderView>
#include <vector>
class QTableView;
class FilterLineEdit;
class FilterTableHeader : public QHeaderView
{
Q_OBJECT
public:
explicit FilterTableHeader(QTableView* parent = nullptr);
QSize sizeHint() const override;
bool hasFilters() const {return (filterWidgets.size() > 0);}
QString filterValue(size_t column) const;
void setFocusColumn(size_t column);
public slots:
void generateFilters(size_t number, size_t number_of_hidden_filters = 1);
void adjustPositions();
void clearFilters();
void setFilter(size_t column, const QString& value);
signals:
void filterChanged(size_t column, QString value);
void filterFocused();
void addCondFormat(size_t column, QString filter);
void allCondFormatsCleared(size_t column);
void condFormatsEdited(size_t column);
protected:
void updateGeometries() override;
private slots:
void inputChanged(const QString& new_value);
void addFilterAsCondFormat(const QString& filter);
void clearAllCondFormats();
void editCondFormats();
private:
std::vector<FilterLineEdit*> filterWidgets;
};
#endif