GrabBag/AppUtils/UICommon/Inc/SingleTargetResultWidget.h

40 lines
924 B
C++

#ifndef SINGLETARGETRESULTWIDGET_H
#define SINGLETARGETRESULTWIDGET_H
#include <QList>
#include <QPair>
#include <QSize>
#include <QString>
#include <QWidget>
class QLabel;
class QListWidget;
class QGridLayout;
class SingleTargetResultWidget : public QWidget
{
Q_OBJECT
public:
explicit SingleTargetResultWidget(QWidget* parent = nullptr);
void setTitle(const QString& title);
void setStatus(const QString& text, bool warning = false);
void setFields(const QList<QPair<QString, QString>>& fields);
void setEmptyText(const QString& text);
static void setupListWidget(QListWidget* listWidget, const QSize& itemSize);
private:
void clearFieldRows();
private:
QLabel* m_titleLabel = nullptr;
QLabel* m_statusLabel = nullptr;
QLabel* m_emptyLabel = nullptr;
QGridLayout* m_fieldLayout = nullptr;
QList<QWidget*> m_fieldWidgets;
};
#endif // SINGLETARGETRESULTWIDGET_H