Skip to content

Commit

Permalink
Merge pull request #52082 from williamd67/fix-custom-effects-dropdown…
Browse files Browse the repository at this point in the history
…-menu

RichTextLabel returns member (Array) for custom effects  for Editor
  • Loading branch information
mhilbrunner authored Sep 7, 2021
2 parents f8fb2bc + d875706 commit 43c896a
Show file tree
Hide file tree
Showing 2 changed files with 11 additions and 19 deletions.
24 changes: 8 additions & 16 deletions scene/gui/rich_text_label.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -3946,24 +3946,15 @@ float RichTextLabel::get_percent_visible() const {
return percent_visible;
}

void RichTextLabel::set_effects(const Vector<Variant> &effects) {
custom_effects.clear();
for (int i = 0; i < effects.size(); i++) {
Ref<RichTextEffect> effect = Ref<RichTextEffect>(effects[i]);
custom_effects.push_back(effect);
}

void RichTextLabel::set_effects(Array p_effects) {
custom_effects = p_effects;
if ((bbcode != "") && use_bbcode) {
parse_bbcode(bbcode);
}
}

Vector<Variant> RichTextLabel::get_effects() {
Vector<Variant> r;
for (int i = 0; i < custom_effects.size(); i++) {
r.push_back(custom_effects[i]);
}
return r;
Array RichTextLabel::get_effects() {
return custom_effects;
}

void RichTextLabel::install_effect(const Variant effect) {
Expand Down Expand Up @@ -4279,12 +4270,13 @@ void RichTextLabel::_draw_fbg_boxes(RID p_ci, RID p_rid, Vector2 line_off, Item

Ref<RichTextEffect> RichTextLabel::_get_custom_effect_by_code(String p_bbcode_identifier) {
for (int i = 0; i < custom_effects.size(); i++) {
if (!custom_effects[i].is_valid()) {
Ref<RichTextEffect> effect = custom_effects[i];
if (!effect.is_valid()) {
continue;
}

if (custom_effects[i]->get_bbcode() == p_bbcode_identifier) {
return custom_effects[i];
if (effect->get_bbcode() == p_bbcode_identifier) {
return effect;
}
}

Expand Down
6 changes: 3 additions & 3 deletions scene/gui/rich_text_label.h
Original file line number Diff line number Diff line change
Expand Up @@ -363,7 +363,7 @@ class RichTextLabel : public Control {
ItemMeta *meta_hovering = nullptr;
Variant current_meta;

Vector<Ref<RichTextEffect>> custom_effects;
Array custom_effects;

void _invalidate_current_line(ItemFrame *p_frame);
void _validate_line_caches(ItemFrame *p_frame);
Expand Down Expand Up @@ -577,8 +577,8 @@ class RichTextLabel : public Control {
void set_percent_visible(float p_percent);
float get_percent_visible() const;

void set_effects(const Vector<Variant> &effects);
Vector<Variant> get_effects();
void set_effects(Array p_effects);
Array get_effects();

void install_effect(const Variant effect);

Expand Down

0 comments on commit 43c896a

Please sign in to comment.