Commit Graph

350 Commits

Author SHA1 Message Date
Juan Linietsky
97a3a66220 Improved 3D Scene Importer
* Added option for importers to show an Advanced settings dialog
* Created advanced settings dialog for Scene Importer
* Cleaned up importers (remove many old/unused options)
* Added the ability to customize every node, material, mesh and animation individually
* Saving to animations and meshes to files is now a manual process, making it more predictable
* Added the ability for materials to be replaced by external files (or to be made external, up to you).
* When doubleclicking an impoted scene in the filesystem dock, it automatically shows the import settings instead of asking to open it.

WARNING: Lightmap UV unwrap is not working, it needs to be re-made.
2021-03-22 12:16:40 -03:00
Justin Ho
fa6fd3a2d0
Check for null pointer in get_column_width(0) 2021-03-18 10:25:55 -07:00
kobewi
5cd5722f6a Deselect column only if belongs to deselected item 2021-03-03 19:39:29 +01:00
Rémi Verschelde
cb29e6c49c
Merge pull request #45994 from Jummit/expose-edit-selected
Expose edit_selected in Tree
2021-02-22 16:29:03 +01:00
Jummit
13fb24cb6f expose edit_selected in Tree 2021-02-22 15:50:21 +01:00
kobewi
282639d653 Select TreeItem if none is selected 2021-02-16 01:36:16 +01:00
bruvzg
d78336c65e
[CTL] Add missing font outline drawing routines and theme constants. 2021-02-14 14:11:44 +02:00
Rafał Mikrut
7961a1dea3 Initialize class variables with default values in scene/ [2/2] 2021-02-09 18:24:36 +01:00
Rémi Verschelde
df9c98e107
Merge pull request #45812 from RandomShaper/keep_selected_visible
Keep selected node visible after filter change
2021-02-09 10:43:21 +01:00
Pedro J. Estébanez
177b804f30 Expose Tree::scroll_to_item() 2021-02-08 02:19:13 +01:00
kobewi
ef8ec59f2f Set selected Tree item to null when deselected
Co-authored-by: Brody Eller <wviper3@gmail.com>
2021-02-07 22:12:52 +01:00
Marcel Admiraal
8eb39f4e8b Change themes *_color_* to *_*_color
Changed:
font_color_accel -> font_accelerator_color
font_color_bg -> font_unselected_color
font_color_disabled -> font_disabled_color
font_color_fg -> font_selected_color
font_color_hover -> font_hover_color
font_color_hover_pressed -> font_hover_pressed_color
font_color_pressed -> font_pressed_color
font_color_readonly -> font_readonly_color
font_color_selected -> font_selected_color
font_color_shadow -> font_shadow_color
font_color_uneditable -> font_uneditable_color
icon_color_disabled -> icon_disabled_color
icon_color_hover -> icon_hover_color
icon_color_hover_pressed -> icon_hover_pressed_color
icon_color_normal -> icon_normal_color
icon_color_pressed -> icon_pressed_color

Also includes:
font_outline_modulate -> font_outline_color
tab_fg -> tab_selected
tab_bg -> tab_unselected
2021-01-24 06:28:49 +00:00
gongpha
bb867d41ee Blocking updating in SceneTreeEditor when editing an item 2021-01-06 14:46:48 +07:00
Rémi Verschelde
b5334d14f7
Update copyright statements to 2021
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 🎆
2021-01-01 20:19:21 +01:00
Marcel Admiraal
b743a2ef3c Rename Math::stepify to snapped 2020-12-28 13:01:30 +00:00
Marcel Admiraal
5b937d493f Rename empty() to is_empty() 2020-12-28 10:39:56 +00:00
Marcel Admiraal
4b8b803931 Rename Control margin to offset 2020-12-23 06:25:56 +00:00
Tomasz Chabora
2c048ea164 Cleanup unused engine code 2020-12-09 12:12:36 +01:00
bruvzg
99666de00f
[Complex Text Layouts] Refactor Font class, default themes and controls to use Text Server interface.
Implement interface mirroring.
Add TextLine and TextParagraph classes.
Handle UTF-16 input on macOS and Windows.
2020-11-26 14:25:48 +02:00
Aaron Franke
02161aad5a
Remove empty lines around braces with the formatting script 2020-11-16 23:38:11 -05:00
reduz
127458ed17 Reorganized core/ directory, it was too fatty already
-Removed FuncRef, since Callable makes it obsolete
-Removed int_types.h as its obsolete in c++11+
-Changed color names code
2020-11-07 20:17:12 -03:00
volzhs
cac4fedb2a Respect Tree.set_icon_max_width size for drawing selection box 2020-10-13 10:38:32 +09:00
Duroxxigar
4834e14493 Updated getters and setters names for toplevel 2020-10-02 19:09:01 -04:00
Dashcell
1ac936f035 Dropping file on parrent dirrectory fixed 2020-09-16 14:53:22 -03:00
Marcel Admiraal
79802b31a9 Check if old mouse column is still available. 2020-09-08 10:24:57 +01:00
Aaron Franke
56e2c6c704
Make all String float conversion methods be 64-bit 2020-07-27 18:38:53 -04:00
Tomasz Chabora
c0479496fa Prevent infinite loop in Tree incremental search 2020-07-20 13:22:00 +02:00
Haoyu Qiu
45d0799b5b Prevent dragging from SceneTree buttons 2020-07-02 15:27:59 +08:00
Juan Linietsky
058166fb6c Fix doubleclick on tree item, restore input focus on previous windows.
Closes #37335
2020-07-01 12:46:39 -03:00
Michael Alexsander
144a4cc39f Fix Tree's 'scroll_to_item()' not working correctly on some cases 2020-06-30 18:22:26 -03:00
Giuliano Barberi
d443a13244 Tree: Calling update in _gui_input less frequently 2020-06-06 17:02:22 -04:00
Rémi Verschelde
0ee0fa42e6 Style: Enforce braces around if blocks and loops
Using clang-tidy's `readability-braces-around-statements`.
https://clang.llvm.org/extra/clang-tidy/checks/readability-braces-around-statements.html
2020-05-14 21:57:34 +02:00
Rémi Verschelde
07bc4e2f96 Style: Enforce separation line between function definitions
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-14 16:54:55 +02:00
Rémi Verschelde
0be6d925dc Style: clang-format: Disable KeepEmptyLinesAtTheStartOfBlocks
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-05-14 16:54:55 +02:00
Rémi Verschelde
e956e80c1f Style: clang-format: Disable AllowShortIfStatementsOnASingleLine
Part of #33027, also discussed in #29848.

Enforcing the use of brackets even on single line statements would be
preferred, but `clang-format` doesn't have this functionality yet.
2020-05-10 13:12:16 +02:00
Stanislav Labzyuk
ac8814624d Bind set_suffix/get_suffix in Tree 2020-05-06 14:47:19 +07:00
Rémi Verschelde
fdf58a5858 Rename InputFilter back to Input
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-28 15:19:49 +02:00
theludovyc
875c994109 Remove unused ofs variable 2020-04-08 20:00:43 +02:00
lupoDharkael
95a1400a2a Replace NULL with nullptr 2020-04-02 13:38:00 +02:00
Juan Linietsky
a6f3bc7c69 Renaming of servers for coherency.
VisualServer -> RenderingServer
PhysicsServer -> PhysicsServer3D
Physics2DServer -> PhysicsServer2D
NavigationServer -> NavigationServer3D
Navigation2DServer -> NavigationServer2D

Also renamed corresponding files.
2020-03-27 15:21:27 -03:00
Juan Linietsky
b3080bc2f4 Popups have also been converted to windows
Controls using the old modal API have been replaced to use popups.
2020-03-26 15:49:44 +01:00
Juan Linietsky
c7b4dcae2f Open sub-windows as embedded if the OS does not support them 2020-03-26 15:49:43 +01:00
Juan Linietsky
441f1a5fe9 Popups are now windows also (broken!) 2020-03-26 15:49:42 +01:00
Juan Linietsky
8e6960a69e Refactored input, goes all via windows now.
Also renamed Input to InputFilter because all it does is filter events.
2020-03-26 15:49:39 +01:00
Juan Linietsky
9e08742de8 Added a Window node, and made it the scene root.
Still a lot of work to do.
2020-03-26 15:49:38 +01:00
Juan Linietsky
f8a79a97c7 Effective DisplayServer separation, rename X11 -> LinuxBSD 2020-03-26 15:49:34 +01:00
Juan Linietsky
4396e98834 Refactored Input, create DisplayServer and DisplayServerX11 2020-03-26 15:49:32 +01:00
Rémi Verschelde
e2b66cacf7
Merge pull request #18020 from bruvzg/input_fix_non_latin_and_add_hw_scancodes
Fix non-latin layout scancodes on Linux, adds access to physical scancodes.
2020-03-01 23:00:42 +01:00
Rémi Verschelde
01afc442c7 Signals: Port connect calls to use callable_mp
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-28 14:24:09 +01:00
bruvzg
1af06d3d46
Rename scancode to keycode.
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-25 12:30:33 +02:00
Rémi Verschelde
2cf6ac6c50 Replace FALLTHROUGH macro by C++17 [[fallthrough]]
This attribute is now part of the standard we target so we no longer
need compiler-specific hacks.

Also enables -Wimplicit-fallthrough for Clang now that we can properly
support it. It's already on by default for GCC's -Wextra.

Fixes new warnings raised by Clang's -Wimplicit-fallthrough.
2020-02-23 00:52:50 +01:00
Juan Linietsky
3c0059650d Added StringName as a variant type.
Also changed all relevant properties defined manually to StringName.
2020-02-21 14:25:29 +01:00
Juan Linietsky
69c95f4b4c Reworked signal connection system, added support for Callable and Signal objects and made them default. 2020-02-20 08:24:50 +01:00
Juan Linietsky
cf8c679a23 ObjectID converted to a structure, fixes many bugs where used incorrectly as 32 bits. 2020-02-12 14:24:54 -03:00
Juan Linietsky
3f335ce3d4 Texture refactor
-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-11 11:53:26 +01:00
Rémi Verschelde
e420b85ba5
Merge pull request #35840 from timothyqiu/groups-match
Fixes add group in Group Editor dialog
2020-02-09 12:53:37 +01:00
Michael Alexsander
830dd5cd8d Fix text clipping in Tree items not working with negative values 2020-02-08 20:08:18 -03:00
Haoyu Qiu
421ea09195 Fixes add group in Group Editor dialog
Before this fix, new group can't be created if any existing group starts
with the new name.
2020-02-02 11:11:20 +08:00
Haoyu Qiu
229b398146 Better horizontal scroll for Tree
* Adds pan gesture support for horizontal scroll.
* Scrolls horizontally when needed to ensure cursor visiblility.
2020-01-03 20:16:32 +08:00
Haoyu Qiu
0ee93257e8 Fixes Tree item offset when root is hidden
Before this fix, one vseparation is counted for a hidden root item.
2020-01-02 09:20:43 +08:00
Haoyu Qiu
a77e869b87 Ensures cursor visible for Tree with title 2020-01-01 22:47:42 +08:00
Rémi Verschelde
f7715b58bd
Merge pull request #34724 from timothyqiu/tree-right
Fixes behavior of right arrow key in Tree
2020-01-01 12:13:28 +01:00
Rémi Verschelde
a7f49ac9a1 Update copyright statements to 2020
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.
2020-01-01 11:16:22 +01:00
Haoyu Qiu
838d9519bc Fixes behavior of right arrow key in Tree 2020-01-01 17:57:40 +08:00
PouleyKetchoupp
47a4ca0022 Fixed crash when pressing down key on empty Tree
Fixes #33554
2019-11-12 08:15:29 +01:00
Rémi Verschelde
2143f46df2
Merge pull request #33516 from qarmin/small_fixes
Memory leaks and crash fixes
2019-11-10 10:17:19 +01:00
Rafał Mikrut
7dda9309f9 Memory leak and crash fixes 2019-11-10 09:49:13 +01:00
Gilles Roudiere
8eb2eeae0f Fixes the edit rect in TreeItems 2019-11-03 16:08:07 +01:00
dankan1890
b469ff17e2 Added missing bind_method to TreeItem::get_custom_color().
Fix #32595
2019-10-06 22:07:50 +02:00
Rémi Verschelde
ee611d149b
Merge pull request #22834 from lupoDharkael/recursive-item
Add call_recursive method to TreeItem
2019-10-04 15:32:14 +02:00
MrCdK
03d6291aaf Handle scrolling correctly in Tree controls inside ScrollContainers 2019-10-02 12:34:04 +02:00
Rémi Verschelde
d0e45e78a4 doc: Sync classref with current source
And various fixes to bindings, hyperlinks and an uninitialized variable.
2019-09-27 22:16:42 +02:00
Rémi Verschelde
5cb926a001
Merge pull request #29681 from swarnimarun/vs-graph-unification
Visual Script Graph Unification
2019-09-27 15:54:37 +02:00
Nolan Darilek
5629a006d9 #14011: Implement TreeItem.get_button_tooltip(column, idx).
When added to `TreeItem`, buttons are given tooltips. When returned via `get_button(...)`, however, the button is a `Texture` and the tooltip information isn't included.

For accessibility purposes, it is useful to have access to the tooltip text. As such, we can retrieve a button's tooltip to use as a button label.
2019-09-26 10:41:02 -05:00
Swarnim Arun
59738e3fa3
Visualscript editor graph unification & refactoring
Removes the need to have separate graphs per function for the VisualScript Nodes, and refactoring UI and other improvements such as fuzzy search, right click search boxes and in-graph editable nodes
2019-09-26 01:53:58 +05:30
Rémi Verschelde
f7cd50e900
Merge pull request #32206 from Calinou/remove-unused-tree-constants
Remove an unused icon and constant in Tree
2019-09-20 23:14:50 +02:00
Hugo Locurcio
40a5de97e6
Remove an unused icon and constant in Tree 2019-09-20 17:50:13 +02:00
luz.paz
91ecd7b6a6 Fix misc. source comment typos
Found using `codespell -q 3 -S ./thirdparty,*.po -L ang,ba,cas,dof,doubleclick,fave,hist,leapyear,lod,nd,numer,ois,paket,seeked,sinc,switchs,te,uint -D ~/Projects/codespell/codespell_lib/data/dictionary.txt `
2019-09-19 14:36:52 -04:00
lupoDharkael
306e64a9f5 Add call_recursive method to TreeItem 2019-09-04 12:42:08 +02:00
Rémi Verschelde
331bb5a8c6
Merge pull request #31295 from fstiewitz/focus-rect-issue
Fix get_meta error and visual bug when editing scene with keyboard
2019-09-03 13:11:41 +02:00
merumelu
eac0af5892 Tree: fix and expose icon modulation 2019-08-24 17:37:22 +02:00
Fabian Stiewitz
dcf65433f1 fix(Tree): get_meta condition
If an item in a Tree has never been selected, its metadata "__focus_rect"
is not set. If an unselected item is then edited (Tree::edit_selected()),
an error is thrown in console.
2019-08-11 16:55:01 +02:00
Tomasz Chabora
af5e0fff66 Remove ERR_EXPLAIN from scene/* code 2019-08-09 13:54:52 +02:00
Rémi Verschelde
d844e30614 Inspector: Make default float step configurable
Also allow lifting the decimal step formatting with a hint range step
of 0. A new `range_step_decimals()` is added for this to avoid breaking
compatibility on the general purpose `step_decimals()` (which still
returns 0 for an input step of 0).

Supersedes #25470.
Partial fix for #18251.
2019-07-23 17:31:38 +02:00
qarmin
6cbaf7662f Changed some code showed in LGTM and Coverage 2019-07-20 08:09:57 +02:00
Rémi Verschelde
9580c2b13e TreeItem: Rename new button disable method to set_button_disabled
Follow-up to #30408.

Also sync classref with current source.
2019-07-09 09:17:42 +02:00
Meriipu
fe9ec58028 TreeItem: Added a setter for the disabled-property of buttons 2019-07-07 16:18:36 +02:00
Rémi Verschelde
eaaff9da31
Merge pull request #29941 from qarmin/redundant_code_and_others
Remove redundant code, possible NULL pointers and others
2019-06-27 01:05:18 +02:00
qarmin
4e5310cc60 Some code changed with Clang-Tidy 2019-06-26 15:08:25 +02:00
unknown
c58b7ab094 Fixed script and visibility icons's highlight height in tree 2019-06-23 22:26:24 +05:30
Rémi Verschelde
5c66771e3e
Merge pull request #29283 from qarmin/fix_some_always_same_values
Remove always true/false values
2019-06-20 21:10:10 +02:00
qarmin
072e40368e Fix always true/false values 2019-06-20 16:59:48 +02:00
Rémi Verschelde
84d969a42a Cleanup some unecessary editor/ includes in scene/
Part of #29730, handles false positives.
2019-06-12 22:48:43 +02:00
Rémi Verschelde
434a1fddf3
Merge pull request #29648 from jbuck3/tree-tooltips
Fix Tree button tooltips
2019-06-12 13:29:36 +02:00
Rémi Verschelde
971b5160c6
Merge pull request #29306 from qarmin/small_code_fixes
Small fixes to unrechable code, possibly overflows, using NULL pointers
2019-06-12 12:49:21 +02:00
James Buck
215fed1fb3 Fix Tree button tooltips
Fixes #22777
2019-06-09 22:33:47 -05:00
Tomasz Chabora
2f75471f24 Fix crash when searching Tree with no selection 2019-06-04 01:50:50 +02:00
qarmin
8245db869f Small fixes to unrechable code, possibly overflows, using NULL pointers 2019-06-03 21:52:50 +02:00
Rémi Verschelde
64a88e8ef3
Merge pull request #28841 from KoBeWi/option_button_options
Improvements to incremental search
2019-06-01 11:47:06 +02:00
Tomasz Chabora
9de912caf5 Improvements to incremental search 2019-05-31 14:56:49 +02:00