#ifndef BRROUND_H #define BRROUND_H #include #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 results READ getResultsQML NOTIFY resultsChanged) public: friend class BRProvider; friend class BRCategory; typedef struct { BRRound* round; QString name; QList results; } BRRoundData; BRWidget::BRWidgetStatusCode load() override; Q_INVOKABLE BRCategory* getCategory() const; Q_INVOKABLE bool isGeneralResult() const; Q_INVOKABLE QString getName(); Q_INVOKABLE QList getResults(); Q_INVOKABLE QList getResultsQML(); BRRoundData getData(); static bool lessThan(BRRound* round1, BRRound* round2); private: BRRound(BRProvider* provider, BRWidget::BRFederation federation, int id, BRRoundData initialData, bool generalResult = false); void setData(BRRoundData data); BRCategory* category; bool generalResult; QString name; QList results; signals: void metadataChanged(); void resultsChanged(); }; #endif // BRROUND_H