Commit Graph

314 Commits

Author SHA1 Message Date
bcd99bdb17 Fix GraphEdit::frame_rect_changed signal parameter type
Changes the parameter type from Vector2 to Rect2, which is what is actually emitted.
2025-02-14 22:39:27 +01:00
9a96393f46 Add warped panning to every ViewPanner instance 2024-12-20 17:40:27 +01:00
075567a5b3 Merge pull request #100456 from Sauermann/proposal-hovered-connection-highlight
Highlight hovered `GraphEdit` connection by widening the line
2024-12-19 20:00:08 -06:00
cbfc34d279 Merge pull request #100444 from Sauermann/fix-view-panner-mouse-warp
Fix `ViewPanner` panning-mouse-warp
2024-12-19 20:00:01 -06:00
0a875ab3bb Highlight hovered GraphEdit connection by widening the line
This change causes the connections to be additionally highlighted by
widening the line with a configurable factor.
2024-12-20 00:55:35 +01:00
4887172a59 Fix ViewPanner panning mouse warp
Currently the mouse cursor jumps in unexpected ways, when a `ViewPanner`
is used in SubViewports or embedded Windows.

This is caused by providing wrong coordinate systems to
Input::warp_mouse_motion.

This PR replaces the use of `Input::warp_mouse_motion` with
`Viewport::wrap_mouse_in_rect` and makes sure, that the correct
coordinate systems are used.

This change makes it necessary, that all classes, that currently
use ViewPanner, need to provide the correct Viewport to ViewPanner.
2024-12-20 00:28:49 +01:00
e5be03a42b [GraphEdit] Make connections a property 2024-12-16 02:28:34 +01:00
ba39b078f5 [Scene] Add SceneStringName::FlatButton 2024-12-10 11:12:26 +03:00
95ca0aa7ad Add get_connetion_count function to GraphEdit 2024-12-02 19:15:37 +06:00
925b690c98 Core: Integrate Ref::instantiate where possible 2024-11-10 12:41:26 -06:00
a47daa0a44 Avoid const_cast in List::erase by requiring mutable elements 2024-11-08 00:10:08 -08:00
562c666e3d Rename internal Button icon to button_icon to match exposed methods 2024-10-29 16:23:03 -07:00
975e7c8ade [GraphEdit] Only print warning for connection layer deletion when justified 2024-10-04 13:28:15 +02:00
f4af8201ba Merge pull request #96309 from Geometror/fix-ge-cs-crash
Prevent crash after removing GraphEdit's connection layer
2024-10-01 19:01:01 +02:00
b4460c6ba3 Add cut_nodes_request signal to GraphEdit 2024-09-27 08:47:11 +05:30
Zae
84102af090 GraphEdit: Improve dotted pattern grid performance 2024-09-12 23:58:42 +08:00
8ca7f0e334 Prevent crash after removing GraphEdit's connection layer and add additional warnings 2024-08-30 14:04:54 +02:00
1f0eddca70 Fix GraphEdit port snapping in certain edge cases 2024-08-02 12:38:53 +02:00
04705d2899 Fix leaked signal connection to connection_layer. 2024-07-27 01:34:03 +08:00
104c77cd86 Fix connections not updated after GraphNode slot update 2024-07-06 14:33:34 +02:00
b871794591 Fix GraphFrame autoshrink with high DPI displays/custom UI scales 2024-07-04 19:08:06 +02:00
fbb879debd [Scene] Add SceneStringNames::text/value_changed 2024-06-19 09:44:38 +02:00
926afccbd8 [Scene] Add SceneStringNames::panel 2024-05-30 22:54:50 +02:00
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