summaryrefslogtreecommitdiff
path: root/scene/gui/graph_edit.cpp
AgeCommit message (Collapse)Author
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
2020-07-04Prevents incorrect connection attempt on port clicking in GraphEditYuri Roubinsky
Prevents incorrect connection attempt on port clicking in GraphEdit
2020-06-19Remove ToolButton in favor of ButtonHugo Locurcio
ToolButton has no redeeming differences with Button; it's just a Button with the Flat property enabled by default. Removing it avoids some confusion when creating GUIs. Existing ToolButtons will be converted to Buttons, but the Flat property won't be enabled automatically. This closes https://github.com/godotengine/godot-proposals/issues/1081.
2020-05-16Remove get_local_mouse_position() hack in GraphEditsmartin015
2020-05-14Style: Enforce braces around if blocks and loopsRémi Verschelde
Using clang-tidy's `readability-braces-around-statements`. https://clang.llvm.org/extra/clang-tidy/checks/readability-braces-around-statements.html
2020-05-14Style: Enforce separation line between function definitionsRémi Verschelde
I couldn't find a tool that enforces it, so I went the manual route: ``` find -name "thirdparty" -prune \ -o -name "*.cpp" -o -name "*.h" -o -name "*.m" -o -name "*.mm" \ -o -name "*.glsl" > files perl -0777 -pi -e 's/\n}\n([^#])/\n}\n\n\1/g' $(cat files) misc/scripts/fix_style.sh -c ``` This adds a newline after all `}` on the first column, unless they are followed by `#` (typically `#endif`). This leads to having lots of places with two lines between function/class definitions, but clang-format then fixes it as we enforce max one line of separation. This doesn't fix potential occurrences of function definitions which are indented (e.g. for a helper class defined in a .cpp), but it's better than nothing. Also can't be made to run easily on CI/hooks so we'll have to be careful with new code. Part of #33027.
2020-05-14Style: clang-format: Disable KeepEmptyLinesAtTheStartOfBlocksRémi Verschelde
Which means that reduz' beloved style which we all became used to will now be changed automatically to remove the first empty line. This makes us lean closer to 1TBS (the one true brace style) instead of hybridating it with some Allman-inspired spacing. There's still the case of braces around single-statement blocks that needs to be addressed (but clang-format can't help with that, but clang-tidy may if we agree about it). Part of #33027.
2020-04-29[Core] Rename linear_interpolate to lerpAaron Franke
2020-04-28Rename InputFilter back to InputRémi Verschelde
It changed name as part of the DisplayServer and input refactoring in #37317, with the rationale that input no longer goes through the main loop, so the previous Input singleton now only does filtering. But the gains in consistency are quite limited in the renaming, and it breaks compatibility for all scripts and tutorials that access the Input singleton via the scripting language. A temporary option was suggested to keep the scripting singleton named `Input` even if its type is `InputFilter`, but that adds inconsistency and breaks C#. Fixes godotengine/godot-proposals#639. Fixes #37319. Fixes #37690.
2020-04-15Add "node_unselected" signal for GraphEditasheraryam
2020-04-02Replace NULL with nullptrlupoDharkael
2020-03-26Popups are now windows also (broken!)Juan Linietsky
2020-03-26Refactored input, goes all via windows now.Juan Linietsky
Also renamed Input to InputFilter because all it does is filter events.
2020-03-26Refactored Input, create DisplayServer and DisplayServerX11Juan Linietsky
2020-03-01Merge pull request #18020 from bruvzg/input_fix_non_latin_and_add_hw_scancodesRémi Verschelde
Fix non-latin layout scancodes on Linux, adds access to physical scancodes.
2020-02-28Signals: Manually port most of remaining connect_compat usesRémi Verschelde
It's tedious work... Some can't be ported as they depend on private or protected methods of different classes, which is not supported by callable_mp (even if it's a class inherited by the current one).
2020-02-28Signals: Port connect calls to use callable_mpRémi Verschelde
Remove now unnecessary bindings of signal callbacks in the public API. There might be some false positives that need rebinding if they were meant to be public. No regular expressions were harmed in the making of this commit. (Nah, just kidding.)
2020-02-25Variant: Added 64-bit packed arrays, renamed Variant::REAL to FLOAT.Juan Linietsky
- Renames PackedIntArray to PackedInt32Array. - Renames PackedFloatArray to PackedFloat32Array. - Adds PackedInt64Array and PackedFloat64Array. - Renames Variant::REAL to Variant::FLOAT for consistency. Packed arrays are for storing large amount of data and creating stuff like meshes, buffers. textures, etc. Forcing them to be 64 is a huge waste of memory. That said, many users requested the ability to have 64 bits packed arrays for their games, so this is just an optional added type. For Variant, the float datatype is always 64 bits, and exposed as `float`. We still have `real_t` which is the datatype that can change from 32 to 64 bits depending on a compile flag (not entirely working right now, but that's the idea). It affects math related datatypes and code only. Neither Variant nor PackedArray make use of real_t, which is only intended for math precision, so the term is removed from there to keep only float.
2020-02-25Rename `scancode` to `keycode`.bruvzg
Add `physical_keycode` (keyboard layout independent keycodes) to InputEventKey and InputMap. Fix non-latin keyboard layout keycodes on Linux/X11 (fallback to physical keycodes).
2020-02-21Added StringName as a variant type.Juan Linietsky
Also changed all relevant properties defined manually to StringName.
2020-02-20Reworked signal connection system, added support for Callable and Signal ↵Juan Linietsky
objects and made them default.
2020-02-11Bugfixes and ability to better specify filter and repeat modes everywhere.Juan Linietsky
Removes antialiased flag for draw_* methods.
2020-02-11Texture refactorJuan Linietsky
-Texture renamed to Texture2D -TextureLayered as base now inherits 2Darray, cubemap and cubemap array -Removed all references to flags in textures (they will go in the shader) -Texture3D gone for now (will come back later done properly) -Create base rasterizer for RenderDevice, RasterizerRD
2020-02-07GraphEdit: Fix regression with GraphNode mouse filterRémi Verschelde
PR #35068 made Container (which GraphNode inherits) default to MOUSE_FILTER_PASS, so I removed the manual override, but it turns out that GraphNode's constructor still overrides it to MOUSE_FILTER_STOP. Another fix could be to remove the STOP in the constructor, but I don't know if it's there for a specific reason (e.g. to have GraphNodes STOP by default, but PASS in a specific case). Fixes #35978.
2020-02-06Merge pull request #35068 from akien-mga/containers-mouse-filter-passRémi Verschelde
Use MOUSE_FILTER_PASS for all containers
2020-01-16Fix scrollbar regression on large scalesMichael Alexsander
2020-01-14Cleanup unnecessary code from before the scrollbar overlapping fixesMichael Alexsander
2020-01-13Fix more instances of overlapping scrollbarsMichael Alexsander
2020-01-13Use MOUSE_FILTER_PASS for all containers (but PanelContainer)Rémi Verschelde
Containers are meant to forward mouse input to their the Controls they contain. PanelContainer has a visible Panel stylebox, so it still defaults to STOP. Fixes #34933.
2020-01-07Make possible to edit the GraphEdit's selection rect colorsMichael Alexsander
2020-01-01Update copyright statements to 2020Rémi Verschelde
Happy new year to the wonderful Godot community! We're starting a new decade with a well-established, non-profit, free and open source game engine, and tons of further improvements in the pipeline from hundreds of contributors. Godot will keep getting better, and we're looking forward to all the games that the community will keep developing and releasing with it.
2019-11-15Make holding Ctrl toggle snapping in GraphEditHugo Locurcio
This affects the visual script and visual shader editors as well.
2019-08-30Fixed GraphEdit header icons to make them update when theme is changedChaosus89
2019-08-15Add an outline to box selection rectangles for better visibilityHugo Locurcio
This also refactors selection box color definitions to avoid repetition.
2019-07-31Implement copy/paste in visual shadersChaosus
2019-06-27Shows menu when dragging connection on empty space in visual shader graphChaosus
2019-04-25Use approximate equallity methods in many placesAaron Franke
2019-03-31Use the editor theme's accent color for 2D/3D selections and rotationsHugo Locurcio
2019-03-01Fixed some crashers, closes #26393Juan Linietsky
2019-02-20Add -Wshadow=local to warnings and fix reported issues.marxin
Fixes #25316.
2019-01-02Make GraphEdit lines smoother and scale their width on hiDPI displaysHugo Locurcio
2019-01-01Update copyright statements to 2019Rémi Verschelde
Happy new year to the wonderful Godot community!
2018-12-27doc: Sync classref with current sourceRémi Verschelde
Fix various code formatting issues and argument names.
2018-12-04Add tooltips to GraphEdit nodeMichael Alexsander Silva Dias