Make stylebox preview not to expand Inspector panel

This commit is contained in:
volzhs 2019-10-25 06:20:52 +09:00
parent 982774e639
commit f8e592f607
2 changed files with 10 additions and 6 deletions

View file

@ -64,21 +64,24 @@ void StyleBoxPreview::edit(const Ref<StyleBox> &p_stylebox) {
void StyleBoxPreview::_sb_changed() {
preview->update();
}
void StyleBoxPreview::_redraw() {
if (stylebox.is_valid()) {
Size2 ms = stylebox->get_minimum_size() * 4 / 3;
ms.height = MAX(ms.height, 150 * EDSCALE);
preview->set_custom_minimum_size(ms);
preview->draw_style_box(stylebox, preview->get_rect());
}
}
void StyleBoxPreview::_bind_methods() {
ClassDB::bind_method("_sb_changed", &StyleBoxPreview::_sb_changed);
ClassDB::bind_method("_redraw", &StyleBoxPreview::_redraw);
}
StyleBoxPreview::StyleBoxPreview() {
preview = memnew(Panel);
preview = memnew(Control);
preview->set_custom_minimum_size(Size2(0, 150 * EDSCALE));
preview->connect("draw", this, "_redraw");
add_margin_child(TTR("Preview:"), preview);
}

View file

@ -41,10 +41,11 @@ class StyleBoxPreview : public VBoxContainer {
GDCLASS(StyleBoxPreview, VBoxContainer);
Panel *preview;
Control *preview;
Ref<StyleBox> stylebox;
void _sb_changed();
void _redraw();
protected:
static void _bind_methods();