Commit graph

3839 commits

Author SHA1 Message Date
reduz
8b7c7f5a75 Add a new HashMap implementation
Adds a new, cleaned up, HashMap implementation.

* Uses Robin Hood Hashing (https://en.wikipedia.org/wiki/Hash_table#Robin_Hood_hashing).
* Keeps elements in a double linked list for simpler, ordered, iteration.
* Allows keeping iterators for later use in removal (Unlike Map<>, it does not do much
  for performance vs keeping the key, but helps replace old code).
* Uses a more modern C++ iterator API, deprecates the old one.
* Supports custom allocator (in case there is a wish to use a paged one).

This class aims to unify all the associative template usage and replace it by this one:
* Map<> (whereas key order does not matter, which is 99% of cases)
* HashMap<>
* OrderedHashMap<>
* OAHashMap<>
2022-05-12 11:21:29 +02:00
Rémi Verschelde
694baff233
Merge pull request #60932 from Geometror/button-fix-expand-icon 2022-05-10 22:58:56 +02:00
Hendrik Brucker
c09a5e2774 Fix button icon expansion calculation with empty text 2022-05-10 22:27:48 +02:00
floppyhammer
f76d417d8a Add fill_mode to ProgressBar 2022-05-10 19:34:48 +08:00
kobewi
20cfe6e229 Simplify anchor metadata 2022-05-09 18:51:13 +02:00
Rémi Verschelde
5013c1d5b6
Merge pull request #60890 from pfertyk/issue-60866-fix-backspace-selection-left 2022-05-09 15:52:56 +02:00
Paweł Fertyk
d1aed90976 Fix backspace when selection reaches left edge
Fixes #60866.
2022-05-09 14:16:28 +02:00
Haoyu Qiu
96cd2d9f52 Fix tree button icon not centered vertically 2022-05-09 10:53:09 +08:00
Vitika9
aef3b5681d Changed signals of ItemList 2022-05-06 13:09:04 +05:30
kobewi
1dc7bcc83c Cleanup metadata usage 2022-05-06 00:27:10 +02:00
Hugo Locurcio
b6e9314564
Merge pull request #59185 from NeilKleistGao/master 2022-05-05 16:41:39 +02:00
Rémi Verschelde
d5d86cb26e
Merge pull request #60571 from Sauermann/fix-control-screen-position
Inlcude CanvasLayer transform into calculation of Control screen position
2022-05-03 15:26:39 +02:00
Hugo Locurcio
180e5d3028
Remove RES and REF typedefs in favor of spelled out Ref<>
These typedefs don't save much typing compared to the full `Ref<Resource>`
and `Ref<RefCounted>`, yet they sometimes introduce confusion among
new contributors.
2022-05-03 01:43:50 +02:00
Rémi Verschelde
c273ddc3ee Style: Partially apply clang-tidy's cppcoreguidelines-pro-type-member-init
Didn't commit all the changes where it wants to initialize a struct
with `{}`. Should be reviewed in a separate PR.

Option `IgnoreArrays` enabled for now to be conservative, can be
disabled to see if it proposes more useful changes.

Also fixed manually a handful of other missing initializations / moved
some from constructors.
2022-05-02 16:28:25 +02:00
Nathan Franke
925e54ad65
fix lines ending in comments causing auto indent 2022-04-28 20:07:10 -05:00
Rémi Verschelde
9101c5b499
Merge pull request #52624 from e8newallm/52577
Corrected ordering of Left/Top/Right/Bottom properties
2022-04-28 17:57:02 +02:00
Markus Sauermann
f01e1ce1dd Inlcude CanvasLayer transform into calculation of Control screen position 2022-04-28 00:18:32 +02:00
Rémi Verschelde
8c2b9801fd
Merge pull request #60438 from Paulb23/text-edit-tests
Add TextEdit unit tests and multiple fixes.
2022-04-25 23:39:30 +02:00
Rindbee
44e32ba75c Fix font_size not working in TabContainer 2022-04-25 23:22:59 +08:00
Rémi Verschelde
02bb8e948f
Merge pull request #60261 from fire-forge/theme-prop-renames 2022-04-25 16:20:19 +02:00
Rémi Verschelde
49a7f929a6
Merge pull request #60123 from KoBeWi/borrowed
ItemList selection bug && navigation bug fixed
2022-04-25 16:18:58 +02:00
Thakee Nathees
09835f3cc5 ItemList selection bug && navigation bug fixed
Co-authored-by: kobewi <kobewi4e@gmail.com>
2022-04-24 00:31:02 +02:00
FireForge
3073b85de9 Rename theme properties to include underscores
- check_vadjust -> check_v_adjust
- close_h_ofs -> close_h_offset
- close_v_ofs -> close_v_offset
- commentfocus -> comment_focus
- hseparation -> h_separation
- ofs -> offset
- selectedframe -> selected_frame
- state_machine_selectedframe -> state_machine_selected_frame
- table_hseparation -> table_h_separation
- table_vseparation -> table_v_separation
- vseparation -> v_separation
2022-04-23 11:16:18 -05:00
Paulb23
7f62a74927 Multiple small TextEdit Bug Fixes
Fixed line_drawing_cache not containing anything
Fixed is_move_caret_on_right_click_enabled requiring the context menu to be enabled
Fixed when selecting_enabled is false not disabling shift + click
Fixed when selecting_enabled is false not being able to drag the caret
Fixed _delete emitting signals when nothing had changed.
Fixed insert_line_at up causing a visual update
Fixed get_pos_at_line_column returning a valid position when it was invalid
Fixed set_caret_column unnecessary emitting "caret_changed" when the column is greater then the line
Fixed select_word_under_caret not accepting the edges of words
Fixed select_word_under_caret moving the caret to the start of the line when no word was found
Fixed get_selection_line and get_selection_column not checking if the selection was enabled
Fixed set_line_as_center_visible throwing errors if it would show line 0
Fixed set_line_as_center_visible being off by one
Fixed set_line_as_last_visible not being able to show the first line
Fixed pressing UP and the end of a wrapped line sending the caret to col 0 rather then then persevering the position.
2022-04-22 17:53:14 +01:00
bruvzg
be611c1c05
Implement Label3D node.
Add "generate_mipmap" font import option.
Add some missing features to the Sprite3D.
Move BiDi override code from Control to TextServer.
Add functions to access TextServer font cache textures.
Add MSDF related flags and shader to the standard material.
Change standard material cache to use HashMap instead of Vector.
2022-04-22 12:08:46 +03:00
Hugo Locurcio
d1c2a0df4e
Add a property hint for AspectRatioContainer's ratio property
Zero or negative ratios are not valid, so the property hint prevents
choosing such values.

The property hint allows using 4 decimals so that common aspect ratios
like 16/9 can be specified with a good level of precision.
2022-04-17 22:03:47 +02:00
Michael Alexsander
bab2f3c021 Add font_separator and related properties to PopupMenu 2022-04-13 23:46:35 -03:00
Rémi Verschelde
3b57c2ce6b
Merge pull request #60221 from YeldhamDev/grid_toplevel_fix
Fix `GridContainer` not ignoring toplevel children
2022-04-14 00:33:52 +02:00
Michael Alexsander
506d8ba526 Fix GridContainer not ignoring toplevel children 2022-04-13 18:09:51 -03:00
Michael Alexsander
59c3d4e17f Fix and tweak labeled separator in PopupMenu 2022-04-13 17:13:29 -03:00
ConteZero
6530e55f2d Fix select_all() crash in RichTextLabel 2022-04-13 15:41:34 +02:00
bruvzg
8b0761d1fd
Fix sub-menu keyboard navigation. 2022-04-13 09:58:38 +03:00
Rémi Verschelde
d9cb39c2e8
Merge pull request #60170 from ConteZero/context_menu 2022-04-12 18:42:58 +02:00
ConteZero
645aded7e9 Add context menu to RichTextLabel 2022-04-12 16:28:38 +02:00
Rémi Verschelde
5974e1432e
Merge pull request #60085 from YeldhamDev/relationships_are_hard 2022-04-11 23:36:13 +02:00
Rémi Verschelde
9d86e4f446
Merge pull request #59927 from Zylann/fix_graphnode_title_trim
Fix GraphNode not resizing with larger title
2022-04-11 21:07:40 +02:00
Eric McGuirk
b1441bbcfc Fix toggling GraphEdit's minimap with minimap_enabled
Fixes #53831.
2022-04-11 17:52:04 +02:00
Rémi Verschelde
b936359e07
Merge pull request #60026 from ConteZero/shortcut_keys_enabled 2022-04-11 17:50:41 +02:00
Rémi Verschelde
4ab86c6731
Merge pull request #59980 from reduz/animation-libraries 2022-04-11 14:18:35 +02:00
Rémi Verschelde
5613ac37d6
Merge pull request #59440 from bruvzg/fd_ref_counted 2022-04-11 14:12:18 +02:00
Rémi Verschelde
f44e5dba6d
Merge pull request #60124 from KoBeWi/sepyt_noitcennoc_dilav 2022-04-11 12:52:13 +02:00
reduz
6f401439f8 Implement Animation Libraries
* Instead of containing single animations, AnimationPlayer now contains libraries.
* Libraries, in turn, contain the animations.

This paves the way for implementing the possibility of importing scenes as animation libraries, finally allowing to import animations separate from the 3D models.

Missing (will be done on separate PRs):

* Make it possible to import scenes (dae/fbx/gltf) as animation libraries.
* Make it possible for AnimationTree to import animation libraries on its own, so it does not rely on AnimationPlayer for everything.
2022-04-11 12:51:54 +02:00
bruvzg
9381acb6a4
Make FileAccess and DirAccess classes reference counted. 2022-04-11 13:28:51 +03:00
kobewi
b29aff8dac Fix GraphEdit's valid connections being reversed 2022-04-11 00:34:59 +02:00
ConteZero
addadaaa24 Add select_all() to RichTextLabel 2022-04-10 18:03:10 +02:00
Michael Alexsander
335068e89b Draw relationship lines for items offscreen 2022-04-09 20:59:17 -03:00
ConteZero
a3d82f5afb Fix shortcut_keys_enabled in TextEdit 2022-04-08 15:13:32 +02:00
bruvzg
f851c4aa33
Fix some issues found by cppcheck. 2022-04-06 14:34:37 +03:00
bruvzg
9c61fa7ad8
[RTL] Improve table cell selection. 2022-04-06 09:03:08 +03:00
Marc Gilleron
79c6d7ad7f Fix GraphNode not resizing with larger title 2022-04-05 21:57:54 +01:00