Open rayment opened 1 year ago
I've added another commit which surrounds strings that are present in headers with QLatin1String(...)
because the library refuses to compile into my project if QT_NO_CAST_FROM_ASCII
is defined. In a sense it optimises the code because strings are no longer being implicitly converted to QString
at runtime, but I have not done the same for any of the source files (I would be happy to share my fix if it's worth it).
Just thought it would be useful to add here rather than open another PR...
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 7f9d7ab
as the project fails to build if we turn on QT_NO_CAST_FROM_ASCII
).
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: