diff options
Diffstat (limited to 'plugins/warp/ui/shared/constraint.h')
| -rw-r--r-- | plugins/warp/ui/shared/constraint.h | 78 |
1 files changed, 78 insertions, 0 deletions
diff --git a/plugins/warp/ui/shared/constraint.h b/plugins/warp/ui/shared/constraint.h new file mode 100644 index 00000000..2f064836 --- /dev/null +++ b/plugins/warp/ui/shared/constraint.h @@ -0,0 +1,78 @@ +#pragma once +#include <qstandarditemmodel.h> +#include <QTableView> +#include <QWidget> + +#include "filter.h" +#include "misc.h" +#include "warp.h" + +class WarpConstraintItem : public QStandardItem +{ + Warp::Constraint m_constraint; + +public: + WarpConstraintItem(const Warp::Constraint &constraint); + + Warp::Constraint GetConstraint() { return m_constraint; } +}; + +class WarpConstraintItemModel : public QStandardItemModel +{ + Q_OBJECT + + // The current analysis constraints used to highlight matching constraints. + std::vector<Warp::Constraint> m_matchedConstraints; + +public: + WarpConstraintItemModel(const QStringList &labels, QObject *parent); + + static constexpr int COL_CONSTRAINT_ITEM = 0; + + void AddItem(WarpConstraintItem *item); + + WarpConstraintItem *GetItem(const QModelIndex &index) const; + + QVariant data(const QModelIndex &index, int role) const override; + + void SetMatchedConstraints(const std::vector<Warp::Constraint> &analysisConstraints) + { + m_matchedConstraints = analysisConstraints; + } +}; + +class WarpConstraintTableWidget : public QWidget, public FilterTarget +{ + Q_OBJECT + + QTableView *m_table; + WarpConstraintItemModel *m_model; + GenericTextFilterModel *m_proxyModel; + FilterEdit *m_filterEdit; + FilteredView *m_filterView; + +public: + explicit WarpConstraintTableWidget(QWidget *parent = nullptr); + + void SetConstraints(QVector<WarpConstraintItem *> constraints); + + void SetMatchedConstraints(const std::vector<Warp::Constraint> &analysisConstraints); + + void setFilter(const std::string &) override; + + void scrollToFirstItem() override + { + } + + void scrollToCurrentItem() override + { + } + + void selectFirstItem() override + { + } + + void activateFirstItem() override + { + } +}; |
