From 7730a329a3411474d635884887850993e87cf6a5 Mon Sep 17 00:00:00 2001 From: Jarek Kobus Date: Wed, 30 Aug 2023 22:56:53 +0200 Subject: [PATCH] TaskTree demo: Simplify task creation Fix workflow policy. Fix const correctness. Rename treeRoot into recipe. Change-Id: Ib0457691001dbb88135027f8c7a34ba671b0b082 Reviewed-by: hjk --- tests/manual/tasking/demo/main.cpp | 26 ++++++++++++-------------- 1 file changed, 12 insertions(+), 14 deletions(-) diff --git a/tests/manual/tasking/demo/main.cpp b/tests/manual/tasking/demo/main.cpp index 6ca092d21c3..c48b894580f 100644 --- a/tests/manual/tasking/demo/main.cpp +++ b/tests/manual/tasking/demo/main.cpp @@ -163,24 +163,22 @@ int main(int argc, char *argv[]) std::unique_ptr taskTree; - const auto createTask = [](TaskWidget *widget) -> GroupItem { - const auto setupTask = [](TaskWidget *widget) { - return [widget](milliseconds &taskObject) { - taskObject = milliseconds{widget->busyTime() * 1000}; - widget->setState(State::Running); - }; + const auto createTask = [](TaskWidget *widget) { + const milliseconds timeout{widget->busyTime() * 1000}; + const auto setupTask = [widget, timeout](milliseconds &taskObject) { + taskObject = timeout; + widget->setState(State::Running); }; const Group root { - widget->isSuccess() ? finishAllAndDone : finishAllAndError, - TimeoutTask(setupTask(widget)), + widget->isSuccess() ? stopOnError : finishAllAndError, + TimeoutTask(setupTask), onGroupDone([widget] { widget->setState(State::Done); }), onGroupError([widget] { widget->setState(State::Error); }) }; return root; }; - auto treeRoot = [&] { - + const auto recipe = [&] { const Group root { rootGroup->executeMode(), rootGroup->workflowPolicy(), @@ -232,21 +230,21 @@ int main(int argc, char *argv[]) // Non-task GUI handling - auto createTaskTree = [&] { - TaskTree *taskTree = new TaskTree(treeRoot()); + const auto createTaskTree = [&] { + TaskTree *taskTree = new TaskTree(recipe()); progressBar->setMaximum(taskTree->progressMaximum()); QObject::connect(taskTree, &TaskTree::progressValueChanged, progressBar, &QProgressBar::setValue); return taskTree; }; - auto stopTaskTree = [&] { + const auto stopTaskTree = [&] { if (taskTree) taskTree->stop(); // TODO: unlock GUI controls? }; - auto resetTaskTree = [&] { + const auto resetTaskTree = [&] { if (!taskTree) return;