| OpenMS 2.5.0

Classes | Public Types | Public Slots | Signals | Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
TOPPASScene Class Reference
Visual » TOPPAS

A container for all visual items of a TOPPAS workflow. More...

`#include <OpenMS/VISUAL/TOPPASScene.h>`

Inheritance diagram for TOPPASScene:

## Classes

struct | TOPPProcess
| Stores the information for a TOPP process. More...

## Public Types

enum | ActionMode { AM_NEW_EDGE, AM_MOVE }
| The current action mode (creation of a new edge, or panning of the widget) More...
enum | RefreshStatus { ST_REFRESH_NOCHANGE, ST_REFRESH_CHANGED, ST_REFRESH_CHANGEINVALID, ST_REFRESH_REMAINSINVALID }
| Pipeline status after refreshParameters() was called. More...
typedef QList< TOPPASEdge * > | EdgeContainer
| The container for edges. More...
typedef EdgeContainer::iterator | EdgeIterator
| A mutable iterator for edges. More...
typedef EdgeContainer::const_iterator | ConstEdgeIterator
| A const iterator for edges. More...
typedef QList< TOPPASVertex * > | VertexContainer
| The container for vertices. More...
typedef VertexContainer::iterator | VertexIterator
| A mutable iterator for vertices. More...
typedef VertexContainer::const_iterator | ConstVertexIterator
| A const iterator for vertices. More...

## Public Slots

void | abortPipeline ()
| Terminates the currently running pipeline. More...
void | itemClicked ()
| Called when an item is clicked. More...
void | itemReleased ()
| Called when an item is released. More...
void | updateHoveringEdgePos (const QPointF &new_pos)
| Called when the position of the hovering edge changes. More...
void | addHoveringEdge (const QPointF &pos)
| Called when a new out edge is supposed to be created. More...
void | finishHoveringEdge ()
| Called when the new edge is being "released". More...
void | pipelineErrorSlot (const QString msg="")
| Called by vertices at which an error occurred during pipeline execution. More...
void | moveSelectedItems (qreal dx, qreal dy)
| Moves all selected items by dx, dy. More...
void | snapToGrid ()
| Makes all vertices snap to the grid. More...
void | setPipelineRunning (bool b=true)
void | changedParameter (const bool invalidates_running_pipeline)
| Invoked by TTV or other vertices if a parameter was edited. More...
void | changedOutputFolder ()
| Invoked by OutfilelistVertex of user changed the folder name. More...
void | processFinished ()
| Called by a finished QProcess to indicate that we are free to start a new one. More...
void | quitWithError ()
| dirty solution: when using ExecutePipeline this slot is called when the pipeline crashes. This will quit the app More...
Slots for printing log/error output when no GUI is available
void | logTOPPOutput (const QString &out)
| Writes the TOPP tool output to the logfile (and to stdout if no gui available) More...
void | logToolStarted ()
| Writes the "tool started" message to the logfile (and to stdout if no gui available) More...
void | logToolFinished ()
| Writes the "tool finished" message to the logfile (and to stdout if no gui available) More...
void | logToolFailed ()
| Writes the "tool failed" message to the logfile (and to stdout if no gui available) More...
void | logToolCrashed ()
| Writes the "tool crashed" message to the logfile (and to stdout if no gui available) More...
void | logOutputFileWritten (const String &file)
| Writes the "output file written" message to the logfile (and to stdout if no gui available) More...

## Signals

void | entirePipelineFinished ()
| Emitted when the entire pipeline execution is finished. More...
void | pipelineExecutionFailed ()
| Emitted when the pipeline execution has failed. More...
void | saveMe ()
| Emitted when the pipeline should be saved (showing a save as file dialog and so on) More...
void | terminateCurrentPipeline ()
| Kills all connected TOPP processes. More...
void | selectionCopied (TOPPASScene *ts)
| Emitted when a selection is copied to the clipboard. More...
void | requestClipboardContent ()
| Requests the clipboard content from TOPPASBase, will be stored in clipboard_. More...
void | mainWindowNeedsUpdate ()
| Emitted when the main window needs to be updated. More...
void | openInTOPPView (QStringList all_files)
| Emitted when files are triggered for opening in TOPPView. More...
void | dryRunFinished (int, QProcess::ExitStatus)
| Emitted when in dry run mode and asked to run a TOPP tool (to fake success) More...
void | messageReady (const QString &msg)
| Emitted when there is an important message that needs to be printed in TOPPAS. More...

## Public Member Functions

| TOPPASScene (QObject *parent, const QString &tmp_path, bool gui=true)
| Constructor. More...
| ~TOPPASScene () override
| Destructor. More...
void | addVertex (TOPPASVertex *tv)
| Adds a vertex. More...
void | addEdge (TOPPASEdge *te)
| Adds an edge. More...
void | setActionMode (ActionMode mode)
| Sets the action mode. More...
ActionMode | getActionMode ()
| Returns the action mode. More...
VertexIterator | verticesBegin ()
| Returns begin() iterator of all vertices. More...
VertexIterator | verticesEnd ()
| Returns end() iterator of all vertices. More...
EdgeIterator | edgesBegin ()
| Returns begin() iterator of all edges. More...
EdgeIterator | edgesEnd ()
| Returns end() iterator of all edges. More...
void | copySelected ()
| Copies all currently selected edges and vertices. More...
void | paste (QPointF pos=QPointF())
| Pastes the copied items. More...
void | removeSelected ()
| Removes all currently selected edges and vertices. More...
void | unselectAll ()
| Unselects all items. More...
void | updateEdgeColors ()
| Updates all edge colors (color of green and yellow edges can change when edges are added/removed) More...
void | resetDownstream (TOPPASVertex *vertex)
| Called when user fires "Resume" action, to clear downstream nodes from previous results. More...
void | runPipeline ()
| Runs the pipeline. More...
bool | store (const String &file)
| Stores the pipeline to `file`, returns true on success. More...
void | load (const String &file)
| Loads the pipeline from `file`. More...
void | include (TOPPASScene *new_scene, QPointF pos=QPointF())
| Includes the pipeline `scene`. More...
const String & | getSaveFileName ()
| Returns the file name. More...
void | setSaveFileName (const String &name)
| Sets the file name. More...
void | topoSort (bool resort_all=true)
| Performs a topological sort of all vertices. More...
const QString & | getOutDir () const
| Returns the name of the directory for output files. More...
const QString & | getTempDir () const
| Returns the name of the directory for temporary files. More...
void | setOutDir (const QString &dir)
| Sets the name of the directory for output files. More...
bool | saveIfChanged ()
| Saves the pipeline if it has been changed since the last save. More...
void | setChanged (bool b)
| Sets the changed flag. More...
bool | isPipelineRunning ()
| Returns if a pipeline is currently running. More...
bool | askForOutputDir (bool always_ask=true)
| Shows a dialog that allows to specify the output directory. If `always_ask` == false, the dialog won't be shown if a directory has been set, already. More...
void | enqueueProcess (const TOPPProcess &process)
| Enqueues the process, it will be run when the currently pending processes have finished. More...
void | runNextProcess ()
| Runs the next process in the queue, if any. More...
void | resetProcessesQueue ()
| Resets the processes queue. More...
void | setClipboard (TOPPASScene *clipboard)
| Sets the clipboard content. More...
void | connectVertexSignals (TOPPASVertex *tv)
| Connects the signals to slots. More...
void | connectToolVertexSignals (TOPPASToolVertex *ttv)
| Connects the signals to slots. More...
void | connectOutputVertexSignals (TOPPASOutputFileListVertex *oflv)
| Connects the signals to slots. More...
void | connectMergerVertexSignals (TOPPASMergerVertex *tmv)
| Connects the signals to slots. More...
void | connectEdgeSignals (TOPPASEdge *e)
| Connects the signals to slots. More...
void | loadResources (const TOPPASResources &resources)
| Loads the `resources` into the input nodes of this workflow. More...
void | createResources (TOPPASResources &resources)
| Create `resources` from the current workflow. More...
bool | wasChanged ()
| Returns whether the workflow has been changed since the latest "save". More...
RefreshStatus | refreshParameters ()
| Refreshes the parameters of the TOPP tools in this workflow. More...
bool | isGUIMode () const
| is TOPPASScene run in GUI or non-GUI (ExecutePipeline) mode, i.e. are MessageBoxes allowed? More...
bool | isDryRun () const
| determine dry run status (are tools actually called?) More...
QString | getDescription () const
| workflow description (to be displayed in TOPPAS window) More...
void | setDescription (const QString &desc)
| when description is updated by user, use this to update the description for later storage in file More...
void | setAllowedThreads (int num_threads)
| sets the maximum number of jobs More...
TOPPASEdge * | getHoveringEdge ()
| returns the hovering edge More...
void | checkIfWeAreDone ()
| Checks whether all output vertices are finished, and if yes, emits entirePipelineFinished() (called by finished output vertices) More...

## Protected Member Functions

TOPPASVertex * | getVertexAt_ (const QPointF &pos)
| Returns the vertex in the foreground at position `pos` , if existent, otherwise 0. More...
bool | isEdgeAllowed_ (TOPPASVertex *u, TOPPASVertex *v)
| Returns whether an edge between node u and v would be allowed. More...
bool | dfsVisit_ (TOPPASVertex *vertex)
| DFS helper method. Returns true, if a back edge has been discovered. More...
bool | sanityCheck_ (bool allowUserOverride)
void | writeToLogFile_ (const QString &text)
| Writes the `text` to the logfile. More...
reimplemented Qt events
void | contextMenuEvent (QGraphicsSceneContextMenuEvent *event) override

## Protected Attributes

ActionMode | action_mode_
| The current action mode. More...
VertexContainer | vertices_
| The list of all vertices. More...
EdgeContainer | edges_
| The list of all edges. More...
TOPPASEdge * | hover_edge_
| The hovering edge which is currently being created. More...
TOPPASVertex * | potential_target_
| The current potential target vertex of the hovering edge. More...
String | file_name_
| The file name of this pipeline. More...
QString | tmp_path_
| The path for temporary files. More...
bool | gui_
| Are we in a GUI or is the scene used by ExecutePipeline (at the command line)? More...
QString | out_dir_
| The directory where the output files will be written. More...
bool | changed_
| Flag that indicates if the pipeline has been changed since the last save. More...
bool | running_
| Indicates if a pipeline is currently running. More...
bool | error_occured_
| true if an error occurred during pipeline execution More...
bool | user_specified_out_dir_
| Indicates if the output directory has been specified by the user already. More...
QList< TOPPProcess > | topp_processes_queue_
| The queue of pending TOPP processes. More...
TOPPASScene * | clipboard_
| Stores the clipboard content when requested from TOPPASBase. More...
bool | dry_run_
| dry run mode (no tools are actually called) More...
int | threads_active_
| currently running processes... More...
QString | description_text_
| description text More...
int | allowed_threads_
| maximum number of allowed threads More...
TOPPASToolVertex * | resume_source_
| last node where 'resume' was started More...

## Detailed Description

A container for all visual items of a TOPPAS workflow.

TOPPASScene is a subclass of QGraphicsScene and acts as a container for all visual items (i.e. all vertices and edges). It is visualized by a TOPPASWidget (a subclass of QGraphicsView). This class also provides large parts of the functionality of TOPPAS, e.g., the methods for loading, saving, running, and aborting pipelines are located here.

TOPPASScene can also be used without a visualizing TOPPASWidget (i.e., without a gui) which can be indicated via the constructor. In this case, the signals for log message output are connected to standard out. This is utilized for the ExecutePipeline tool.

Temporary files of the pipeline are stored in the member tmp_path_. Update it when loading a pipeline which has tmp data from an old run. TOPPASToolVertex will ask its parent scene() whenever it wants to know the tmp directory.

## Member Typedef Documentation

## ◆ ConstEdgeIterator

typedef EdgeContainer::const_iterator ConstEdgeIterator

A const iterator for edges.

## ◆ ConstVertexIterator

typedef VertexContainer::const_iterator ConstVertexIterator

A const iterator for vertices.

## ◆ EdgeContainer

typedef QList<TOPPASEdge *> EdgeContainer

The container for edges.

## ◆ EdgeIterator

typedef EdgeContainer::iterator EdgeIterator

A mutable iterator for edges.

## ◆ VertexContainer

typedef QList<TOPPASVertex *> VertexContainer

The container for vertices.

## ◆ VertexIterator

typedef VertexContainer::iterator VertexIterator

A mutable iterator for vertices.

## Member Enumeration Documentation

## ◆ ActionMode

enum ActionMode

The current action mode (creation of a new edge, or panning of the widget)

Enumerator
AM_NEW_EDGE |
AM_MOVE |

## ◆ RefreshStatus

enum RefreshStatus

Pipeline status after refreshParameters() was called.

Enumerator
ST_REFRESH_NOCHANGE | no updates required
ST_REFRESH_CHANGED | some parameters were updated, but pipeline is ok
ST_REFRESH_CHANGEINVALID | updating made pipeline invalid
ST_REFRESH_REMAINSINVALID | pipeline was not valid before and is invalid afterwards

## Constructor & Destructor Documentation

## ◆ TOPPASScene()

TOPPASScene | ( | QObject * | parent,
|  | const QString & | tmp_path,
|  | bool | gui = `true`
| ) |  |

Constructor.

## ◆ ~TOPPASScene()

~TOPPASScene | ( |  | ) |

override

Destructor.

## Member Function Documentation

## ◆ abortPipeline

void abortPipeline | ( |  | ) |

slot

Terminates the currently running pipeline.

Referenced by TOPPASBase::abortPipeline().

## ◆ addEdge()

void addEdge | ( | TOPPASEdge * | te | ) |

Adds an edge.

## ◆ addHoveringEdge

void addHoveringEdge | ( | const QPointF & | pos | ) |

slot

Called when a new out edge is supposed to be created.

## ◆ addVertex()

void addVertex | ( | TOPPASVertex * | tv | ) |

Adds a vertex.

Referenced by TOPPASBase::insertNewVertex_().

## ◆ askForOutputDir()

bool askForOutputDir | ( | bool | always_ask = `true` | ) |

Shows a dialog that allows to specify the output directory. If `always_ask` == false, the dialog won't be shown if a directory has been set, already.

## ◆ changedOutputFolder

void changedOutputFolder | ( |  | ) |

slot

Invoked by OutfilelistVertex of user changed the folder name.

## ◆ changedParameter

void changedParameter | ( | const bool | invalidates_running_pipeline | ) |

slot

Invoked by TTV or other vertices if a parameter was edited.

## ◆ checkIfWeAreDone()

void checkIfWeAreDone | ( |  | ) |

Checks whether all output vertices are finished, and if yes, emits entirePipelineFinished() (called by finished output vertices)

## ◆ connectEdgeSignals()

void connectEdgeSignals | ( | TOPPASEdge * | e | ) |

Connects the signals to slots.

## ◆ connectMergerVertexSignals()

void connectMergerVertexSignals | ( | TOPPASMergerVertex * | tmv | ) |

Connects the signals to slots.

## ◆ connectOutputVertexSignals()

void connectOutputVertexSignals | ( | TOPPASOutputFileListVertex * | oflv | ) |

Connects the signals to slots.

Referenced by TOPPASBase::insertNewVertex_().

## ◆ connectToolVertexSignals()

void connectToolVertexSignals | ( | TOPPASToolVertex * | ttv | ) |

Connects the signals to slots.

Referenced by TOPPASBase::insertNewVertex_().

## ◆ connectVertexSignals()

void connectVertexSignals | ( | TOPPASVertex * | tv | ) |

Connects the signals to slots.

Referenced by TOPPASBase::insertNewVertex_().

## ◆ contextMenuEvent()

void contextMenuEvent | ( | QGraphicsSceneContextMenuEvent * | event | ) |

override protected

## ◆ copySelected()

void copySelected | ( |  | ) |

Copies all currently selected edges and vertices.

## ◆ createResources()

void createResources | ( | TOPPASResources & | resources | ) |

Create `resources` from the current workflow.

Referenced by TOPPASBase::savePipelineResourceFile().

## ◆ dfsVisit_()

bool dfsVisit_ | ( | TOPPASVertex * | vertex | ) |

protected

DFS helper method. Returns true, if a back edge has been discovered.

## ◆ dryRunFinished

void dryRunFinished | ( | int | ,
|  | QProcess::ExitStatus |
| ) |  |

signal

Emitted when in dry run mode and asked to run a TOPP tool (to fake success)

## ◆ edgesBegin()

EdgeIterator edgesBegin | ( |  | ) |

Returns begin() iterator of all edges.

## ◆ edgesEnd()

EdgeIterator edgesEnd | ( |  | ) |

Returns end() iterator of all edges.

## ◆ enqueueProcess()

void enqueueProcess | ( | const TOPPProcess & | process | ) |

Enqueues the process, it will be run when the currently pending processes have finished.

## ◆ entirePipelineFinished

void entirePipelineFinished | ( |  | ) |

signal

Emitted when the entire pipeline execution is finished.

## ◆ finishHoveringEdge

void finishHoveringEdge | ( |  | ) |

slot

Called when the new edge is being "released".

## ◆ getActionMode()

ActionMode getActionMode | ( |  | ) |

Returns the action mode.

## ◆ getDescription()

QString getDescription | ( |  | ) | const

workflow description (to be displayed in TOPPAS window)

Referenced by TOPPASBase::focusByTab(), and TOPPASBase::showAsWindow_().

## ◆ getHoveringEdge()

TOPPASEdge* getHoveringEdge | ( |  | ) |

returns the hovering edge

## ◆ getOutDir()

const QString& getOutDir | ( |  | ) | const

Returns the name of the directory for output files.

## ◆ getSaveFileName()

const String& getSaveFileName | ( |  | ) |

Returns the file name.

Referenced by TOPPASBase::savePipeline().

## ◆ getTempDir()

const QString& getTempDir | ( |  | ) | const

Returns the name of the directory for temporary files.

## ◆ getVertexAt_()

TOPPASVertex* getVertexAt_ | ( | const QPointF & | pos | ) |

protected

Returns the vertex in the foreground at position `pos` , if existent, otherwise 0.

## ◆ include()

void include | ( | TOPPASScene * | new_scene,
|  | QPointF | pos = `QPointF()`
| ) |  |

Includes the pipeline `scene`.

Referenced by TOPPASBase::addTOPPASFile().

## ◆ isDryRun()

bool isDryRun | ( |  | ) | const

determine dry run status (are tools actually called?)

## ◆ isEdgeAllowed_()

bool isEdgeAllowed_ | ( | TOPPASVertex * | u,
|  | TOPPASVertex * | v
| ) |  |

protected

Returns whether an edge between node u and v would be allowed.

## ◆ isGUIMode()

bool isGUIMode | ( |  | ) | const

is TOPPASScene run in GUI or non-GUI (ExecutePipeline) mode, i.e. are MessageBoxes allowed?

## ◆ isPipelineRunning()

bool isPipelineRunning | ( |  | ) |

Returns if a pipeline is currently running.

Referenced by TOPPASBase::updateMenu().

## ◆ itemClicked

void itemClicked | ( |  | ) |

slot

Called when an item is clicked.

## ◆ itemReleased

void itemReleased | ( |  | ) |

slot

Called when an item is released.

## ◆ load()

void load | ( | const String & | file | ) |

Loads the pipeline from `file`.

Referenced by TOPPASBase::addTOPPASFile().

## ◆ loadResources()

void loadResources | ( | const TOPPASResources & | resources | ) |

Loads the `resources` into the input nodes of this workflow.

Referenced by TOPPASBase::loadPipelineResourceFile().

## ◆ logOutputFileWritten

void logOutputFileWritten | ( | const String & | file | ) |

slot

Writes the "output file written" message to the logfile (and to stdout if no gui available)

## ◆ logToolCrashed

void logToolCrashed | ( |  | ) |

slot

Writes the "tool crashed" message to the logfile (and to stdout if no gui available)

## ◆ logToolFailed

void logToolFailed | ( |  | ) |

slot

Writes the "tool failed" message to the logfile (and to stdout if no gui available)

## ◆ logToolFinished

void logToolFinished | ( |  | ) |

slot

Writes the "tool finished" message to the logfile (and to stdout if no gui available)

## ◆ logToolStarted

void logToolStarted | ( |  | ) |

slot

Writes the "tool started" message to the logfile (and to stdout if no gui available)

## ◆ logTOPPOutput

void logTOPPOutput | ( | const QString & | out | ) |

slot

Writes the TOPP tool output to the logfile (and to stdout if no gui available)

## ◆ mainWindowNeedsUpdate

void mainWindowNeedsUpdate | ( |  | ) |

signal

Emitted when the main window needs to be updated.

## ◆ messageReady

void messageReady | ( | const QString & | msg | ) |

signal

Emitted when there is an important message that needs to be printed in TOPPAS.

## ◆ moveSelectedItems

void moveSelectedItems | ( | qreal | dx,
|  | qreal | dy
| ) |  |

slot

Moves all selected items by dx, dy.

## ◆ openInTOPPView

void openInTOPPView | ( | QStringList | all_files | ) |

signal

Emitted when files are triggered for opening in TOPPView.

## ◆ paste()

void paste | ( | QPointF | pos = `QPointF()` | ) |

Pastes the copied items.

## ◆ pipelineErrorSlot

void pipelineErrorSlot | ( | const QString | msg = `""` | ) |

slot

Called by vertices at which an error occurred during pipeline execution.

## ◆ pipelineExecutionFailed

void pipelineExecutionFailed | ( |  | ) |

signal

Emitted when the pipeline execution has failed.

## ◆ processFinished

void processFinished | ( |  | ) |

slot

Called by a finished QProcess to indicate that we are free to start a new one.

## ◆ quitWithError

void quitWithError | ( |  | ) |

slot

dirty solution: when using ExecutePipeline this slot is called when the pipeline crashes. This will quit the app

## ◆ refreshParameters()

RefreshStatus refreshParameters | ( |  | ) |

Refreshes the parameters of the TOPP tools in this workflow.

Referenced by TOPPASBase::refreshPipelineParameters().

## ◆ removeSelected()

void removeSelected | ( |  | ) |

Removes all currently selected edges and vertices.

## ◆ requestClipboardContent

void requestClipboardContent | ( |  | ) |

signal

Requests the clipboard content from TOPPASBase, will be stored in clipboard_.

## ◆ resetDownstream()

void resetDownstream | ( | TOPPASVertex * | vertex | ) |

Called when user fires "Resume" action, to clear downstream nodes from previous results.

## ◆ resetProcessesQueue()

void resetProcessesQueue | ( |  | ) |

Resets the processes queue.

## ◆ runNextProcess()

void runNextProcess | ( |  | ) |

Runs the next process in the queue, if any.

## ◆ runPipeline()

void runPipeline | ( |  | ) |

Runs the pipeline.

Referenced by TOPPASBase::keyPressEvent(), and TOPPASBase::runPipeline().

## ◆ sanityCheck_()

bool sanityCheck_ | ( | bool | allowUserOverride | ) |

protected

Performs a sanity check of the pipeline and notifies user when it finds something strange. Returns if pipeline OK. if 'allowUserOverride' is true, some dialogs are shown which allow the user to ignore some warnings (e.g. disconnected nodes)

## ◆ saveIfChanged()

bool saveIfChanged | ( |  | ) |

Saves the pipeline if it has been changed since the last save.

Referenced by TOPPASBase::closeEvent().

## ◆ saveMe

void saveMe | ( |  | ) |

signal

Emitted when the pipeline should be saved (showing a save as file dialog and so on)

## ◆ selectionCopied

void selectionCopied | ( | TOPPASScene * | ts | ) |

signal

Emitted when a selection is copied to the clipboard.

## ◆ setActionMode()

void setActionMode | ( | ActionMode | mode | ) |

Sets the action mode.

## ◆ setAllowedThreads()

void setAllowedThreads | ( | int | num_threads | ) |

sets the maximum number of jobs

## ◆ setChanged()

void setChanged | ( | bool | b | ) |

Sets the changed flag.

Referenced by TOPPASBase::descriptionUpdated_(), TOPPASBase::insertNewVertex_(), and TOPPASBase::refreshPipelineParameters().

## ◆ setClipboard()

void setClipboard | ( | TOPPASScene * | clipboard | ) |

Sets the clipboard content.

Referenced by TOPPASBase::sendClipboardContent().

## ◆ setDescription()

void setDescription | ( | const QString & | desc | ) |

when description is updated by user, use this to update the description for later storage in file

Referenced by TOPPASBase::descriptionUpdated_(), and TOPPASBase::exportAsImage().

## ◆ setOutDir()

void setOutDir | ( | const QString & | dir | ) |

Sets the name of the directory for output files.

## ◆ setPipelineRunning

void setPipelineRunning | ( | bool | b = `true` | ) |

slot

Sets if the running_ flag to true, or false If set to false, the application emits an 'alert' sign, demanding user attention (to let him know it finished)

## ◆ setSaveFileName()

void setSaveFileName | ( | const String & | name | ) |

Sets the file name.

## ◆ snapToGrid

void snapToGrid | ( |  | ) |

slot

Makes all vertices snap to the grid.

## ◆ store()

bool store | ( | const String & | file | ) |

Stores the pipeline to `file`, returns true on success.

Referenced by TOPPASBase::savePipeline(), and TOPPASBase::savePipelineAs().

## ◆ terminateCurrentPipeline

void terminateCurrentPipeline | ( |  | ) |

signal

Kills all connected TOPP processes.

## ◆ topoSort()

void topoSort | ( | bool | resort_all = `true` | ) |

Performs a topological sort of all vertices.

Referenced by TOPPASBase::insertNewVertex_().

## ◆ unselectAll()

void unselectAll | ( |  | ) |

Unselects all items.

## ◆ updateEdgeColors()

void updateEdgeColors | ( |  | ) |

Updates all edge colors (color of green and yellow edges can change when edges are added/removed)

Referenced by TOPPASBase::refreshPipelineParameters().

## ◆ updateHoveringEdgePos

void updateHoveringEdgePos | ( | const QPointF & | new_pos | ) |

slot

Called when the position of the hovering edge changes.

## ◆ verticesBegin()

VertexIterator verticesBegin | ( |  | ) |

Returns begin() iterator of all vertices.

Referenced by TOPPASBase::addTOPPASFile().

## ◆ verticesEnd()

VertexIterator verticesEnd | ( |  | ) |

Returns end() iterator of all vertices.

Referenced by TOPPASBase::addTOPPASFile().

## ◆ wasChanged()

bool wasChanged | ( |  | ) |

Returns whether the workflow has been changed since the latest "save".

Referenced by TOPPASBase::addTOPPASFile(), and TOPPASBase::updateMenu().

## ◆ writeToLogFile_()

void writeToLogFile_ | ( | const QString & | text | ) |

protected

Writes the `text` to the logfile.

## Member Data Documentation

## ◆ action_mode_

ActionMode action_mode_

protected

The current action mode.

## ◆ allowed_threads_

int allowed_threads_

protected

maximum number of allowed threads

## ◆ changed_

bool changed_

protected

Flag that indicates if the pipeline has been changed since the last save.

## ◆ clipboard_

TOPPASScene* clipboard_

protected

Stores the clipboard content when requested from TOPPASBase.

## ◆ description_text_

QString description_text_

protected

description text

## ◆ dry_run_

bool dry_run_

protected

dry run mode (no tools are actually called)

## ◆ edges_

EdgeContainer edges_

protected

The list of all edges.

## ◆ error_occured_

bool error_occured_

protected

true if an error occurred during pipeline execution

## ◆ file_name_

String file_name_

protected

The file name of this pipeline.

## ◆ gui_

bool gui_

protected

Are we in a GUI or is the scene used by ExecutePipeline (at the command line)?

## ◆ hover_edge_

TOPPASEdge* hover_edge_

protected

The hovering edge which is currently being created.

## ◆ out_dir_

QString out_dir_

protected

The directory where the output files will be written.

## ◆ potential_target_

TOPPASVertex* potential_target_

protected

The current potential target vertex of the hovering edge.

## ◆ resume_source_

TOPPASToolVertex* resume_source_

protected

last node where 'resume' was started

## ◆ running_

bool running_

protected

Indicates if a pipeline is currently running.

## ◆ threads_active_

int threads_active_

protected

currently running processes...

## ◆ tmp_path_

QString tmp_path_

protected

The path for temporary files.

## ◆ topp_processes_queue_

QList<TOPPProcess> topp_processes_queue_

protected

The queue of pending TOPP processes.

## ◆ user_specified_out_dir_

bool user_specified_out_dir_

protected

Indicates if the output directory has been specified by the user already.

## ◆ vertices_

VertexContainer vertices_

protected

The list of all vertices.