summaryrefslogtreecommitdiffstats
path: root/scene/gui/graph_edit.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* Remove ToolButton in favor of ButtonHugo Locurcio2020-06-191-4/+9
| | | | | | | | | | | 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.
* Remove get_local_mouse_position() hack in GraphEditsmartin0152020-05-161-8/+5
|
* Style: Enforce braces around if blocks and loopsRémi Verschelde2020-05-141-41/+76
| | | | | Using clang-tidy's `readability-braces-around-statements`. https://clang.llvm.org/extra/clang-tidy/checks/readability-braces-around-statements.html
* Style: Enforce separation line between function definitionsRémi Verschelde2020-05-141-0/+2
| | | | | | | | | | | | | | | | | | | | | | | 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.
* Style: clang-format: Disable KeepEmptyLinesAtTheStartOfBlocksRémi Verschelde2020-05-141-104/+0
| | | | | | | | | | | | | | 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.
* [Core] Rename linear_interpolate to lerpAaron Franke2020-04-291-3/+3
|
* Rename InputFilter back to InputRémi Verschelde2020-04-281-10/+10
| | | | | | | | | | | | | | | | 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.
* Add "node_unselected" signal for GraphEditasheraryam2020-04-151-7/+18
|
* Replace NULL with nullptrlupoDharkael2020-04-021-4/+4
|
* Popups are now windows also (broken!)Juan Linietsky2020-03-261-17/+17
|
* Refactored input, goes all via windows now.Juan Linietsky2020-03-261-10/+10
| | | | Also renamed Input to InputFilter because all it does is filter events.
* Refactored Input, create DisplayServer and DisplayServerX11Juan Linietsky2020-03-261-1/+1
|
* Merge pull request #18020 from bruvzg/input_fix_non_latin_and_add_hw_scancodesRémi Verschelde2020-03-011-4/+4
|\ | | | | Fix non-latin layout scancodes on Linux, adds access to physical scancodes.
| * Rename `scancode` to `keycode`.bruvzg2020-02-251-4/+4
| | | | | | | | | | Add `physical_keycode` (keyboard layout independent keycodes) to InputEventKey and InputMap. Fix non-latin keyboard layout keycodes on Linux/X11 (fallback to physical keycodes).
* | Signals: Manually port most of remaining connect_compat usesRémi Verschelde2020-02-281-1/+1
| | | | | | | | | | | | | | | | 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).
* | Signals: Port connect calls to use callable_mpRémi Verschelde2020-02-281-27/+14
| | | | | | | | | | | | | | | | | | 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.)
* | Variant: Added 64-bit packed arrays, renamed Variant::REAL to FLOAT.Juan Linietsky2020-02-251-1/+1
|/ | | | | | | | | | | | | | | | | | | | | - 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.
* Added StringName as a variant type.Juan Linietsky2020-02-211-4/+4
| | | | Also changed all relevant properties defined manually to StringName.
* Reworked signal connection system, added support for Callable and Signal ↵Juan Linietsky2020-02-201-15/+15
| | | | objects and made them default.
* Bugfixes and ability to better specify filter and repeat modes everywhere.Juan Linietsky2020-02-111-2/+2
| | | | Removes antialiased flag for draw_* methods.
* Texture refactorJuan Linietsky2020-02-111-3/+3
| | | | | | | | -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
* GraphEdit: Fix regression with GraphNode mouse filterRémi Verschelde2020-02-071-0/+1
| | | | | | | | | | | | 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.
* Merge pull request #35068 from akien-mga/containers-mouse-filter-passRémi Verschelde2020-02-061-2/+0
|\ | | | | Use MOUSE_FILTER_PASS for all containers
| * Use MOUSE_FILTER_PASS for all containers (but PanelContainer)Rémi Verschelde2020-01-131-2/+0
| | | | | | | | | | | | | | | | | | | | 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.
* | Fix scrollbar regression on large scalesMichael Alexsander2020-01-161-2/+14
| |
* | Cleanup unnecessary code from before the scrollbar overlapping fixesMichael Alexsander2020-01-141-14/+3
| |
* | Fix more instances of overlapping scrollbarsMichael Alexsander2020-01-131-0/+7
|/
* Make possible to edit the GraphEdit's selection rect colorsMichael Alexsander2020-01-071-8/+2
|
* Update copyright statements to 2020Rémi Verschelde2020-01-011-2/+2
| | | | | | | | | | | 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.
* Make holding Ctrl toggle snapping in GraphEditHugo Locurcio2019-11-151-2/+5
| | | | This affects the visual script and visual shader editors as well.
* Fixed GraphEdit header icons to make them update when theme is changedChaosus892019-08-301-5/+5
|
* Add an outline to box selection rectangles for better visibilityHugo Locurcio2019-08-151-2/+8
| | | | | This also refactors selection box color definitions to avoid repetition.
* Implement copy/paste in visual shadersChaosus2019-07-311-7/+23
|
* Shows menu when dragging connection on empty space in visual shader graphChaosus2019-06-271-2/+10
|
* Use approximate equallity methods in many placesAaron Franke2019-04-251-1/+1
|
* Use the editor theme's accent color for 2D/3D selections and rotationsHugo Locurcio2019-03-311-1/+3
|
* Fixed some crashers, closes #26393Juan Linietsky2019-03-011-2/+3
|
* Add -Wshadow=local to warnings and fix reported issues.marxin2019-02-201-11/+11
| | | | Fixes #25316.
* Make GraphEdit lines smoother and scale their width on hiDPI displaysHugo Locurcio2019-01-021-1/+9
|
* Update copyright statements to 2019Rémi Verschelde2019-01-011-2/+2
| | | | Happy new year to the wonderful Godot community!
* doc: Sync classref with current sourceRémi Verschelde2018-12-271-1/+1
| | | | Fix various code formatting issues and argument names.
* Add tooltips to GraphEdit nodeMichael Alexsander Silva Dias2018-12-041-0/+4
|
* Repaired mistyped of 'just_disconnected'.M. Huri2018-10-191-6/+6
|
* Fix warnings on release builds (not DEBUG_ENABLED)Rémi Verschelde2018-10-031-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | Fixes the following Clang 5 warnings: ``` modules/bmp/image_loader_bmp.cpp:46:60: warning: comparison of unsigned expression < 0 is always false [-Wtautological-compare] modules/bmp/image_loader_bmp.cpp:48:61: warning: comparison of unsigned expression < 0 is always false [-Wtautological-compare] drivers/png/image_loader_png.cpp:231:20: warning: comparison of unsigned expression >= 0 is always true [-Wtautological-compare] scene/gui/graph_edit.cpp:1045:8: warning: comparison of constant 0 with expression of type 'bool' is always false [-Wtautological-constant-out-of-range-compare] core/class_db.cpp:812:13: warning: unused variable 'check' [-Wunused-variable] core/io/file_access_pack.cpp:172:11: warning: unused variable 'ver_rev' [-Wunused-variable] core/math/bsp_tree.cpp:195:13: warning: unused variable 'plane' [-Wunused-variable] core/math/bsp_tree.cpp:168:6: warning: unused variable 'plane_count' [-Wunused-variable] modules/gdscript/gdscript_function.cpp:685:10: warning: unused variable 'ok' [-Wunused-variable] modules/gdscript/gdscript_function.cpp:706:10: warning: unused variable 'ok' [-Wunused-variable] modules/gdscript/gdscript_function.cpp:755:19: warning: unused variable 'var_type' [-Wunused-variable] modules/gdscript/gdscript_function.cpp:1306:12: warning: unused variable 'err' [-Wunused-variable] modules/gdscript/gdscript_function.cpp:158:15: warning: unused function '_get_var_type' [-Wunused-function] modules/gdscript/gdscript_parser.cpp:750:20: warning: unused variable 'lv' [-Wunused-variable] modules/gdscript/gdscript_parser.cpp:59:15: warning: unused function '_find_function_name' [-Wunused-function] scene/main/node.cpp:2489:13: warning: unused function '_Node_debug_sn' [-Wunused-function] ```
* Merge pull request #21982 from luzpaz/misc-typosRémi Verschelde2018-09-131-1/+1
|\ | | | | Misc. typos
| * Misc. typosluz.paz2018-09-121-1/+1
| | | | | | Found via `codespell -q 3 -I ../godot-word-whitelist.txt --skip="./thirdparty,*.po"`
* | Make core/ includes absolute, remove subfolders from include pathRémi Verschelde2018-09-121-2/+2
|/ | | | | | This allows more consistency in the manner we include core headers, where previously there would be a mix of absolute, relative and include path-dependent includes.
* Improve ClassDB information for some some signal parametersKelly Thomas2018-09-011-1/+1
|
* Massive rewrite to AnimationTree. Many APIs changed in order to:Juan Linietsky2018-08-201-8/+55
| | | | | -Reuse resources -Expose properties in AnimationTree
* Improve VisualScript UXK. S. Ernest (iFire) Lee2018-07-241-12/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Prototype faster function call ux. * Work on general search ux. * Able to create nodes from search. * Show class for variables but not methods. * Get actions search working. * Descriptions now show for both methods and properties. * Enable zooming on mouse wheel up and down. * Make the drag trigger on right mouse button. * Search now shows for action visual script nodes. * Able to search visual node names. * Search works better. * Change zooming scale to hide artifacts better. * Remove zoom changes * Select from base should check properties too like the other functions. * Seq_connect flag is needed to set sequence lines correctly. * Remove comment * Code cleanup with function names and arguments. * Use brief description for search descriptions. * Clean and fix bug with input nodes connecting with sequence lines. * Add a warning and fix some edge conditions with sequence into data lines and vice versa. * Don't search functions when pulling from a sequence node. * Don't show actions when pulling from a data line. * Set set and get properties. * Convert visual script operators to the correct type * Create a function preset finds only functions. * Singletons can now find functions. * Add shift-a for generic search. * Add brief descriptions for Visual Script nodes. * Search boxes can now filter names. * Add bigger hit zones to node connect. * For the drop zones, make all the rect2 areas the same size. * Function names in visual script node should be lower case so that search works better. * Use the convention of capitalize() for set, set, visual script nodes and methods. * Make search more general. Ignore "_" and make case-insensitive. Also made the search window smaller and remove extra info from search * Make type_cast use the connecting node's type and remove use of found variable. * Fix case where you call an instance's call function where it becomes an invalid call. * Make get_visual_node_names use a set of filters, move action creations and fix bug with sequence node connections. * Make the window bigger. * Make connect_data and connect_seq more robust. * Add icons to search items. * Add vs constructors in shift-a menu. * Operators, builtins and constructors show type name. Fix several problems with port connections. * In shift-a mode search everything. * Code cleanup * Work on autocompleting the type. * Use type guess in action creation. * Check if type hint string exists in object variables when generating the visual script search. * Add the hint to SceneTree. * Add original type detection. * Make type casting great again. This puts the type casted base type as the data output type string hint. * Pass the type in a VisualScriptFunctionCall too. * Set the base type correctly in VisualScriptFunctionGet and VisualScriptFunctionSet using hint string. * Make sure the instance is passed in VisualScriptPropertySet. * Restore search on the node's type. * Remove dependencies from graph_edit. * Remove dependencies from property_selector and name the class visual_script_property_selector. * Extract hot zones into a function. * Move hot_zones constants into default theme. * Bigger capture zones. * Clean messy port_grab_distance variables. * Remove RMB functionality. * Remove memory leak on showing visual script descriptions. * Read the port_grab_distance constants on enter tree and theme changed.