Commit Graph

156 Commits

Author SHA1 Message Date
Yuri Sizov fe000277ea Bind remaining theme properties to their respective classes
This adds binds for GraphEdit/GraphElement/GraphNode, which were
skipped before due to a rework. This also adds binds for Window,
which was skipped before due to a complicated code organization.

Also adds theme cache entries/direct cache access to a few places
that previously missed it. Some theme properties are now exposed
to other classes via friendships or public getters for convenience.

This removes all string-based theme access from scene/ classes.
2023-09-13 19:31:35 +02:00
Yuri Sizov 2924bfd4d3 Register theme properties with ThemeDB 2023-09-11 13:45:23 +02:00
bruvzg 299808cc26
[RTL] Adds "lang" tag to allow overriding language specific text rendering without starting a new paragraph. 2023-08-21 14:56:43 +03:00
Hugo Locurcio e9f723006a
Use compile-time Unicode string conversion
Thanks to this syntax introduced in C++11, this reduces the amount of work
that needs to be performed at run-time while making the code more terse.
2023-08-07 10:38:16 +02:00
unknown cfe98c57b9 Add drag and drop option for line edit and rich text label 2023-07-19 22:18:34 -04:00
Hendrik Brucker 7e21eb7e00 Extract and reorganize texture resource classes 2023-07-14 20:04:21 +02:00
Yuri Sizov 5c56206e6c Merge pull request #79011 from bruvzg/pop_all
[RTL] Add `pop_all`, `push_context` and `pop_context` methods, and use it for `print_rich` to avoid unclosed tags.
2023-07-14 18:49:21 +02:00
Yuri Sizov 7550b02dfc Merge pull request #77117 from Calinou/richtextlabel-add-pulse-effect
Add a `[pulse]` built-in effect to RichTextLabel
2023-07-12 15:08:43 +02:00
bruvzg 5216a08617
[RTL] Add `pop_all`, `push_context` and `pop_context` methods, and use it for `print_rich` to avoid unclosed tags. 2023-07-09 19:53:15 +03:00
bruvzg cda9cd7587
[RTL] Fix multithreaded resizing. 2023-06-14 23:15:16 +03:00
bruvzg 488626701d
Fix editor log flicker. 2023-06-12 20:15:23 +03:00
Hugo Locurcio 70e6c3cbb0
Add a `[pulse]` built-in effect to RichTextLabel
In games, blinking text is one of the more frequently used animations.
It can be (sparingly) used to bring attention to important messages
in a chat log or inventory tooltip, for instance.

This effect accepts the following options:

- `freq`: How fast text blinks (higher is faster).
- `color`: The target color multiplier for blinking.
  The default mostly fades out text, but not entirely (for better accessibility).
- `ease`: The easing function exponent to use.
  Negative values provide in-out easing, which is why `-2.0` is the default.
2023-06-05 18:45:00 +02:00
Rémi Verschelde a1058313a9
Merge pull request #75622 from joao-pedro-braz/parse_string_paths_with_quotes_correctly_bb_code
Make sure to normalize subtags when parsing BBCode
2023-05-24 08:45:35 +02:00
João Pedro Braz 8b6e57256f Make sure to normalize subtags when parsing BBCode
This PR makes it so that all subtags are normalized before usage.
Normalization means removing any leading and/or trailing quotation marks
from any given subtag.

Fixes: https://github.com/godotengine/godot/issues/75501
2023-05-23 18:55:06 -03:00
bruvzg fb78889904
[RichTextLabel] Add support for tab stops. 2023-05-20 22:58:51 +03:00
bruvzg 9163d8c336
Expose TextServer justification flags to Label, Label3D, TextMesh and RTL. Add flags to control last/single line justification. 2023-05-15 19:23:54 +03:00
bruvzg 282e4231c2
Improve line BiDi handling, prevent crash on recursive log updates. 2023-04-12 11:39:05 +03:00
Timothée Giet e861ea5903 Add translation support to RichTextLabel
BUG: 34050
add translation support to RichTextLabel, and respect its Auto Translate setting
2023-04-11 14:17:59 +02:00
bruvzg 4793b6eee9
[RTL] Add option to customize list bullet, use U+2022 by default. 2023-03-17 09:34:28 +02:00
George L. Albany f3313ba4cd
Remove methods in header removed in c7eb814
c7eb814 missed these methods in the RichTextLabel's header
Remove set_override_selected_font_color from rich_text_label.h
Remove is_override_selected_font_color from rich_text_label.h
c7eb814 missed these methods in the TextEdit's header
Remove set_override_selected_font_color from text_edit.h
Remove is_override_selected_font_color from text_edit.h
2023-03-15 21:13:38 -04:00
RedMser 22dd621cf9 RichTextLabel fixes
- Unexpose ItemType enum, since it is not used in public API.
- Fix documentation for meta tag, since it has no BBCode equivalent.
2023-02-14 17:20:05 +01:00
Danil Alexeev fb107e04d3
Fix `RichTextLabel` context menu not customizable 2023-02-03 12:07:36 +03:00
bruvzg 0cc1f4240a
[RichTextLabel] Fix thread unsafe `set_physics_process_internal` usage. Use `WorkerThreadPool` instead of creating new threads. 2023-01-30 20:47:45 +02:00
Hendrik Brucker e59d6b1b8c [RichTextLabel] Match minimum size calculation of Label
(optional via fit_content property)
2023-01-13 15:17:26 +01:00
Rémi Verschelde d95794ec8a
One Copyright Update to rule them all
As many open source projects have started doing it, we're removing the
current year from the copyright notice, so that we don't need to bump
it every year.

It seems like only the first year of publication is technically
relevant for copyright notices, and even that seems to be something
that many companies stopped listing altogether (in a version controlled
codebase, the commits are a much better source of date of publication
than a hardcoded copyright statement).

We also now list Godot Engine contributors first as we're collectively
the current maintainers of the project, and we clarify that the
"exclusive" copyright of the co-founders covers the timespan before
opensourcing (their further contributions are included as part of Godot
Engine contributors).

Also fixed "cf." Frenchism - it's meant as "refer to / see".
2023-01-05 13:25:55 +01:00
Koyper e846b22da6 Renamed RTL remove_line() to remove_paragraph(). 2022-12-21 11:54:18 -06:00
bruvzg 53c76fa5d1
[RTL/TextServer] Add baseline inline alignment mode for objects and RTL tables. 2022-12-15 23:16:02 +02:00
bruvzg 889bcff24f
[RTL] Fix search method not taking nested frame and line wraps into account. 2022-12-04 22:11:21 +02:00
kobewi c7eb814ede Remove override_selected_font_color property 2022-10-26 12:59:18 +02:00
Petra Baranski 546e017613 Add Spritesheet support to RichTextLabel BBCode
BBCode: [img region=0,0,16,16]res://icon.svg[/img]
2022-10-11 13:04:15 +02:00
bruvzg 0103af1ddd
Fix MSVC warnings, rename shadowed variables, fix uninitialized values, change warnings=all to use /W4. 2022-10-07 11:32:33 +03:00
bruvzg 970592274d
[RTL] Fix font variations / OpenType features of theme default font not updated when default font is changed. 2022-09-26 13:04:40 +03:00
bruvzg 46af7cbfdd
[RTL] Add option to apply built-in effects to the individual connected glyphs. 2022-09-19 18:10:32 +03:00
bruvzg 2a0b4244b7
Fix RichTextLabel not updating on theme/theme override change until text is updated. 2022-09-16 22:24:11 +03:00
Yuri Sizov fc7cef8dec Fix theme propagation in various parts of the editor 2022-09-02 13:18:31 +03:00
Micky 64bd36ecee Rename Label & RichTextLabel.`percent_visible` to `visible_ratio`
Also updates the documentation of both `visible_characters` and `visible_ratio` to, better describe what they do and improve consistency between the two Classes.
2022-08-26 12:15:57 +02:00
bruvzg 80a47ab0f9
[RTL] Improve meta click position. 2022-08-23 09:57:22 +03:00
bruvzg 94e5ad2019
[RichTextLabel] Fix theme bold / italics / bold italics and mono font size not applied correctly. 2022-07-26 10:45:40 +03:00
Rindbee 74f99f7fa3 Make the meta click area fit
Eliminate the click vacuum area, mainly the indentation generated by indent/ul/ol tags
2022-07-13 07:12:22 +08:00
bruvzg 344ba0ffaf
Refactor Font configuration and import UI, and Font resources. 2022-07-06 14:12:36 +03:00
bruvzg b5c96df277
Move duplicate AutoWrap, Overrun and VisibleChar behavior enums to the TextServer. 2022-06-16 16:49:37 +03:00
iwek c179ba665a Fix richTextLabel scroll showing 2022-06-05 20:33:17 +02:00
bruvzg cfcdfc38e2
[RTL] Add support for shaping in background thread. 2022-05-19 09:34:44 +03: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
ConteZero 645aded7e9 Add context menu to RichTextLabel 2022-04-12 16:28:38 +02:00
ConteZero addadaaa24 Add select_all() to RichTextLabel 2022-04-10 18:03:10 +02:00
bruvzg 9c61fa7ad8
[RTL] Improve table cell selection. 2022-04-06 09:03:08 +03:00
ConteZero 45159e88e1 Add deselect() to RichTextLabel 2022-04-04 16:06:57 +02:00
Rémi Verschelde 19950076b1
Merge pull request #58394 from bruvzg/rtl_hint 2022-03-18 14:49:13 +01:00
Hugo Locurcio a06f82ca4d
Add optional constructor arguments to more Control nodes
This can be used to make editor code more compact.
However, as of writing, these constructor arguments cannot be used
from the scripting API.

This was already provided for Label and CheckBox, but it was missing
for other Control nodes where it made sense to provide a default value.
2022-03-04 09:48:41 +01:00