Commit Graph
39 Commits
Author SHA1 Message Date
itsmattkc 9745b536f6 nodes: remove graph and merge into project 2023-02-17 14:13:03 -08:00
itsmattkc 4b366a9b73 update copyright year to 2022 2022-05-10 10:38:56 -07:00
itsmattkc 5223483e8e work towards group editor 2021-12-27 15:16:49 -08:00
itsmattkc a391e63252 cleaned up some no longer used functions 2021-11-19 16:46:39 -08:00
itsmattkc 40783bcc6d reimplemented adding/removing/connecting/disconnecting 2021-11-19 15:47:31 -08:00
itsmattkc a6af473f53 reimplemented node positioning and deleting 2021-11-17 12:09:41 -08:00
itsmattkc 93be94bc2c more work 2021-11-16 23:58:34 -08:00
itsmattkc 6033039046 improved connector UI in node view 2021-11-10 21:59:54 -08:00
itsmattkc 9c650883c2 implement context item in node view 2021-11-10 16:33:59 -08:00
itsmattkc b07bccb7dc nodes: revert to single output 2021-09-07 22:01:36 -07:00
itsmattkc 8d72685eaa nodeview: stripped out auto-position function
Hopefully this shouldn't be necessary anymore
2021-07-19 18:40:22 -07:00
itsmattkc 84e639606f nodeview: ensure nodes are disconnected when clearing 2021-07-16 21:32:34 -07:00
itsmattkc d9e45a6818 nodeviewscene: skip add duplicate edges 2021-05-28 17:53:15 +10:00
itsmattkc 2162e9d8f8 nodeview: improved user manual positioning 2021-05-28 13:29:51 +10:00
itsmattkc f9309da4b3 nodeview: update positions correctly 2021-05-24 10:12:53 +10:00
itsmattkc 8e9859b2b3 initial commit 2021-05-16 09:58:57 +10:00
itsmattkc 77d4b18a60 updated copyright year for 2021 [skip ci] 2021-04-17 18:56:50 +10:00
itsmattkc 81c1922911 use strings to connect nodes
This makes the node system somewhat more high-level with the intent of making
working with them far more flexible and stable. By making the architecture more
abstracted, it becomes far less rigid which should allow us to do even more
with it and make it much less crash prone.
2021-02-09 15:48:37 +11:00
itsmattkc 8a5df32281 fixed arrays in nodeparamview 2021-01-22 12:20:25 +11:00
itsmattkc fa1fbd3a34 nodeview: updated with new node color UI system 2021-01-19 09:08:46 +11:00
itsmattkc 8e7035bd40 restored nodeview 2021-01-19 00:06:57 +11:00
itsmattkc 181235f6ce began new infrastructure
Yep, this is another one of my "famous" sweeping rewrites. Expect things to break.

Goals for this are:
- Greatly simplify node connections (particularly with arrays) so the code requires less maintenance/is more stable
- Redesign node structure to address issues where UI would stall for lengthy periods of time
- Less reliance on shared ptrs/greater reliance on QObject system for inheritance/memory management
- General code cleanup and improvements
2021-01-05 11:20:38 +11:00
itsmattkc 75d4cd899b use hardcoded namespace
The macro defined namespaces confused the hell out of lupdate and more or less broke translations permanently. Looks like the only way we can do it is to have a hardcoded namespace, which goes against my instinct, but honestly how likely is it that we'll change the namespace anyway (I guess forks might want to do it, but that's their problem ;) )
2020-11-17 20:24:42 +11:00
itsmattkc d241090a9f finally updated the copyright year 2020-11-17 20:13:22 +11:00
itsmattkc 1b9bf6d92c switched many QLists for QVectors
Minor optimization
2020-11-16 16:17:43 +11:00
itsmattkc ce58671fd6 nodeview: started core node filtering work 2020-05-11 22:48:27 +10:00
itsmattkc 9c30f13a2e nodeview: added setting for curved/straight edges 2020-05-10 04:33:37 +10:00
itsmattkc fc694296f1 nodeviewscene: added basic standard filtering modes 2020-05-09 03:33:41 +10:00
itsmattkc e5e0d0323e nodeview: implemented weighted auto-positioning
Similar to the previous approach, but cleaner and hopefully easier to extend.
2020-05-06 22:53:01 +10:00
itsmattkc 4ac5513e3f nodeview: implemented ability to select and delete node edges 2020-04-29 17:25:41 +10:00
itsmattkc bf68a4d631 nodes: added ability to label nodes 2020-04-29 15:35:05 +10:00
itsmattkc e154b5d5d4 nodeview: make auto-position a manual and specific function, allow different flow directions
The first in many NodeView improvements. Up until now, nodes have been forcibly
auto-arranged, which has worked as a reasonable stop-gap just so that all the
nodes are visible during testing/development. However this does not make a good
user experience.

We move the auto-arrange code to a manual function that can be used when the
user or program deems it necessary, and also abstract the node positions so that
the view can ultimately determine the exact amount of spacing (useful for
changing DPIs) or orientation, so users can direct the flow whichever way they
want.
2020-04-28 00:28:38 +10:00
itsmattkc b947b2224a nodeview: support multiple flow directions 2020-04-27 16:08:48 +10:00
itsmattkc 1aa87cbda6 various: encapsulate all code in the olive namespace to avoid name collisions
Large-scale code cleanup. Also adds a license to the top of all files that were
missing it.
2020-04-06 15:29:53 +10:00
itsmattkc 72eb3a5d82 nodeview: worked around qt issue where the selection signal would still be sent after an item was deleted 2020-03-17 00:34:32 +11:00
itsmattkc 34f60e639a nodeview: implemented copying/pasting nodes
Re-uses XML-based project saving/loading functions to store nodes, their
parameters, and their connections in a text-based format in the clipboard.
2020-03-15 20:01:58 +11:00
itsmattkc d8f83f1452 nodeview: further optimization of node view 2020-03-03 01:50:31 +11:00
itsmattkc 3e34975dd9 nodeview: improved and optimized some selection code 2020-03-02 17:03:03 +11:00
itsmattkc f6d602d8e0 nodeview: improved code structures 2020-03-02 16:07:24 +11:00