38 #include <OpenMS/VISUAL/OpenMS_GUIConfig.h> 44 #include <QtWidgets/QGraphicsScene> 45 #include <QtCore/QProcess> 50 class TOPPASToolVertex;
51 class TOPPASMergerVertex;
52 class TOPPASOutputFileListVertex;
54 class TOPPASResources;
65 virtual void start(
const QString & program,
const QStringList & arguments, OpenMode mode = ReadWrite);
128 ST_REFRESH_REMAINSINVALID
170 void paste(QPointF pos = QPointF());
172 void removeSelected();
176 void updateEdgeColors();
182 bool store(
const String & file);
184 void load(
const String & file);
186 void include(
TOPPASScene * new_scene, QPointF pos = QPointF());
188 const String & getSaveFileName();
190 void setSaveFileName(
const String & name);
194 const QString & getOutDir()
const;
196 const QString & getTempDir()
const;
198 void setOutDir(
const QString & dir);
200 bool saveIfChanged();
202 void setChanged(
bool b);
204 bool isPipelineRunning();
206 bool askForOutputDir(
bool always_ask =
true);
210 void runNextProcess();
212 void resetProcessesQueue();
235 bool isGUIMode()
const;
238 bool isDryRun()
const;
240 QString getDescription()
const;
242 void setDescription(
const QString & desc);
244 void setAllowedThreads(
int num_threads);
248 void checkIfWeAreDone();
254 void abortPipeline();
260 void updateHoveringEdgePos(
const QPointF & new_pos);
262 void addHoveringEdge(
const QPointF & pos);
264 void finishHoveringEdge();
266 void pipelineErrorSlot(
const QString msg =
"");
268 void moveSelectedItems(qreal dx, qreal dy);
273 void setPipelineRunning(
bool b =
true);
275 void changedParameter(
const bool invalidates_running_pipeline);
277 void changedOutputFolder();
279 void processFinished();
281 void quitWithError();
286 void logTOPPOutput(
const QString & out);
289 void logToolStarted();
291 void logToolFinished();
293 void logToolFailed();
295 void logToolCrashed();
297 void logOutputFileWritten(
const String & file);
303 void entirePipelineFinished();
305 void pipelineExecutionFailed();
309 void terminateCurrentPipeline();
313 void requestClipboardContent();
315 void mainWindowNeedsUpdate();
317 void openInTOPPView(QStringList all_files);
319 void dryRunFinished(
int, QProcess::ExitStatus);
321 void messageReady(
const QString & msg);
375 bool sanityCheck_(
bool allowUserOverride);
379 void contextMenuEvent(QGraphicsSceneContextMenuEvent * event)
override;
383 void writeToLogFile_(
const QString & text);
bool user_specified_out_dir_
Indicates if the output directory has been specified by the user already.
Definition: TOPPASScene.h:351
A container for all visual items of a TOPPAS workflow.
Definition: TOPPASScene.h:85
A more convenient string class.
Definition: String.h:57
QProcess * proc
The process.
Definition: TOPPASScene.h:105
bool changed_
Flag that indicates if the pipeline has been changed since the last save.
Definition: TOPPASScene.h:345
QList< TOPPASVertex * > VertexContainer
The container for vertices.
Definition: TOPPASScene.h:139
A dictionary mapping string keys to lists of TOPPASResource objects.
Definition: TOPPASResources.h:55
The base class of the different vertex classes.
Definition: TOPPASVertex.h:100
int threads_active_
currently running processes...
Definition: TOPPASScene.h:359
TOPPASVertex * potential_target_
The current potential target vertex of the hovering edge.
Definition: TOPPASScene.h:335
QString out_dir_
The directory where the output files will be written.
Definition: TOPPASScene.h:343
bool error_occured_
true if an error occurred during pipeline execution
Definition: TOPPASScene.h:349
A FakeProcess class.
Definition: TOPPASScene.h:59
ActionMode
The current action mode (creation of a new edge, or panning of the widget)
Definition: TOPPASScene.h:115
Main OpenMS namespace.
Definition: FeatureDeconvolution.h:46
QList< TOPPASEdge * > EdgeContainer
The container for edges.
Definition: TOPPASScene.h:133
An edge representing a data flow in TOPPAS.
Definition: TOPPASEdge.h:59
bool dry_run_
dry run mode (no tools are actually called)
Definition: TOPPASScene.h:357
Stores the information for a TOPP process.
Definition: TOPPASScene.h:93
TOPPASToolVertex * tv
The tool which is started (used to call its slots)
Definition: TOPPASScene.h:111
QStringList args
The arguments.
Definition: TOPPASScene.h:109
QList< TOPPProcess > topp_processes_queue_
The queue of pending TOPP processes.
Definition: TOPPASScene.h:353
updating made pipeline invalid
Definition: TOPPASScene.h:127
TOPPProcess(QProcess *p, const QString &cmd, const QStringList &arg, TOPPASToolVertex *const tool)
Constructor.
Definition: TOPPASScene.h:96
String file_name_
The file name of this pipeline.
Definition: TOPPASScene.h:337
int allowed_threads_
maximum number of allowed threads
Definition: TOPPASScene.h:363
virtual void start(const QString &program, const QStringList &arguments, OpenMode mode=ReadWrite)
VertexContainer::const_iterator ConstVertexIterator
A const iterator for vertices.
Definition: TOPPASScene.h:143
no updates required
Definition: TOPPASScene.h:125
RefreshStatus
Pipeline status after refreshParameters() was called.
Definition: TOPPASScene.h:123
TOPPASEdge * hover_edge_
The hovering edge which is currently being created.
Definition: TOPPASScene.h:333
A vertex representing an output file list.
Definition: TOPPASOutputFileListVertex.h:49
TOPPASToolVertex * resume_source_
last node where 'resume' was started
Definition: TOPPASScene.h:365
VertexContainer vertices_
The list of all vertices.
Definition: TOPPASScene.h:329
some parameters were updated, but pipeline is ok
Definition: TOPPASScene.h:126
bool running_
Indicates if a pipeline is currently running.
Definition: TOPPASScene.h:347
A special vertex that allows to merge several inputs.
Definition: TOPPASMergerVertex.h:58
VertexContainer::iterator VertexIterator
A mutable iterator for vertices.
Definition: TOPPASScene.h:141
Definition: TOPPASScene.h:117
QString command
The command.
Definition: TOPPASScene.h:107
EdgeContainer edges_
The list of all edges.
Definition: TOPPASScene.h:331
EdgeContainer::iterator EdgeIterator
A mutable iterator for edges.
Definition: TOPPASScene.h:135
bool gui_
Are we in a GUI or is the scene used by ExecutePipeline (at the command line)?
Definition: TOPPASScene.h:341
EdgeContainer::const_iterator ConstEdgeIterator
A const iterator for edges.
Definition: TOPPASScene.h:137
TOPPASScene * clipboard_
Stores the clipboard content when requested from TOPPASBase.
Definition: TOPPASScene.h:355
QString description_text_
description text
Definition: TOPPASScene.h:361
ActionMode action_mode_
The current action mode.
Definition: TOPPASScene.h:327
QString tmp_path_
The path for temporary files.
Definition: TOPPASScene.h:339