18 #define __DEBUG_BEGIN_METHOD__ \ 
   20     for (int dbg_indnt_cntr = 0; dbg_indnt_cntr < global_debug_indent_; ++dbg_indnt_cntr)   \ 
   24     std::cout << "BEGIN [" << topo_nr_ << "] " << OPENMS_PRETTY_FUNCTION << std::endl;             \
 
   25     ++global_debug_indent_;                                                                                                                             \
 
   28 #define __DEBUG_END_METHOD__ \ 
   30     --global_debug_indent_;                                                                                                                             \ 
   31     if (global_debug_indent_ < 0) global_debug_indent_ = 0;                                                             \ 
   32     for (int dbg_indnt_cntr = 0; dbg_indnt_cntr < global_debug_indent_; ++dbg_indnt_cntr)   \ 
   36     std::cout << "END [" << topo_nr_ << "] " << OPENMS_PRETTY_FUNCTION << std::endl;                   \
 
   39 #define __DEBUG_BEGIN_METHOD__ {} 
   40 #define __DEBUG_END_METHOD__ {} 
   46 #include <OpenMS/VISUAL/OpenMS_GUIConfig.h> 
   51 #include <QPainterPath> 
   52 #include <QtWidgets/QGraphicsSceneMouseEvent> 
   53 #include <QtWidgets/QGraphicsSceneContextMenuEvent> 
   54 #include <QtWidgets/QGraphicsItem> 
   55 #include <QtWidgets/QMenu> 
   57 #include <QtCore/QProcess> 
   58 #include <QtCore/QStringList> 
   99       const QStringList& 
get() 
const;
 
  104       void set(
const QStringList& filenames);
 
  105       void set(
const QString& filename, 
int i);
 
  107       void append(
const QStringList& filenames);
 
  154       TV_UNFINISHED_INBRANCH 
 
  167     virtual std::unique_ptr<TOPPASVertex> 
clone() 
const = 0;
 
  170     void paint(QPainter* painter, 
const QStyleOptionGraphicsItem* , 
QWidget* , 
bool round_shape = 
true);
 
  211     bool isTopoSortMarked() const;
 
  213     void setTopoSortMarked(
bool b);
 
  217     virtual 
void setTopoNr(
UInt nr);
 
  220     virtual 
void reset(
bool reset_all_files = false);
 
  222     virtual 
void markUnreachable();
 
  224     bool isReachable() const;
 
  226     bool isFinished() const;
 
  231     virtual 
bool invertRecylingMode();
 
  233     bool isRecyclingEnabled() const;
 
  235     void setRecycling(const 
bool is_enabled);
 
  245     QStringList getFileNames(
int param_index, 
int round) const;
 
  248     QStringList getFileNames() const;
 
  255     bool allInputsReady() const;
 
  261     virtual 
void inEdgeHasChanged();
 
  263     virtual 
void outEdgeHasChanged();
 
  272     void hoveringEdgePosChanged(const QPointF & new_pos);
 
  274     void newHoveringEdge(const QPointF & pos);
 
  276     void finishHoveringEdge();
 
  278     void somethingHasChanged();
 
  280     void itemDragged(qreal dx, qreal dy);
 
  283     void parameterChanged(const 
bool invalidates_running_pipeline);
 
  292     bool edge_being_created_{
false};
 
  294     QColor pen_color_{Qt::black};
 
  296     QColor brush_color_{ Qt::lightGray};
 
  300     bool topo_sort_marked_{
false};
 
  306     int round_total_{-1};
 
  308     int round_counter_{0};
 
  310     bool finished_{
false};
 
  312     bool reachable_{
true};
 
  314     bool allow_output_recycling_{
false};
 
  319     static int global_debug_indent_;
 
  344       for (
int i = 0; i < global_debug_indent_; ++i)
 
  348       std::cout << 
"[" << topo_nr_ << 
"] " << message << std::endl;
 
A more convenient string class.
Definition: String.h:34
 
An edge representing a data flow in TOPPAS.
Definition: TOPPASEdge.h:36
 
Definition: TOPPASVertex.h:94
 
TOPPASFilenames(const QStringList &filenames)
 
QStringList getSuffixCounts() const
 
void append(const QStringList &filenames)
 
void push_back(const QString &filename)
 
const QString & operator[](int i) const
 
void set(const QStringList &filenames)
 
TOPPASFilenames()=default
 
const QStringList & get() const
 
void set(const QString &filename, int i)
 
QStringList filenames_
filenames passed from upstream node in this round
Definition: TOPPASVertex.h:120
 
void check_(const QString &filename)
 
The base class of the different vertex classes.
Definition: TOPPASVertex.h:78
 
TOPPASVertex()
Default Constructor.
 
std::map< Int, VertexRoundPackage > RoundPackage
Definition: TOPPASVertex.h:134
 
QPainterPath shape() const final
Returns a more precise shape.
 
TOPPASVertex(const TOPPASVertex &rhs)
Copy constructor.
 
void contextMenuEvent(QGraphicsSceneContextMenuEvent *event) override
 
RoundPackages output_files_
Stores the current output file names for each output parameter.
Definition: TOPPASVertex.h:304
 
bool isUpstreamFinished() const
check if all upstream nodes are ready to go ( 'finished_' is true)
 
~TOPPASVertex() override=default
Destructor.
 
TOPPASVertex & operator=(const TOPPASVertex &rhs)
Assignment operator.
 
RoundPackage::iterator RoundPackageIt
Definition: TOPPASVertex.h:136
 
virtual std::unique_ptr< TOPPASVertex > clone() const =0
Make a copy of this vertex on the heap and return a pointer to it (useful for copying nodes)
 
std::vector< RoundPackage > RoundPackages
all information a node needs to process all rounds
Definition: TOPPASVertex.h:139
 
bool buildRoundPackages(RoundPackages &pkg, String &error_msg)
 
SUBSTREESTATUS
The color of a vertex during depth-first search.
Definition: TOPPASVertex.h:151
 
@ TV_ALLFINISHED
all downstream nodes are done (including the ones which are feed by a parallel subtree)
Definition: TOPPASVertex.h:152
 
@ TV_UNFINISHED
some direct downstream node is not done
Definition: TOPPASVertex.h:153
 
QList< TOPPASEdge * > EdgeContainer
The container for in/out edges.
Definition: TOPPASVertex.h:84
 
EdgeContainer::const_iterator ConstEdgeIterator
A const iterator for in/out edges.
Definition: TOPPASVertex.h:88
 
String get3CharsNumber_(UInt number) const
Returns a three character string (i.e. 001 instead of 1) for the given number.
 
RoundPackage::const_iterator RoundPackageConstIt
Definition: TOPPASVertex.h:135
 
TOPPASFilenames filenames
filenames passed from upstream node in this round
Definition: TOPPASVertex.h:126
 
QRectF boundingRect() const override=0
Returns the bounding rectangle of this item.
 
void mouseDoubleClickEvent(QGraphicsSceneMouseEvent *e) override
 
void paint(QPainter *painter, const QStyleOptionGraphicsItem *, QWidget *, bool round_shape=true)
base paint method for all derived classes. should be called first in child-class paint
 
void debugOut_(const String &) const
Displays the debug output message, if TOPPAS_DEBUG is defined.
Definition: TOPPASVertex.h:337
 
DFS_COLOR
The color of a vertex during depth-first search.
Definition: TOPPASVertex.h:143
 
@ DFS_GRAY
Definition: TOPPASVertex.h:145
 
@ DFS_WHITE
Definition: TOPPASVertex.h:144
 
EdgeContainer::iterator EdgeIterator
A mutable iterator for in/out edges.
Definition: TOPPASVertex.h:86
 
UInt topo_nr_
The number in a topological sort of the entire graph.
Definition: TOPPASVertex.h:302
 
void mouseReleaseEvent(QGraphicsSceneMouseEvent *e) override
 
void mouseMoveEvent(QGraphicsSceneMouseEvent *e) override
 
void mousePressEvent(QGraphicsSceneMouseEvent *e) override
 
virtual void moveNewEdgeTo_(const QPointF &pos)
Moves the target pos of the edge which is just being created to pos.
 
Info for one edge and round, to be passed to next node.
Definition: TOPPASVertex.h:125
 
unsigned int UInt
Unsigned integer type.
Definition: Types.h:64
 
size_t Size
Size type e.g. used as variable which can hold result of size()
Definition: Types.h:97
 
T round(T x)
Rounds the value.
Definition: MathFunctions.h:219
 
static String number(double d, UInt n)
Definition: StringUtils.h:191
 
Main OpenMS namespace.
Definition: openswathalgo/include/OpenMS/OPENSWATHALGO/DATAACCESS/ISpectrumAccess.h:19