libpappsomspp
Library for mass spectrometry
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 "uimonitortext.h"
30
31using namespace pappso;
32
33UiMonitorText::UiMonitorText(QTextStream &output_stream)
34 : m_outputStream(output_stream)
35{
36}
37
39{
40}
41
42bool
44{
45 // by defaut not interruptible
46 return false;
47}
48
49void
51{
52 m_outputStream << title << Qt::endl;
53 m_outputStream.flush();
54}
55
56void
58{
59 m_outputStream << status << Qt::endl;
60 m_outputStream.flush();
61}
62
63void
65{
66 m_count++;
67 if(m_count <= m_totalSteps)
68 {
69 m_outputStream << m_count << " ";
70 }
71 else
72 {
73 m_outputStream << QObject::tr("%1 on %2").arg(m_count).arg(m_totalSteps)
74 << " ";
75 }
76 m_outputStream.flush();
77}
78
79void
81{
82 m_outputStream << text;
83 m_outputStream.flush();
84}
85
86void
87pappso::UiMonitorText::setTotalSteps(std::size_t total_number_of_steps)
88{
89 UiMonitorInterface::setTotalSteps(total_number_of_steps);
90 m_count = 0;
91}
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
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