app/headers/brresult.h

48 lines
1 KiB
C
Raw Normal View History

#ifndef BRRESULT_H
#define BRRESULT_H
#include <QObject>
#include "brwidget.h"
#include "brresultdetails.h"
class BRAthlete;
class BRResult : public BRWidget
{
Q_OBJECT
Q_PROPERTY(int rank READ getRank NOTIFY metadataChanged)
Q_PROPERTY(BRResultDetails* details READ getDetails NOTIFY metadataChanged)
Q_PROPERTY(BRAthlete* athlete READ getAthlete NOTIFY metadataChanged)
public:
friend class BRProvider;
typedef struct {
const BRResult* result;
int rank;
BRResultDetails* data;
BRAthlete* athlete;
} BRResultData;
BRWidget::BRWidgetStatusCode load() override;
Q_INVOKABLE int getRank() const;
Q_INVOKABLE BRResultDetails* getDetails() const;
Q_INVOKABLE BRAthlete* getAthlete() const;
private:
BRResult(BRProvider* provider, BRWidget::BRFederation federation, int id, BRResultData initialData);
void setData(BRResultData data);
int rank;
BRResultDetails* details;
BRAthlete* athlete;
signals:
void metadataChanged();
};
#endif // BRRESULT_H