29 Commits

Author SHA1 Message Date
Phillip Stephens d5b3c7defb Linux build fixes 2020-04-17 07:18:45 -07:00
Dmitry Pinaev edaaeac459 Fix data propagation in converter (in calculator example) (#217) 2019-03-18 12:58:41 +01:00
fredakilla 282b439af0 Cleanup Qt keywords (#199)
* Qt no keywords

* replace emit with Q_EMIT

* add QT_NO_KEYWORDS definition to CMakeLists.txt
2019-02-06 22:05:38 +01:00
Davide Faconti a8264e391d Remove NodeDataModel::clone() (#164)
* removed NodeDataModel::clone(), using a more classic Factory/Builder pattern.

* trying to make visual studio happy

* Allow the DataModelRegistry to use static method Name() if defined

* use modern type_traits
2018-05-11 11:00:30 +02:00
paceholder 2c94a67cee Fix memory leake by passing parent to FlowScene (#151) (#155) 2018-04-27 19:37:58 +02:00
Dmitry Pinaev 6a4340ec2e Implement Converters separately from DataModels (#148) 2018-04-15 12:11:29 +02:00
Dmitry Pinaev 3bd5cdc44d Fix warnings for missing variable names #116 2018-02-10 00:00:09 +01:00
Remigiusz Kołłątaj 49da648f4c Correct -Wall and -Wextra warnings for GCC7.1.1 and Clang++ 4.0.1 (#105)
* Correct -Wall and -Wextra warnings for GCC7.1.1 and Clang++ 4.0.1

Signed-off-by: Remigiusz Kołłątaj <remigiusz.kollataj@mobica.com>

* MSVC doesn't like -Wextra

Signed-off-by: Remigiusz Kołłątaj <remigiusz.kollataj@mobica.com>
2017-08-10 10:35:07 +02:00
Dmitry Pinaev 4278637d93 Make ConnectionStyle complete in Calculator example 2017-06-08 09:17:05 +02:00
David Bachrati c0642a8c20 Various fixes and additions (#60)
* - Extra method added to iterate over node data structure outside of the library

* - Added more robust context menu

* - Fixing crashes during node/connection removal
2017-03-09 13:31:26 +01:00
paceholder a9b6405a4d Implement Json serialization (#53) 2017-01-31 21:30:56 +01:00
David Bachrati 64dd7d491a Implement automatic insertion of typecast nodes (#52)
* Automatic type cast node insertation working in a basic manner

* Port paint fix to handle convertible types

* Code cleanup, documentation,, and minor fixes

* Fixing master merge

* Master merge fix 2

* Master merge fix 3

* Code style fixes

* Fixing logic error, where typecast node with the same input-output types were permitted

* Fixes based on @russelltg 's suggestions

* Got rid of unique_ptr static_casts

* Partial fixes from the code review

* Merging master into branch vol. 3
2017-01-30 18:03:49 +01:00
Dmitry Pinaev 0eaa18eb30 Introducet QtNodes namespace (#40) 2017-01-30 15:00:42 +01:00
David Bachrati 770a1aa9ec Implement runtime validation and error reporting (#46)
* Node validation and error display implemented

* Added option to iterate through nodes in the scene. (Useful to read out data from all the nodes, makes code generation based on the graphs easier.)

* Visual error fix for nodes that change size depending on input, plus minor styling and logic fixes in the example, based on the comments of @russelltg

* Validation extended to handle warnings, based on the idea of @russeltg ; Error display colors now come from the style system;  Additional bugfixes

* DefaultStyle.json identation fix

* FlowScene.cpp identation fix

* Travis build test fix
2017-01-25 11:34:03 +01:00
David Bachrati a62f088b2b Renamable input and output ports on nodes (#45)
* Add option to set custom captions for node ports

* Calculator example modified to consistently use custom ports labels where it makes sense

* Minor fixes in modified code
2017-01-12 23:10:03 +01:00
Dmitry Pinaev e6cbca5f4e Simplify model registering 2016-11-26 12:53:59 +01:00
Russell Greene 412350d8ae Use std::shared_ptr for storing registries so editors can share them 2016-11-25 18:02:44 -07:00
Dmitry Pinaev 0835f9af92 Use std::make_unique 2016-11-23 00:42:25 +01:00
Russell Greene 20fa0a62b2 Make DataModelRegistry static 2016-11-22 22:57:09 +01:00
Dmitry Pinaev f64f915cb3 Revert c++14 until CI is fixed 2016-11-22 22:46:41 +01:00
Dmitry Pinaev dd4077113e Move to C++14, use std::make_unique 2016-11-22 22:01:28 +01:00
Russell Greene 81f2e5420a Add runtime typeing 2016-11-22 08:21:59 -07:00
Dmitry Pinaev 925dc6b72a Forbid automatic scene resizing and scrolling 2016-09-26 16:48:04 +02:00
Dmitry Pinaev bc56b9af91 Implement save/restore mechanism 2016-09-25 19:34:16 +02:00
Dmitry Pinaev e6d264438d Fix #20 Make nodes resizable 2016-09-20 10:05:45 +02:00