OpenMS
TOPPASOutputFileListVertex.h
Go to the documentation of this file.
1 // --------------------------------------------------------------------------
2 // OpenMS -- Open-Source Mass Spectrometry
3 // --------------------------------------------------------------------------
4 // Copyright The OpenMS Team -- Eberhard Karls University Tuebingen,
5 // ETH Zurich, and Freie Universitaet Berlin 2002-2023.
6 //
7 // This software is released under a three-clause BSD license:
8 // * Redistributions of source code must retain the above copyright
9 // notice, this list of conditions and the following disclaimer.
10 // * Redistributions in binary form must reproduce the above copyright
11 // notice, this list of conditions and the following disclaimer in the
12 // documentation and/or other materials provided with the distribution.
13 // * Neither the name of any author or any participating institution
14 // may be used to endorse or promote products derived from this software
15 // without specific prior written permission.
16 // For a full list of authors, refer to the file AUTHORS.
17 // --------------------------------------------------------------------------
18 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
19 // AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
20 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
21 // ARE DISCLAIMED. IN NO EVENT SHALL ANY OF THE AUTHORS OR THE CONTRIBUTING
22 // INSTITUTIONS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
23 // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
24 // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
25 // OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
26 // WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
27 // OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
28 // ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
29 //
30 // --------------------------------------------------------------------------
31 // $Maintainer: Chris Bielow $
32 // $Authors: Johannes Junker, Chris Bielow $
33 // --------------------------------------------------------------------------
34 
35 #pragma once
36 
37 // OpenMS_GUI config
38 #include <OpenMS/VISUAL/OpenMS_GUIConfig.h>
39 
41 
42 namespace OpenMS
43 {
49  class OPENMS_GUI_DLLAPI TOPPASOutputFileListVertex :
50  public TOPPASVertex
51  {
52  Q_OBJECT
53 
54 public:
55 
61  ~TOPPASOutputFileListVertex() override = default;
65  String getName() const override;
66  // documented in base class
67  void paint(QPainter * painter, const QStyleOptionGraphicsItem * option, QWidget * widget) override;
68  // documented in base class
69  QRectF boundingRect() const override;
70  // documented in base class
71  void reset(bool reset_all_files = false) override;
73  void mouseDoubleClickEvent(QGraphicsSceneMouseEvent*) override;
75  void run() override;
83  void setTopoNr(UInt nr) override;
85  void openContainingFolder() const;
88  void setOutputFolderName(const QString& name);
90  const QString& getOutputFolderName() const;
91 
92 public slots:
93 
94  //documented in base class
95  void inEdgeHasChanged() override;
96 
97 signals:
99  void outputFileWritten(const String& file);
100 
103 
104 protected:
105 
106  // custom output folder name
108 
109  static bool copy_(const QString & from, const QString & to);
110  // convenience members, not required for operation, but for progress during copying
111  int files_written_ = 0;
112  int files_total_ = 0;
113  };
114 }
115 
A more convenient string class.
Definition: String.h:60
A vertex representing an output file list.
Definition: TOPPASOutputFileListVertex.h:51
TOPPASOutputFileListVertex & operator=(const TOPPASOutputFileListVertex &rhs)
Assignment operator.
void reset(bool reset_all_files=false) override
const QString & getOutputFolderName() const
return the output folder where results are written
TOPPASOutputFileListVertex()=default
Default constructor.
TOPPASOutputFileListVertex(const TOPPASOutputFileListVertex &rhs)
Copy constructor.
String getFullOutputDirectory() const
Returns the full directory (including preceding output path as selected by user)
void openContainingFolder() const
Opens the folders of the output files.
String getOutputDir() const
Returns the directory where the output files are stored.
QString output_folder_name_
Definition: TOPPASOutputFileListVertex.h:107
~TOPPASOutputFileListVertex() override=default
Destructor.
void outputFileWritten(const String &file)
Emitted when an output file was written.
static bool copy_(const QString &from, const QString &to)
STATIC(!) function which calls QFile::copy(); needs to be static, since we need to pass a function po...
String getName() const override
returns "OutputVertex"
void setOutputFolderName(const QString &name)
void mouseDoubleClickEvent(QGraphicsSceneMouseEvent *) override
opens the folder containing the output data
QRectF boundingRect() const override
Returns the bounding rectangle of this item.
String createOutputDir() const
Creates the output directory for this node.
void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget) override
void setTopoNr(UInt nr) override
Sets the topological sort number and removes invalidated tmp files.
void run() override
Called when the parent node has finished execution.
void outputFolderNameChanged()
Emitted when user has changed the output folder name (i.e. output dir needs to be newly created and p...
The base class of the different vertex classes.
Definition: TOPPASVertex.h:103
unsigned int UInt
Unsigned integer type.
Definition: Types.h:94
Main OpenMS namespace.
Definition: FeatureDeconvolution.h:48