Commit Graph

341 Commits

Author SHA1 Message Date
28a2fa496f [GraphEdit] Convert to minimap line after getting connection line. 2024-05-29 12:58:51 +08:00
6a067a4a80 [GraphEdit] Fix GraphNode's ports interactable through other GraphNodes 2024-05-15 19:55:43 +02:00
ee79386f7b [Scene] Add SceneStringNames::pressed 2024-05-14 15:51:28 +02:00
413c11357d Use Core/Scene stringnames consistently 2024-05-13 23:41:07 +02:00
62776842df [VisualShader] Add reroute node and improve port drawing 2024-05-13 03:26:01 +02:00
308dbb8c63 [Core] Add scalar versions of Vector* min/max/clamp/snap(ped)
Convenience for a number of cases operating on single values
2024-05-02 10:31:13 +02:00
a81561cbd9 Add GraphFrame and integrate it in VisualShader 2024-04-04 15:11:00 +02:00
25f9f923a1 Rename some arguments called "position" 2024-03-27 01:28:24 +01:00
79ba22a73f Use Vector* component-wise min/max/clamp functions where applicable 2024-03-20 13:47:42 +01:00
d70c45b5c8 Add option to add built-in strings in the POT generation 2024-02-28 11:34:26 -03:00
02a33b67a8 Redesign the graph editor for visual shaders 2024-02-22 20:40:09 +01:00
21f0529aa9 Revert "Update Node::get_configuration_warnings signature"
This reverts commit d3852deaa4.
2024-02-17 19:03:21 +01:00
d3852deaa4 Update Node::get_configuration_warnings signature 2024-02-08 23:05:20 +01:00
9d7c2978f4 Rework GraphEdit connections (drawing, API, optimizations)
- GraphEdit now uses Line2D nodes to draw connection lines and uses a dedicated canvas item shader for them
2024-01-18 16:53:15 +01:00
b9dff50282 Merge pull request #83785 from Geometror/graphedit-dotted-grid
Add dotted grid to GraphEdit
2023-12-19 20:32:35 +01:00
60cb44e84c Add GraphEdit connection layer child as internal 2023-11-17 15:29:39 +03:00
1a8e676131 Add different grid patterns to GraphEdit 2023-11-14 19:48:31 +01:00
9391046c32 Fix GraphNode slot index inconsistency. 2023-10-24 16:19:33 +02:00
024172b4eb Merge pull request #82409 from KoBeWi/3_in_1
Document, cleanup and fix some theme properties
2023-10-18 00:00:36 +02:00
b07c664af9 Make GraphEdit toolbar more customizable
Also adds a semi-transparent background
to make the toolbar stand out in front of nodes.
2023-10-02 13:43:08 +02:00
cfb6d25d30 Document, cleanup and fix some theme properties 2023-09-27 00:06:15 +02:00
378ab38b1f Rename close requests to delete requests in GraphEdit 2023-09-26 16:41:39 +02:00
8ddf73c74d Merge pull request #81939 from YuriSizov/gui-flat-and-depressed
Replace flat buttons with flat-styled buttons with a visible pressed state
2023-09-25 17:18:29 +02:00
4bd569be95 Replace flat buttons with flat-styled buttons with a visible pressed state 2023-09-19 22:36:29 +02:00
6afadbaa9f Replace Ctrl in editor shortcuts with Cmd or Ctrl depending on platform 2023-09-19 10:29:07 +02:00
325ec7fdda Merge pull request #81600 from aaronfranke/fix-graph-edit-valid-port-conn-type
Fix GraphEdit port valid connections incorrectly checking sides
2023-09-14 15:21:59 +02:00
fe000277ea Bind remaining theme properties to their respective classes
This adds binds for GraphEdit/GraphElement/GraphNode, which were
skipped before due to a rework. This also adds binds for Window,
which was skipped before due to a complicated code organization.

Also adds theme cache entries/direct cache access to a few places
that previously missed it. Some theme properties are now exposed
to other classes via friendships or public getters for convenience.

This removes all string-based theme access from scene/ classes.
2023-09-13 19:31:35 +02:00
366e54b0a3 Fix GraphEdit port valid connections incorrectly checking sides 2023-09-12 20:46:43 -05:00
5afe78bd9c Clean up/refactor GraphNode and make it more flexible
Split GraphNode into GraphElement and GraphNode, add custom
titlebar, and adjust theming.
2023-09-07 17:29:06 +02:00
a38fd09669 Clean up/refactor GraphEdit 2023-07-24 18:37:23 +02:00
91258e52be Merge pull request #79307 from Geometror/remove-graph-node-comment
Remove GraphNode's comment property and related functionality
2023-07-24 16:56:41 +02:00
a29a680920 Extract StyleBoxFlat, StyleBoxTexture and StyleBoxLine in their own file 2023-07-17 13:25:00 +02:00
662d8c76b3 Remove GraphNode's comment property and related functionality
(this functionality will be reintroduced in a new and more flexible way)
2023-07-11 02:05:25 +02:00
1e8ca95cdc [GraphEdit] Fix port hotzones at zoom levels other than 100% 2023-06-25 17:13:53 +02:00
237e3c6099 Fix regression in visual nodes hotzones 2023-06-22 19:03:17 +02:00
0c16082e1e Use get_node_or_null when null checks are present
Avoids duplicate or unnecessary errors
2023-06-10 13:22:56 +02:00
dcd2b883eb Use NULL instead of COND checks when appropriate
Restricted to scene
2023-06-10 08:56:30 +02:00
8118d0d2f5 Add more uses of appropriate cursors when resizing/moving some UI nodes 2023-05-07 11:14:57 -03:00
49587fd6d9 Fix several GraphEdit operations at zoom levels other than 100% 2023-04-02 16:40:10 +02:00
c567a853db Fix GraphNode resizing when its bottom border is too thin 2023-02-23 01:42:06 -03:00
3aab79914c Fix GraphEdit port hotzone snapping 2023-02-12 01:31:58 +01:00
4601acbaf4 Update GraphEdit configuration warning, mark GraphNode/GraphEdit as experimental 2023-02-09 02:39:55 +01:00
8f21f637e2 Fix scroll_offset_changed signal doesn't fired when panning GraphEdit 2023-02-01 07:11:35 +09:00
068f4d88f6 Fix connections drawing in GraphEdit minimap 2023-01-28 18:55:14 +01:00
a3b431b09d Add gesture to ViewPanner and simplify a bit its API 2023-01-23 16:43:53 +01:00
2d214c8881 Merge pull request #70685 from stmSi/fix-nan-graphedit-infinite-loop
Fix: NaN value making infinite loop inside GraphEdit's `NOTIFICATION_DRAW`
2023-01-16 09:41:08 +01:00
d1bd7539a6 Fix NaN value making infinite loop inside GraphEdit's NOTIFICATION_DRAW 2023-01-13 12:29:29 +06:30
62278eb236 Rename (de)selected signals to node_(de)selected in GraphNode 2023-01-12 04:08:06 +01:00
d95794ec8a One Copyright Update to rule them all
As many open source projects have started doing it, we're removing the
current year from the copyright notice, so that we don't need to bump
it every year.

It seems like only the first year of publication is technically
relevant for copyright notices, and even that seems to be something
that many companies stopped listing altogether (in a version controlled
codebase, the commits are a much better source of date of publication
than a hardcoded copyright statement).

We also now list Godot Engine contributors first as we're collectively
the current maintainers of the project, and we clarify that the
"exclusive" copyright of the co-founders covers the timespan before
opensourcing (their further contributions are included as part of Godot
Engine contributors).

Also fixed "cf." Frenchism - it's meant as "refer to / see".
2023-01-05 13:25:55 +01:00
8302f17adf Update graph_edit.cpp to automatically arrange nodes if nothing is selected. 2023-01-04 16:48:01 -08:00