-
Notifications
You must be signed in to change notification settings - Fork 827
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Added propagation control functions and fix implicit string conversion in headers. #367
base: master
Are you sure you want to change the base?
Conversation
Added the ability to explicitly control propagation of data in DataFlowGraphModel through the use of a new virtual function canPropagate(ConnectionId), and another function propagate(NodeId) to request a propagation without having to update input/output data. These functions are both virtual so that deriviative dataflow models can specify their own control model. Signed-off-by: Finn Rayment <finn@rayment.fr>
The library will fail to compile if QT_NO_CAST_FROM_ASCII is set in any project that uses it due to implicit conversion of const char * to QString. Wrapping the constants moves string initialisation to compile-time and succeeds build. Signed-off-by: Finn Rayment <finn@rayment.fr>
I've added another commit which surrounds strings that are present in headers with Just thought it would be useful to add here rather than open another PR... |
Signed-off-by: Finn Rayment <finn@rayment.fr>
Signed-off-by: Finn Rayment <finn@rayment.fr>
Hi @paceholder, I understand you are probably busy with life at the moment (aren't we all?) but I was hoping to ask you to review this change when you have the chance (I'm mostly worried about |
Signed-off-by: Finn Rayment <finn@rayment.fr>
I've added the ability to explicitly control propagation of data in
DataFlowGraphModel
through the use of a new virtual functioncanPropagate(ConnectionId)
, and another functionpropagate(NodeId)
to request a propagation without having to update connections or input/output. The user can also changeonOutPortDataUpdated
andpropagateEmptyDataTo
with deriviative functions to change the output of the propagation for each connection.These functions are both virtual so that derivative dataflow models can specify their own control model, but this may go against the design of
DataFlowGraphModel
. Feel free to deny or change as you wish. As an example:My project has nodes of text data ranging in the gigabytes. I use a global execution state to control when data is propagated and clone node outputs when there is more than one connection stemming from an output. This can be achieved with custom functions: