28 #ifndef ABSTRACTNODE_H
29 #define ABSTRACTNODE_H
31 #include "plotCommon.h"
32 #include "../common/sharedStructures.h"
38 #include <qsharedpointer.h>
39 #include <qscopedpointer.h>
53 rttiPlotNode = 0x1000,
54 rttiFilterNode = 0x2000,
55 rttiPlotNodeDObj = 0x0100,
56 rttiPlotNodePCL = 0x0200,
57 rttiPlotNode1D = 0x0001,
58 rttiPlotNode2D = 0x0002,
59 rttiPlotNode25D = 0x0003,
60 rttiPlotNode3D = 0x0004
64 class AbstractNodePrivate;
137 UpdateState getUpdateState()
const;
142 QString getSenderParamName()
const;
147 QString getReceiverParamName()
const;
158 RetVal propagateUpdatePending();
161 RetVal setUpdateReceived();
164 uint getHash()
const;
173 void resetUpdateState(
void);
189 QScopedPointer<ChannelPrivate> d_ptr;
225 typedef QPair<QString, QString> ParamNamePair;
233 virtual RetVal applyUpdate(
void) = 0;
242 virtual RetVal update(
void) = 0;
256 RetVal createChannel(
const QString &senderParamName,
AbstractNode *receiver,
const QString &receiverParamName,
bool replaceChannelIfExists =
false);
262 RetVal removeChannel(QSharedPointer<Channel> channel);
269 RetVal removeAllChannelsToReceiver(
const AbstractNode *receiver, QList<ParamNamePair> excludedConnections = QList<ParamNamePair>());
272 QList<QSharedPointer<Channel> > getConnectedInputChannels(
const QString &inputParamName)
const;
275 QList<QSharedPointer<Channel> > getConnectedInputChannels(
const ito::Param *inputParam)
const;
278 QList<QSharedPointer<Channel> > getConnectedOutputChannels(
const QString &outputParamName)
const;
281 QList<QSharedPointer<Channel> > getConnectedOutputChannels(
const ito::Param *outputParam)
const;
286 RetVal updateChannelData(QSharedPointer<Channel> updatedChannel);
296 RetVal setUpdatePending(QSharedPointer<ito::Channel> singleOutputChannel = QSharedPointer<ito::Channel>());
299 ito::Param* getInputParam(
const QString ¶mName)
const;
302 ito::Param* getOutputParam(
const QString ¶mName)
const;
311 RetVal removeAndDeleteOutputParam(
const QString ¶mName);
320 RetVal removeAndDeleteInputParam(
const QString ¶mName);
327 RetVal updateChannels(
const QList<QString> &outputParamNames);
330 rttiNodeType getType()
const;
333 bool isConnected()
const;
336 unsigned int getUniqueID(
void)
const;
343 RetVal detachChannel(QSharedPointer<Channel> channel);
346 RetVal attachChannel(QSharedPointer<Channel> channel);
352 static unsigned int UID;
356 QScopedPointer<AbstractNodePrivate> d_ptr;
363 #endif //ABSTRACTNODE_H
Class for managing status values (like errors or warning)
Definition: retVal.h:54
class for parameter handling e.g. to pass paramters to plugins
Definition: param.h:283
Definition: apiFunctionsGraph.cpp:39
Every plot designer plugin in itom, that should be able to open dependent sub-plots (e...
Definition: AbstractNode.h:221
the channel is in an idle state (default)
Definition: AbstractNode.h:103
UpdateState
Definition: AbstractNode.h:100
A channel defines a propagation pipline between two parameters of two nodes. The nodes are instances ...
Definition: AbstractNode.h:78