summaryrefslogtreecommitdiff
path: root/scene/gui/graph_edit.cpp
AgeCommit message (Collapse)Author
2021-08-23Entirely removes BIND_VMETHOD in favor of GDVIRTUALreduz
* `_gui_input`, `_input`, `_unhandled_input` and `_unhandled_key_input` are now regular C++ virutal functions. * Everything else converted to GDVIRTUAL * BIND_VMETHOD is gone, always use the new syntax from now on. Creating `_gui_input` method and using the binder to register events will no longer work, simply override the virtual function now.
2021-08-22Fix GraphEdit connection colorsJummit
2021-08-22Make GraphEdit connections consistent on zoomJummit
2021-08-22Merge pull request #51965 from theoway/fix_node_arranger_origin_bugK. S. Ernest (iFire) Lee
Fixes position offset of node groups set by arrange_nodes() in GraphEdit
2021-08-22Fixes position offset of node groups set by arrange_nodes() in GraphEditUmang Kalra
2021-08-21Refactor GraphEdit connectionsJummit
Remove duplicate bezier code and use Curve instead. Add an overridable method for retrieving the points of a connection line, which makes it posible to create custom connections lines.
2021-08-12Better port handling connection for `GraphEdit`Yuri Roubinsky
2021-08-11Automatic arrangement of nodes in VisualScript/VisualShaders editorsUmang Kalra
This PR and commit adds the functionality to arrange nodes in VisualScript/VisualShader editor. The layout generated by this feature is compact, with minimum crossings between connections & uniform horizontal & vertical gaps between the nodes. This work has been sponsored by GSoC '21. Full list of additions/changes: • Added arrange_nodes() method in GraphEdit module. • This method computes new positions for all the selected nodes by forming blocks and compressing them. The nodes are moved to these new positions. • Adding this method to GraphEdit makes it available for use in VisualScript/VisualShaders editors and its other subclasses. • Button with an icon has been added to call arrange_nodes() in GraphEdit. • This button is inherited by VisualScript/VisualShaders editors to invoke the method. • Undo/redo is functional with this method. • By using signals in arrange_nodes(), position changes are registered in undo/redo stack of the subclass that is using the method. • Metadata of the method has been updated in ClassDB • Method description has been added to class reference of GraphEdit
2021-07-25Use const references where possible for List range iteratorsRémi Verschelde
2021-07-23Use C++ iterators for Lists in many situationsAaron Franke
2021-07-18Optimize StringName usagereduz
* Added a new macro SNAME() that constructs and caches a local stringname. * Subsequent usages use the cached version. * Since these use a global static variable, a second refcounter of static usages need to be kept for cleanup time. * Replaced all theme usages by this new macro. * Replace all signal emission usages by this new macro. * Replace all call_deferred usages by this new macro. This is part of ongoing work to optimize GUI and the editor.
2021-06-25Remove clips_input() method and use clip_contentkobewi
2021-06-17Scrollwheel (w/o ctrl) to zoom, mouse warping when panningLightning_A
Now uses Ctrl + Scrollwheel for vertical scrolling Ctrl + Shift Scrollwheel for horizontal scrolling Also converts some macros to constants
2021-06-16Make zoom limits and step adjustable in GraphEditYuri Sizov
2021-06-15Merge pull request #49437 from Calinou/graphedit-allow-higher-lower-zoom-valuesRémi Verschelde
Allow higher and lower maximum zoom values in GraphEdit
2021-06-10Move default values from definition to declaration in GraphEditMarcel Admiraal
2021-06-08Allow higher and lower maximum zoom values in GraphEditHugo Locurcio
Low zoom values result in unreadable text, but it can still be useful for previewing purposes. Eventually, characters could be replaced by rectangles at very low zoom levels to improve the visual appearance.
2021-05-07Rename "Control" key to "Ctrl" and add "_pressed" suffix to all ↵Lightning_A
InputEventWithModifiers properties/methods
2021-04-05Make scrollwheel zoom based on mouse positionLightning_A
2021-04-05Fix crashes in *_input functionsRafał Mikrut
2021-03-28Merge pull request #47351 from volzhs/graphedit-boxselectionRémi Verschelde
Fix drawing boxselection on GraphEdit
2021-03-25Fix typo 'previus_selected'volzhs
2021-03-25Fix drawing boxselection on GraphEditvolzhs
2021-03-23Rename ButtonList enum and members to MouseButtonAaron Franke
2021-03-20Prevent resizing minimap bigger than GraphEdit (Fix #47189)jmb462
Minimap size couldn't be resized back after been resized bigger than GraphEdit cause the grabber was out of GraphEdit. This commit prevents resizing minimap bigger than GraphEdit and fix this issue.
2021-03-18Enable zooming graph_edit with scrollwheelLightning_A
2021-03-01Properly hide GraphEdit's minimapYuri Sizov
2021-02-27Fix GraphEdit connects when graph is zoomed/unzoomed Yuri Roubinsky
2021-02-18Removed hardcoded shortcuts from /scene and converted to input actionsEric M
This removes hardcoded actions from things like LineEdit and TextEdit. Previously, things like copy, paste, etc were all hardcoded to Ctrl+C, Ctrl+V, etc. They could not be changed. This allows the possibility of them being changed, by making them use the action map. This has the added benefit of greatly simplifying the input handling logic in those controls. The logic which was previously in a huge and hard to follow switch statement has been extracted to individual methods.
2021-02-11Merge pull request #45870 from gongpha/graphedit-connection-updateRémi Verschelde
Update GraphEdit when GraphNode's slot is updated
2021-02-11Update GraphEdit when GraphNode's slot is updatedKongfa Waroros
2021-02-09Initialize class variables with default values in scene/ [2/2]Rafał Mikrut
2021-02-04doc: Don't bind argument names with p_ prefixRémi Verschelde
This prefix is used in the C++ codebase, not in the scripting API.
2021-01-25Fix minimap capturing events and improve its themeYuri Sizov
Add an editor setting for minimap opacity in visual editors
2021-01-14Prevent signal disconnection attempts on invalid referencesYuri Sizov
2021-01-01Update copyright statements to 2021Rémi Verschelde
Happy new year to the wonderful Godot community! 2020 has been a tough year for most of us personally, but a good year for Godot development nonetheless with a huge amount of work done towards Godot 4.0 and great improvements backported to the long-lived 3.2 branch. We've had close to 400 contributors to engine code this year, authoring near 7,000 commit! (And that's only for the `master` branch and for the engine code, there's a lot more when counting docs, demos and other first-party repos.) Here's to a great year 2021 for all Godot users 🎆
2020-12-28Merge pull request #44569 from madmiraal/rename-unselect-deselectRémi Verschelde
Rename unselect to deselect
2020-12-26Update GraphEdit connection to reflect new signal nameMarcel Admiraal
2020-12-23Rename Control margin to offsetMarcel Admiraal
2020-12-21Rename unselect to deselectMarcel Admiraal
2020-12-18Added GraphEdit properties to control lines thickness and antialiasingYuri Roubinsky
2020-12-17FIx visual issues with GraphEdit minimapYuri Sizov
2020-11-30Add a minimap to the GraphEditYuri Sizov
2020-11-27Restored antialiased lines by emulation using triangle stripsYuri Roubinsky
2020-10-20Removed underscore from GraphEdit begin/end_node_move signalsYuri Roubinsky
2020-10-19Fix emit_signal timing for GraphEdit's begin/end node moveGabriel Van Eyck
2020-10-01Renamed toplevel to be top_levelDuroxxigar
2020-09-11Disconnect item_rect_changed when removing a child of GraphEditWilson E. Alvarez
2020-07-09Emit signals for GraphEdit multi-node selection and unselectionMaganty Rushyendra
Emit `node_selected` and `node_deselected` signals where appropriate when selecting or unselecting multiple GraphEdit nodes at once.
2020-07-05Fix GraphEdit reconnecting to disconnected portYuri Roubinsky