Commit Graph

340 Commits

Author SHA1 Message Date
bruvzg 40c56ed410
Improve locale detection.
Use separate language, script and country lists.
Add locale selection dialog and property hint.
2022-01-18 14:30:00 +02:00
Rémi Verschelde 019474f2b8
Merge pull request #56586 from dalexeev/rtl-bracket-escapes 2022-01-11 16:17:16 +01:00
Haoyu Qiu df1c64feba Fix BBCode underline prevents strikethrough from rendering 2022-01-11 12:54:04 +08:00
Rémi Verschelde d2772af0d8
Merge pull request #54351 from LeaoLuciano/leak-remove-line-richtextlabel 2022-01-07 15:22:24 +01:00
Danil Alexeev 884f1acff8
Add BBCode escape sequences 2022-01-07 11:40:13 +03:00
Rémi Verschelde fe52458154
Update copyright statements to 2022
Happy new year to the wonderful Godot community!
2022-01-03 21:27:34 +01:00
Rémi Verschelde 1032c2c434
Merge pull request #55487 from YeldhamDev/scroll_bikeshedding 2022-01-03 14:10:41 +01:00
luz paz a124f1effe Fix various typos
Found via ` codespell -q 3 -S ./thirdparty,*.po,./DONORS.md -L ackward,ang,ans,ba,beng,cas,childs,childrens,dof,doubleclick,expct,fave,findn,gird,hist,inout,leapyear,lod,nd,numer,ois,ony,paket,seeked,sinc,switchs,te,uint,varn`
Update editor/import/resource_importer_layered_texture.cpp

Co-authored-by: Raul Santos <raulsntos@gmail.com>
Update doc/classes/TileSetScenesCollectionSource.xml

Co-authored-by: Raul Santos <raulsntos@gmail.com>
Update scene/gui/graph_edit.cpp

Co-authored-by: Raul Santos <raulsntos@gmail.com>
Update scene/resources/animation.cpp

Co-authored-by: Raul Santos <raulsntos@gmail.com>
Update scene/resources/animation.cpp

Co-authored-by: Raul Santos <raulsntos@gmail.com>
Update scene/resources/animation.cpp

Co-authored-by: Raul Santos <raulsntos@gmail.com>
Update scene/gui/rich_text_label.cpp

Co-authored-by: Raul Santos <raulsntos@gmail.com>
Revert previously committed change
2022-01-02 01:03:58 -05:00
Rémi Verschelde 1906b59675
Merge pull request #55636 from bruvzg/vis_char_modes
Add different "visible characters" behavior modes.
2021-12-23 00:43:33 +01:00
Nathan Franke 49403cbfa0
Replace String comparisons with "", String() to is_empty()
Also:
- Adds two stress tests to test_string.h
- Changes to .empty() on std::strings
2021-12-09 04:48:38 -06:00
Nathan Franke 41a20171eb
align to horizontal_alignment, valign to vertical_alignment, related 2021-12-09 01:38:46 -06:00
kobewi ea7cc1dea9 Rename minimum_size_changed() method 2021-12-06 14:02:34 +01:00
bruvzg ad4408d413
Add different "visible characters" behavior modes. 2021-12-06 12:14:49 +02:00
Michael Alexsander ec4f4c6cda Rename all methods that return `ScrollBar` nodes to `get_*_scroll_bar()` 2021-11-30 13:46:36 -03:00
Lightning_A e078f970db Rename `remove()` to `remove_at()` when removing by index 2021-11-23 18:58:57 -07:00
Aaron Franke 3c0fdcc8ac
Use "enum class" for input enums 2021-11-12 15:37:54 -06:00
Rémi Verschelde 88c4380737
Modules: Make sure to include modules_enabled.gen.h where needed 2021-11-12 13:42:58 +01:00
bruvzg 76d42c7b32 Fix RichTextLabel selection copy with table cells. 2021-11-11 12:06:51 +02:00
bruvzg 5f9cd9ccbc Fix Label and RichTextLabale text shadows and shadow outlines. 2021-11-06 10:22:09 +02:00
LeaoLuciano f21b5e4d2f Fix memory leak in RichTextLabel.remove_line 2021-10-28 07:51:48 -03:00
Rémi Verschelde 21529c90f8
Merge pull request #54166 from ConteZero/unique_selection 2021-10-27 20:50:54 +02:00
ConteZero fbee4efa5f Add option to make selection unique 2021-10-27 19:45:52 +02:00
Rémi Verschelde b2ab5cb504
Merge pull request #54045 from ConteZero/primary_clipboard_linux_fix_warning 2021-10-23 19:13:34 +02:00
ConteZero 8c48b4a7e0 Fix primary clipboard warning 2021-10-23 15:50:01 +02:00
Haoyu Qiu 4f8dfa1667 Make RichTextLabel's parse_bbcode and append_text return void 2021-10-23 14:25:39 +08:00
Rémi Verschelde 8748247d6f
Merge pull request #53702 from ConteZero/primary_clipboard_linux 2021-10-20 16:35:04 +02:00
Murilo Gonçalves 94cba835eb Fix: typo in TextParagraph class and docs 2021-10-19 16:38:58 -03:00
ConteZero 838c9d37b4 Added primary clipboard for Linux 2021-10-18 14:01:06 +02:00
Yuri Sizov bdbb7b3999 Remove EDSCALE dependency from /scene/gui 2021-10-04 15:25:08 +03:00
bruvzg 0c0b5c84b0 Implement TextServer GDExtension interface, remove TextServer GDNative interface. 2021-10-01 15:13:29 +03:00
Anilforextra cdd912c48e Construct values only when necessary. 2021-09-25 14:46:45 +05:45
Anilforextra cc51b045da Construct values only when necessary. 2021-09-23 22:26:07 +05:45
bruvzg c931906af7 Add flag to connected grapheme. Apply RTL displacement FX only to the whole connected grapheme. Pass more glyph info to the custom RTL FX. 2021-09-21 13:51:38 +03:00
bruvzg 9d0e3cff09 Fix `Label` and `RichTextLabel` `visible_characters` and `percent_visible` methods. 2021-09-20 09:35:24 +03:00
HaSa1002 053b3b946c
Remove bbcode_text from RichTextLabel
Also renames:
 - append_bbcode -> append_text
 - get_bbcode -> get_text
 - set_bbcode -> set_text
 - get_text -> get_parsed_text

Property text is:
set_text
get_text
2021-09-16 22:27:08 +02:00
Rémi Verschelde 39e35ab6ee
Merge pull request #52353 from williamd67/documentation-view-scroll-to-end
Documentation view scroll to end
2021-09-14 22:25:58 +02:00
Max Hilbrunner 43c896ac6a
Merge pull request #52082 from williamd67/fix-custom-effects-dropdown-menu
RichTextLabel returns member (Array) for custom effects  for Editor
2021-09-07 21:52:05 +02:00
William Deurwaarder b54b0bc580 Fix documentation viewer to scroll to end
Extra `line separation` height was not taken into account when the offset for
the different paragraphs (lines) was calculated.
2021-09-02 22:11:14 +02:00
kobewi a913ae8d56 Add support for internal nodes 2021-08-28 02:07:23 +02:00
bruvzg 4c3f7d1290 Makes FontData importable resource.
Adds multi-channel SDF font texture generation and rendering support.
Adds per-font oversampling support.
Adds FontData import plugins (for dynamic fonts, BMFonts and monospaced image fonts), font texture cache pre-generation and loading.
Adds BMFont binary format and outline support.
2021-08-27 15:43:18 +03:00
William Deurwaarder d875706e01 RichTextLabel returns member (Array) for custom effects for Editor
As RichTextLabel returned a copy of the member (Vector) the editor was notified
that the value had changed which caused the dropdown menu to be immediately
closed after opening.

The fix is to return the member (Array) in stead of a copy which is the same
instance and thereby does not notify the editor that the value has changed.
2021-08-24 22:02:24 +02:00
Haoyu Qiu d12cceadd2 Make RichTextLabel honour default cursor shape property 2021-08-24 22:07:42 +08:00
reduz 5cecdfa8af Entirely removes BIND_VMETHOD in favor of GDVIRTUAL
* `_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-23 08:10:13 -03:00
Menderes 31face36e7 Fix line_separation working incorrectly in find_click of RichTextLabel
Apply suggestions from code review

Co-authored-by: bruvzg <7645683+bruvzg@users.noreply.github.com>
2021-08-21 00:59:44 +03:00
requizm 39b90802d0 Fix line_separation constant working incorrectly in RichTextLabel 2021-08-20 23:03:13 +03:00
Aaron Franke 84f720966c
Use doubles for time in many other places 2021-08-09 14:05:42 -05:00
bruvzg 7c3c5603d0 [Text Server] Improve object (image/table) inline alignment. 2021-08-08 22:35:47 +03:00
Aaron Franke 4e6efd1b07
Use C++ iterators for Lists in many situations 2021-07-23 17:38:28 -04:00
reduz 6631f66c2a Optimize StringName usage
* 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-07-18 21:20:02 -03:00
Eric M cfbdaa2eb7 Fix RichTextLabel custom_effects export to be properly filtered in the Editor 2021-06-25 22:58:46 +10:00
golfinq 0c1d10d1ca Rich Text Label now allows for foreground colors and background colors 2021-06-20 11:29:37 -04:00
Gregory Basile 8ab13f8ace Documentation search fixes
Updates rich_text_label so that the built-in documentation can be searched
Previously, it would only find the first result and would not select other results
Renames "_entered" functions to "_submitted"
2021-06-16 09:43:34 -07:00
Eric M 471f7f1a75 Fixed implementation of RTL remove_line(), which fixed issues in EditorLog.
There were some issues in RichTextLabel `remove_line()` method, where items were not correctly removed, and line decremending for items in later lines was not correctly done.
This also fixed several headaches with EditorLog, which relied on the `remove_line()` method for collapsing of duplicate messages. The fix to RTL also fixed the issues with EditorLog.

Fixes #49030
2021-05-26 15:08:13 +10:00
Hugo Locurcio 87f503310b
Tweak dozens of editor property hints for consistency
- Update Viewport MSAA property hints to match the currently
  exposed values.
- Add some performance hints to property hints.
2021-05-25 02:50:35 +02:00
Eoin O'Neill c4f976b38b Attempt to fix rich text label effects processing even when
the node is invisible.

ISSUE:47687
2021-05-13 19:59:08 -07:00
Eric M 87ffb213c8 Fixed issues with Editor Log after recent changes
Fixed #48446, Fixed #48443
2021-05-05 00:25:14 +10:00
Rémi Verschelde 4e7ca279fc
Merge pull request #47855 from aaronfranke/doubleclick
Rename `doubleclick` to `double_click`
2021-05-04 13:12:17 +02:00
Aaron Franke 0de9a7d803
Rename `doubleclick` to `double_click` 2021-05-04 04:38:08 -04:00
Eric M 77fd9e4dd3 Improve output log performance.
Added method to create a new line in RichTextLabel without adding an ItemNewline to the previous line. Previously, removing a line then adding a newline was adding unnecessary ItemNewline instances to the previous line, significantly the remove_line method.
2021-05-04 16:21:33 +10:00
Rafał Mikrut 504bc5cc67 Fix crashes in *_input functions 2021-04-05 08:52:21 +02:00
bruvzg 9f73abfa9f
RichTextLabel: On custom effect change, parse bbcode only if it's enabled and not empty. 2021-03-30 10:20:39 +03:00
bruvzg 9f4893c70b
Use extra font spacing in the RichTextLabel line height calculation, and stylebox size in the minimum size calculation. 2021-03-29 17:26:53 +03:00
Aaron Franke 10d7fccb54
Rename ButtonList enum and members to MouseButton 2021-03-23 07:13:23 -04:00
jmb462 25af026d9e Fix BBCode tables overlap with bottom text
New row height was added only if all the column was full.
2021-03-16 10:45:16 +01:00
bruvzg 48698ccb9f
Fix RTL BBCode range regression and selection issues. 2021-03-14 19:54:48 +02:00
Michael Alexsander 4be282a269 Hide more options of disabled properties 2021-03-03 20:51:35 -03:00
Eric M d91e915d79 Fixed 'nonexistent action' errors spammed at startup on OSX 2021-02-24 23:16:22 +10:00
Eric M 49714b0963 Removed hardcoded shortcuts from /scene and converted to input actions
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-18 16:22:51 +01:00
PouleyKetchoupp 4586357dde Expose RichTextLabel selection to script
Expose existing get_selection_text and add methods to get the current
selection index from and index to.
2021-02-15 17:26:58 -07:00
kleonc a4afdd4a77 RichTextLabel::add_image Fail if passed image has no area 2021-02-14 16:09:55 +01:00
bruvzg 1f60ac1e08
[CTL] Fix RichTextLabel cell horizontal padding. 2021-02-14 14:11:49 +02:00
bruvzg d78336c65e
[CTL] Add missing font outline drawing routines and theme constants. 2021-02-14 14:11:44 +02:00
bruvzg 6c9e608a34
Use get_char_size(' ') to calculate space width. 2021-02-12 15:06:50 +02:00
reduz 1aa2823fa3 Removed _change_notify
-For inspector refresh, the inspector now detects if a property change by polling a few times per second and then does update the control if so. This process is very cheap.
-For property list refresh, a new signal (property_list_changed) was added to Object. _change_notify() is replaced by notify_property_list_changed()
-Changed all objects using the old method to the signal, or just deleted the calls to _change_notify(<property>) since they are unnecesary now.
2021-02-10 19:31:24 -03:00
Rafał Mikrut 7961a1dea3 Initialize class variables with default values in scene/ [2/2] 2021-02-09 18:24:36 +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
bruvzg e4651a44ab
RichTextLabel: adds separate `get_total_x_count`, `get_visible_x_count` and `scroll_to_x` functions for wrapped lines and paragraphs (newlines). 2021-01-18 11:26:55 +02:00
Rémi Verschelde 64ba83a096
Merge pull request #44870 from alexpech12/fix-rich-text-label-set-visible-characters
Keep RichTextLabel visible character properties in sync
2021-01-15 00:59:26 +01:00
Alexander Pech 463e2002ab Keep RichTextLabel visible character properties in sync
The RichTextLabel class is inconsistent in how it updates the
visible_characters and percent_visible properties when either is changed.

To keep both properties consistent, update percent_visible when setting the
visible_characters property.
For both properties, when setting one, notify change for the other.

Docs updated for member set_visible_characters on RichTextLabel class.
2021-01-14 21:32:41 +11:00
Rémi Verschelde 50f7314329
RichTextLabel: Fix build after #35505
Should have rebased before merging.
2021-01-08 09:18:19 +01:00
Rémi Verschelde 9349a5507f
Merge pull request #35505 from dalexeev/rtl_colors
Unified named colors in RichTextLabel
2021-01-08 09:03:55 +01: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
Rémi Verschelde 09212fba1e
Fix missed renamings from empty() to is_empty()
Those were missed in #44401 or added by later PRs.
2020-12-29 09:55:07 +01:00
Rémi Verschelde 652bdd573e
Merge pull request #43691 from bruvzg/ctl_dropcap
[Complex Text Layouts] Add drop-cap support to RTL.
2020-12-29 09:14:46 +01:00
Marcel Admiraal 5b937d493f Rename empty() to is_empty() 2020-12-28 10:39:56 +00:00
Rémi Verschelde c4c211c3b7
Merge pull request #44605 from madmiraal/rename-control-margin
Rename Control margin to offset
2020-12-23 18:24:00 +01:00
Marcel Admiraal 4b8b803931 Rename Control margin to offset 2020-12-23 06:25:56 +00:00
bruvzg 784f869f0f
Fix RichTextLabel content height and scrollbar calculations. 2020-12-21 07:49:27 +02:00
bruvzg 62927383ed
[Complex Text Layouts] Add drop-caps support to TextParagraph and RTL. 2020-12-13 22:20:02 +02:00
bruvzg 6b6f101983
[Complex Text Layouts] Refactor RichTextLabel. 2020-12-11 09:48:49 +02: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
Danil Alexeev 01d0addf56 Unified named colors in RichTextLabel
Now the BB tag `[color]` uses the color names from the `Color` class.
Also, the use of the `#` symbol in an HTML color code has become optional.
2020-11-17 02:55:36 +03:00
Danil Alexeev fb6eb21afc Improvement for the Copy button in the Output Log
Now if no text is selected, pressing the Copy button copies the entire text.
2020-09-14 21:57:54 +03:00
PouleyKetchoupp b783fa1416 Fix RichTextLabel alignment for clickable regions
Fixes #41006 (regression from #39164).

The original alignment fix was limited to PROCESS_DRAW mode, which
caused some discrepancies with PROCESS_POINTER mode.
Now only PROCESS_CACHE is excluded with a condition a few lines above.
2020-09-11 08:14:26 +02:00
bruvzg 80b8eff6aa
[Complex Test Layouts] Change `String` to use UTF-32 encoding on all platforms. 2020-09-03 19:56:24 +03:00
Umang Kalra cec21ab82c Fix RichTextLabel center alignment bug
Fixes #40207.
2020-08-11 12:11:38 +02:00
Aaron Franke 56e2c6c704
Make all String float conversion methods be 64-bit 2020-07-27 18:38:53 -04:00
Rémi Verschelde 1ab0644532
Merge pull request #40217 from theoway/visible_line_count_fix
Fixes the get_visible_line_count() of rich text label
2020-07-22 09:50:26 +02:00
Emmanuel Leblond 1f02ff8a76
Correct RichTextLabel.custom_effects property type metadata 2020-07-14 17:33:50 +02:00