Commit Graph
34 Commits
Author SHA1 Message Date
itsmattkc f9309da4b3 nodeview: update positions correctly 2021-05-24 10:12:53 +10:00
itsmattkc f2d64728f9 work towards timeline/nodeview interactivity 2021-05-17 11:14:56 +10:00
itsmattkc fa58dc1039 nodeview: pass icon size specifically 2021-04-22 11:50:24 +10:00
itsmattkc 77d4b18a60 updated copyright year for 2021 [skip ci] 2021-04-17 18:56:50 +10:00
itsmattkc 843db76e75 nodeview: show label and type if label is set
Might not keep this, but we should have something to make the
node types clear when labelled.
2021-03-18 19:36:03 +11: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 ad4b83a098 new undo system
Also enables undoing when working with node input arrays
2021-01-29 16:10:34 +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 9aabde303e nodeview: added arrows to indicate a node can be expanded
Minor UI detail. Also slightly increases the size of node items and adds
"short names" to the video input and audio input nodes.
2020-08-21 15:15:39 +10:00
itsmattkc 0628ddb901 nodes: use different colors from config based on category 2020-05-05 23:24:00 +10:00
itsmattkc bf68a4d631 nodes: added ability to label nodes 2020-04-29 15:35:05 +10:00
itsmattkc f04fa12c06 nodeview: allow expanded views of nodes again
Re-implementing expanding nodes to see the connections (but nicer this time).
2020-04-29 03:56:50 +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 378c354277 nodeview: improved nodeview usage
Rather than the cumbersome and small "node connectors" (introduced a while ago
when nodes had more than one output), this is a more streamlined system of
connecting nodes (hold Ctrl and drag to connect)
2020-04-03 08:34:47 +11:00
luz.paz 321e7d1606 Fix doxygen and misc. typos
Found via `codespell -q 3 -L ba,keypair,numer,uint`
2020-03-10 15:00:56 -04:00
itsmattkc 785160b86b nodeview: fixed crash when expanding a NodeViewItem with a NodeInputArray 2020-02-26 00:47:01 +11:00
itsmattkc b44d7165c5 nodeviewitem: toggle expanded state on double click 2020-02-16 01:05:41 +11:00
itsmattkc 323718bc11 moved timeline undoable commands to using the new NodeAddCommand
Previous iteration used some "magic code" that added clips automatically to the
timeline. This was functional but ultimately outside of the undo commands'
control meaning nodes could be infinitely added and abandoned. This makes the
add process part of the undo command which means it's all undoable as the user
would expect.
2019-12-14 00:04:57 +11:00
itsmattkc 9633028f99 documented node view classes 2019-07-17 15:31:34 -04:00
itsmattkc 39256fd6f9 made node edge changes undoable 2019-07-17 00:14:49 -04:00
itsmattkc a78cc3950a various node UI improvements 2019-07-16 13:25:38 -04:00
itsmattkc 1a39216be2 nodeview can connect and disconnect nodes 2019-07-16 04:43:57 -04:00
itsmattkc 9d2fc71efc removed magic colors from node items and moved to css 2019-07-16 01:49:58 -04:00
itsmattkc d098c0de5f various fixes 2019-07-16 00:00:18 -04:00
itsmattkc 44668e144c code cleanup and better text display 2019-07-15 13:07:17 -04:00
itsmattkc 3ec133f254 can visually see connections between parameters in the node view 2019-07-15 12:43:56 -04:00
itsmattkc dc2101938e began node viewer for dag insight 2019-07-15 03:52:44 -04:00
itsmattkc 944e933762 revise CSS and allow modular icons 2019-07-14 23:56:55 -04:00
itsmattkc f0bf51e4a6 began work on node view panel 2019-07-14 10:14:57 -04:00