From 34c1b491aae35398d867552ceea4715412a9ac8c Mon Sep 17 00:00:00 2001 From: Erik Smistad Date: Fri, 15 Mar 2024 15:12:31 +0100 Subject: [PATCH] Added progress bar to RunUntilFinished --- .../Algorithms/RunUntilFinished/RunUntilFinished.cpp | 12 +++++++++++- .../Algorithms/RunUntilFinished/RunUntilFinished.hpp | 1 + 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/source/FAST/Algorithms/RunUntilFinished/RunUntilFinished.cpp b/source/FAST/Algorithms/RunUntilFinished/RunUntilFinished.cpp index 72bfb660d..fcc9332be 100644 --- a/source/FAST/Algorithms/RunUntilFinished/RunUntilFinished.cpp +++ b/source/FAST/Algorithms/RunUntilFinished/RunUntilFinished.cpp @@ -5,15 +5,25 @@ namespace fast { RunUntilFinished::RunUntilFinished() { createInputPort(0); createOutputPort(0); + m_finished = false; } void RunUntilFinished::execute() { - // TODO this assumes the parent only has 1 output port auto parentPO = mInputConnections[0]->getProcessObject(); + if(m_finished) { + return; + } + // TODO this assumes the parent only has 1 output port DataObject::pointer inputData; + Progress progress(1000); + progress.setText("Running "); do { inputData = parentPO->runAndGetOutputData(); + if(inputData->hasFrameData("progress")) + progress.update(round(1000*inputData->getFrameData("progress"))); } while(!inputData->isLastFrame()); + progress.update(1000); + m_finished = true; addOutputData(0, inputData); } diff --git a/source/FAST/Algorithms/RunUntilFinished/RunUntilFinished.hpp b/source/FAST/Algorithms/RunUntilFinished/RunUntilFinished.hpp index d6378fa77..4fcbe2ad9 100644 --- a/source/FAST/Algorithms/RunUntilFinished/RunUntilFinished.hpp +++ b/source/FAST/Algorithms/RunUntilFinished/RunUntilFinished.hpp @@ -17,6 +17,7 @@ class FAST_EXPORT RunUntilFinished : public ProcessObject { FAST_CONSTRUCTOR(RunUntilFinished); private: void execute() override; + bool m_finished = false; }; } \ No newline at end of file