libpappsomspp
Library for mass spectrometry
Loading...
Searching...
No Matches
uimonitortext.cpp
Go to the documentation of this file.
1/**
2 * \file pappsomspp/processing/uimonitor/uimonitortext.cpp
3 * \date 14/5/2021
4 * \author Olivier Langella
5 * \brief simle text monitor implementation of the User Interface Monitor
6 **/
7
8/*******************************************************************************
9 * Copyright (c) 2021 Olivier Langella
10 *<Olivier.Langella@universite-paris-saclay.fr>.
11 *
12 * This file is part of the PAPPSOms++ library.
13 *
14 * PAPPSOms++ is free software: you can redistribute it and/or modify
15 * it under the terms of the GNU General Public License as published by
16 * the Free Software Foundation, either version 3 of the License, or
17 * (at your option) any later version.
18 *
19 * PAPPSOms++ is distributed in the hope that it will be useful,
20 * but WITHOUT ANY WARRANTY; without even the implied warranty of
21 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
22 * GNU General Public License for more details.
23 *
24 * You should have received a copy of the GNU General Public License
25 * along with PAPPSOms++. If not, see <http://www.gnu.org/licenses/>.
26 *
27 ******************************************************************************/
28
29#include <QObject>
30
31#include "uimonitortext.h"
32
33using namespace pappso;
34
35UiMonitorText::UiMonitorText(QTextStream &output_stream)
36 : m_outputStream(output_stream)
37{
38}
39
43
44bool
46{
47 // by defaut not interruptible
48 return false;
49}
50
51void
53{
54 m_outputStream << title << Qt::endl;
55 m_outputStream.flush();
56}
57
58void
60{
61 m_outputStream << status << Qt::endl;
62 m_outputStream.flush();
63}
64
65void
67{
68 m_count++;
69 if(m_count <= m_totalSteps)
70 {
71 m_outputStream << m_count << " ";
72 }
73 else
74 {
75 m_outputStream << QObject::tr("%1 on %2").arg(m_count).arg(m_totalSteps)
76 << " ";
77 }
78 m_outputStream.flush();
79}
80
81void
83{
84 m_outputStream << text;
85 m_outputStream.flush();
86}
87
88void
89pappso::UiMonitorText::setTotalSteps(std::size_t total_number_of_steps)
90{
91 UiMonitorInterface::setTotalSteps(total_number_of_steps);
92 m_count = 0;
93}
virtual void setTotalSteps(std::size_t total_number_of_steps)
use it if the number of steps is known in an algorithm the total number of steps is usefull to report...
virtual void count() override
count steps report when a step is computed in an algorithm
virtual void setStatus(const QString &status) override
current status of the process
virtual void setTitle(const QString &title) override
current kind of process running
virtual bool shouldIstop() override
should the procces be stopped ? If true, then cancel process Use this function at strategic point of ...
virtual void setTotalSteps(std::size_t total_number_of_steps)
use it if the number of steps is known in an algorithm the total number of steps is usefull to report...
virtual void appendText(const QString &text) override
append a text to a long report
UiMonitorText(QTextStream &output_stream)
tries to keep as much as possible monoisotopes, removing any possible C13 peaks and changes multichar...
Definition aa.cpp:39
simle text monitor implementation of the User Interface Monitor