35 #ifndef OPENMS_VISUAL_TOPPASVERTEX_H    36 #define OPENMS_VISUAL_TOPPASVERTEX_H    45 #define __DEBUG_BEGIN_METHOD__ \    47     for (int dbg_indnt_cntr = 0; dbg_indnt_cntr < global_debug_indent_; ++dbg_indnt_cntr)   \    51     std::cout << "BEGIN [" << topo_nr_ << "] " << OPENMS_PRETTY_FUNCTION << std::endl;             \    52     ++global_debug_indent_;                                                                                                                             \    55 #define __DEBUG_END_METHOD__ \    57     --global_debug_indent_;                                                                                                                             \    58     if (global_debug_indent_ < 0) global_debug_indent_ = 0;                                                             \    59     for (int dbg_indnt_cntr = 0; dbg_indnt_cntr < global_debug_indent_; ++dbg_indnt_cntr)   \    63     std::cout << "END [" << topo_nr_ << "] " << OPENMS_PRETTY_FUNCTION << std::endl;                   \    66 #define __DEBUG_BEGIN_METHOD__ {}    67 #define __DEBUG_END_METHOD__ {}    73 #include <OpenMS/VISUAL/OpenMS_GUIConfig.h>    78 #include <QtGui/QPainter>    79 #include <QtGui/QPainterPath>    80 #include <QtGui/QGraphicsSceneMouseEvent>    81 #include <QtGui/QGraphicsSceneContextMenuEvent>    82 #include <QtGui/QGraphicsItem>    83 #include <QtCore/QProcess>    84 #include <QtGui/QMenu>   127     const QStringList& 
get() 
const;
   128     const QString& operator[](
int i) 
const;
   132     void set(
const QStringList& filenames);
   133     void set(
const QString& filename, 
int i);
   134     void push_back(
const QString& filename);
   135     void append(
const QStringList& filenames);
   145     void check_(
const QString& filename);
   188       TV_UNFINISHED_INBRANCH 
   203     bool buildRoundPackages(RoundPackages & pkg, 
String & error_msg);
   206     bool isUpstreamFinished() 
const;
   209     virtual QRectF boundingRect() 
const = 0;
   211     virtual QPainterPath shape() 
const = 0;
   213     virtual void paint(QPainter * painter, 
const QStyleOptionGraphicsItem * option, 
QWidget * widget) = 0;
   215     ConstEdgeIterator outEdgesBegin() 
const;
   217     ConstEdgeIterator outEdgesEnd() 
const;
   219     ConstEdgeIterator inEdgesBegin() 
const;
   221     ConstEdgeIterator inEdgesEnd() 
const;
   223     Size incomingEdgesCount();
   225     Size outgoingEdgesCount();
   245     bool isTopoSortMarked();
   247     void setTopoSortMarked(
bool b);
   251     virtual void setTopoNr(
UInt nr);
   254     virtual void reset(
bool reset_all_files = 
false);
   256     virtual void markUnreachable();
   260     bool isFinished() 
const;
   265     virtual bool invertRecylingMode();
   267     bool isRecyclingEnabled() 
const;
   269     void setRecycling(
const bool is_enabled);
   272     virtual String getName() 
const = 0;
   279     QStringList getFileNames(
int param_index, 
int round) 
const;
   282     QStringList getFileNames() 
const;
   285     const RoundPackages & getOutputFiles() 
const;
   289     bool allInputsReady();
   295     virtual void inEdgeHasChanged();
   297     virtual void outEdgeHasChanged();
   306     void hoveringEdgePosChanged(
const QPointF & new_pos);
   308     void newHoveringEdge(
const QPointF & pos);
   310     void finishHoveringEdge();
   312     void somethingHasChanged();
   314     void itemDragged(qreal dx, qreal dy);
   317     void parameterChanged(
const bool invalidates_running_pipeline);
   355     static int global_debug_indent_;
   360     void mouseReleaseEvent(QGraphicsSceneMouseEvent * e);
   361     void mousePressEvent(QGraphicsSceneMouseEvent * e);
   362     void mouseDoubleClickEvent(QGraphicsSceneMouseEvent * e);
   363     void mouseMoveEvent(QGraphicsSceneMouseEvent * e);
   364     void contextMenuEvent(QGraphicsSceneContextMenuEvent * event);
   368     virtual void moveNewEdgeTo_(
const QPointF & pos);
   380       for (
int i = 0; i < global_debug_indent_; ++i)
   384       std::cout << 
"[" << topo_nr_ << 
"] " << message << std::endl;
 TOPPASEdge * edge
Definition: TOPPASVertex.h:158
 
Definition: TOPPASVertex.h:119
 
TOPPASFilenames filenames
Definition: TOPPASVertex.h:157
 
bool edge_being_created_
Indicates whether a new out edge is currently being created. 
Definition: TOPPASVertex.h:326
 
QColor pen_color_
The color of the pen. 
Definition: TOPPASVertex.h:328
 
DFS_COLOR
The color of a vertex during depth-first search. 
Definition: TOPPASVertex.h:176
 
RoundPackage::iterator RoundPackageIt
Definition: TOPPASVertex.h:170
 
A more convenient string class. 
Definition: String.h:57
 
RoundPackage::const_iterator RoundPackageConstIt
Definition: TOPPASVertex.h:169
 
bool finished_
Stores whether this node has already been processed during the current pipeline execution. 
Definition: TOPPASVertex.h:346
 
Definition: TOPPASVertex.h:187
 
void debugOut_(const String &) const
Displays the debug output message, if TOPPAS_DEBUG is defined. 
Definition: TOPPASVertex.h:373
 
The base class of the different vertex classes. 
Definition: TOPPASVertex.h:101
 
std::map< Int, VertexRoundPackage > RoundPackage
Definition: TOPPASVertex.h:168
 
Info for one edge and round, to be passed to next node. 
Definition: TOPPASVertex.h:149
 
unsigned int UInt
Unsigned integer type. 
Definition: Types.h:95
 
bool allow_output_recycling_
shall subsequent tools be allowed to recycle the output of this node to match the number of rounds im...
Definition: TOPPASVertex.h:350
 
TOPPASVertex * dfs_parent_
The DFS parent of this node. 
Definition: TOPPASVertex.h:334
 
DFS_COLOR dfs_color_
The DFS color of this node. 
Definition: TOPPASVertex.h:332
 
Main OpenMS namespace. 
Definition: FeatureDeconvolution.h:47
 
An edge representing a data flow in TOPPAS. 
Definition: TOPPASEdge.h:60
 
SUBSTREESTATUS
The color of a vertex during depth-first search. 
Definition: TOPPASVertex.h:184
 
T round(T x)
Rounds the value. 
Definition: MathFunctions.h:138
 
EdgeContainer::iterator EdgeIterator
A mutable iterator for in/out edges. 
Definition: TOPPASVertex.h:113
 
EdgeContainer out_edges_
The list of outgoing edges. 
Definition: TOPPASVertex.h:324
 
int round_total_
number of rounds this node will do ('Merge All' nodes will pass everything, thus do only one round) ...
Definition: TOPPASVertex.h:342
 
Definition: TOPPASVertex.h:178
 
Definition: TOPPASVertex.h:186
 
bool reachable_
Indicates whether this node is reachable (i.e. there is an input node somewhere further upstream) ...
Definition: TOPPASVertex.h:348
 
std::vector< RoundPackage > RoundPackages
all information a node needs to process all rounds 
Definition: TOPPASVertex.h:173
 
QStringList filenames_
Definition: TOPPASVertex.h:146
 
EdgeContainer in_edges_
The list of incoming edges. 
Definition: TOPPASVertex.h:322
 
RoundPackages output_files_
Stores the current output file names for each output parameter. 
Definition: TOPPASVertex.h:340
 
TOPPASFilenames()
Definition: TOPPASVertex.h:122
 
QList< TOPPASEdge * > EdgeContainer
The container for in/out edges. 
Definition: TOPPASVertex.h:111
 
Definition: TOPPASVertex.h:179
 
size_t Size
Size type e.g. used as variable which can hold result of size() 
Definition: Types.h:128
 
VertexRoundPackage()
Definition: TOPPASVertex.h:151
 
QColor brush_color_
The color of the brush. 
Definition: TOPPASVertex.h:330
 
EdgeContainer::const_iterator ConstEdgeIterator
A const iterator for in/out edges. 
Definition: TOPPASVertex.h:115
 
bool topo_sort_marked_
"marked" flag for topological sort 
Definition: TOPPASVertex.h:336
 
UInt topo_nr_
The number in a topological sort of the entire graph. 
Definition: TOPPASVertex.h:338
 
int round_counter_
currently finished number of rounds (TODO: do we need that?) 
Definition: TOPPASVertex.h:344