app/headers/brround.h

51 lines
1 KiB
C++

#ifndef BRROUND_H
#define BRROUND_H
#include <QObject>
#include "brwidget.h"
#include "brresult.h"
class BRCategory;
class BRRound : public BRWidget
{
Q_OBJECT
Q_PROPERTY(QString name READ getName NOTIFY metadataChanged)
Q_PROPERTY(QList<QObject*> results READ getResultsQML NOTIFY resultsChanged)
public:
friend class BRProvider;
friend class BRCategory;
typedef struct {
const BRRound* round;
QString name;
QList<BRResult*> results;
} BRRoundData;
BRWidget::BRWidgetStatusCode load() override;
Q_INVOKABLE BRCategory* getCategory() const;
Q_INVOKABLE QString getName();
Q_INVOKABLE QList<QObject*> getResultsQML();
BRRoundData getData();
private:
BRRound(BRProvider* provider, BRWidget::BRFederation federation, int id, BRRoundData initialData);
void setData(BRRoundData data);
BRCategory* category;
QString name;
QList<BRResult*> results;
signals:
void metadataChanged();
void resultsChanged();
};
#endif // BRROUND_H