19 int progressMinimum READ progressMinimum NOTIFY progressRangeChanged)
21 int progressMaximum READ progressMaximum NOTIFY progressRangeChanged)
22 Q_PROPERTY (
int progressValue READ progressValue NOTIFY progressValueChanged)
23 Q_PROPERTY (QString progressText READ progressText NOTIFY progressTextChanged)
30 virtual int progressMinimum ()
const = 0;
31 virtual int progressMaximum ()
const = 0;
32 virtual int progressValue ()
const = 0;
33 virtual QString progressText ()
const = 0;
34 Q_INVOKABLE
virtual QVariant resultVar ()
const = 0;
35 Q_INVOKABLE
virtual void cancel () = 0;
36 Q_INVOKABLE
virtual bool isCanceled ()
const = 0;
39 void progressValueChanged (
int value);
40 void progressRangeChanged (
int minimum,
int maximum);
41 void progressTextChanged (
const QString &text);
45 void setup (QFutureWatcherBase &watcher)
const
48 &watcher, &QFutureWatcherBase::progressRangeChanged,
this,
49 &QFutureQmlWrapper::progressRangeChanged);
51 &watcher, &QFutureWatcherBase::progressValueChanged,
this,
52 &QFutureQmlWrapper::progressValueChanged);
54 &watcher, &QFutureWatcherBase::progressTextChanged,
this,
55 &QFutureQmlWrapper::progressTextChanged);
57 &watcher, &QFutureWatcherBase::finished,
this,
58 &QFutureQmlWrapper::finished);
65 QFutureQmlWrapperT (QFuture<T> future) : future_ (future)
67 watcher_.setFuture (future_);
71 int progressMinimum ()
const override {
return watcher_.progressMinimum (); }
72 int progressMaximum ()
const override {
return watcher_.progressMaximum (); }
73 int progressValue ()
const override {
return watcher_.progressValue (); }
74 QString progressText ()
const override {
return watcher_.progressText (); }
75 QVariant resultVar ()
const override
77 if constexpr (std::is_same_v<T, void>)
83 assert (future_.isResultReadyAt (0));
84 return QVariant::fromValue (watcher_.result ());
88 void cancel ()
override { future_.cancel (); }
89 bool isCanceled ()
const override {
return future_.isCanceled (); }
93 QFutureWatcher<T> watcher_;