#ifndef SINGLETARGETRESULTWIDGET_H #define SINGLETARGETRESULTWIDGET_H #include #include #include #include #include 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>& fields); void setEmptyText(const QString& text); static void setupListWidget(QListWidget* listWidget, const QSize& itemSize); private: void clearFieldRows(); struct FieldRow { QLabel* nameLabel = nullptr; QLabel* valueLabel = nullptr; }; private: QLabel* m_titleLabel = nullptr; QLabel* m_statusLabel = nullptr; QLabel* m_emptyLabel = nullptr; QGridLayout* m_fieldLayout = nullptr; QList m_fieldRows; bool m_statusStyleInitialized = false; bool m_statusWarning = false; }; #endif // SINGLETARGETRESULTWIDGET_H