2#include "VehicleDatabase/Headers/VehicleDatabase.h"
3#include "Widgets/Headers/PopupInfo.h"
4#include "Base/Headers/String.h"
8#include <QSortFilterProxyModel>
9#include <QAbstractTableModel>
27 int rowCount(
const QModelIndex& parent = QModelIndex())
const override;
28 int columnCount(
const QModelIndex& parent = QModelIndex())
const override;
29 QVariant data(
const QModelIndex& index,
int role = Qt::DisplayRole)
const override;
30 QVariant headerData(
int section, Qt::Orientation orientation,
int role = Qt::DisplayRole)
const override;
60 void sort(
int column, Qt::SortOrder order = Qt::DescendingOrder)
override;
72 virtual bool filterAcceptsRow(
int sourceRow,
const QModelIndex& sourceParent)
const override;
73 virtual bool lessThan(
const QModelIndex& left,
const QModelIndex& right)
const override;
95 QSize minimumSizeHint()
const override;
The core String class for the NDEVR API.
A database of vehicle specifications (make, model, year, dimensions, weight) loaded from DBF files an...
A sort/filter proxy model that filters VehicleTableModel rows by make, model, and year search criteri...
void setMakeSearchString(const String &search_string)
Sets the make search filter string.
String m_search_make
Current make search filter.
void setModelSearchString(const String &search_string)
Sets the model search filter string.
VehicleDatabase * m_database
The vehicle database for filter logic.
uint04 m_search_year
Current year search filter.
void searchByParameterChangedSignal()
Emitted when the search filter parameters have changed.
void setSelectedCallback(const std::function< void(uint04, PopupInfo)> &callback)
Sets the callback invoked when a vehicle record is selected.
void setSearchStrings(const String &make, const String &model, uint04 year)
Sets all search criteria at once.
std::function< void(uint04, PopupInfo)> m_selected_callback
Callback invoked on vehicle selection.
String m_search_model
Current model search filter.
void setYearSearchString(const uint04 &search_string)
Sets the year search filter.
VehicleTableFilterProxyModel(VehicleDatabase *model, QObject *parent=nullptr)
Constructs the filter proxy model for the given vehicle database.
const std::function< void(uint04, PopupInfo)> & selectedCallback() const
Returns the current selection callback.
Qt table model that exposes VehicleDatabase records as rows for display in a QTableView.
VehicleTableModel(VehicleDatabase *m_database, QObject *parent=nullptr)
Constructs the table model for the given vehicle database.
VehicleDatabase * m_database
The vehicle database providing record data.
VehicleTableFilterProxyModel * filter() const
Returns the filter proxy model used by this view.
uint04 recordIndexFromSelection(const QModelIndex &selection_index) const
Converts a proxy model selection index to the underlying database record index.
VehicleTableModel * m_model
The underlying table model.
VehicleTableView(VehicleDatabase *database, QWidget *parent=nullptr)
Constructs the table view for the given vehicle database.
VehicleTableFilterProxyModel * m_filter
The sort/filter proxy model.
The primary namespace for the NDEVR SDK.
uint32_t uint04
-Defines an alias representing a 4 byte, unsigned integer -Can represent exact integer values 0 throu...