1
0
mirror of https://github.com/godotengine/godot.git synced 2025-11-05 12:10:55 +00:00

Improve the looks of 2D/3D viewport contextual toolbars

This commit is contained in:
Yuri Sizov
2023-09-11 23:50:10 +02:00
parent 221884e6bc
commit f542dffb39
17 changed files with 152 additions and 107 deletions

View File

@@ -532,19 +532,14 @@ Path2DEditor::Path2DEditor() {
mode = MODE_EDIT;
action = ACTION_NONE;
base_hb = memnew(HBoxContainer);
CanvasItemEditor::get_singleton()->add_control_to_menu_panel(base_hb);
sep = memnew(VSeparator);
base_hb->add_child(sep);
curve_edit = memnew(Button);
curve_edit->set_flat(true);
curve_edit->set_toggle_mode(true);
curve_edit->set_pressed(true);
curve_edit->set_focus_mode(Control::FOCUS_NONE);
curve_edit->set_tooltip_text(TTR("Select Points") + "\n" + TTR("Shift+Drag: Select Control Points") + "\n" + keycode_get_string((Key)KeyModifierMask::CMD_OR_CTRL) + TTR("Click: Add Point") + "\n" + TTR("Left Click: Split Segment (in curve)") + "\n" + TTR("Right Click: Delete Point"));
curve_edit->connect("pressed", callable_mp(this, &Path2DEditor::_mode_selected).bind(MODE_EDIT));
base_hb->add_child(curve_edit);
add_child(curve_edit);
curve_edit_curve = memnew(Button);
curve_edit_curve->set_flat(true);
@@ -552,7 +547,7 @@ Path2DEditor::Path2DEditor() {
curve_edit_curve->set_focus_mode(Control::FOCUS_NONE);
curve_edit_curve->set_tooltip_text(TTR("Select Control Points (Shift+Drag)"));
curve_edit_curve->connect("pressed", callable_mp(this, &Path2DEditor::_mode_selected).bind(MODE_EDIT_CURVE));
base_hb->add_child(curve_edit_curve);
add_child(curve_edit_curve);
curve_create = memnew(Button);
curve_create->set_flat(true);
@@ -560,7 +555,7 @@ Path2DEditor::Path2DEditor() {
curve_create->set_focus_mode(Control::FOCUS_NONE);
curve_create->set_tooltip_text(TTR("Add Point (in empty space)"));
curve_create->connect("pressed", callable_mp(this, &Path2DEditor::_mode_selected).bind(MODE_CREATE));
base_hb->add_child(curve_create);
add_child(curve_create);
curve_del = memnew(Button);
curve_del->set_flat(true);
@@ -568,20 +563,20 @@ Path2DEditor::Path2DEditor() {
curve_del->set_focus_mode(Control::FOCUS_NONE);
curve_del->set_tooltip_text(TTR("Delete Point"));
curve_del->connect("pressed", callable_mp(this, &Path2DEditor::_mode_selected).bind(MODE_DELETE));
base_hb->add_child(curve_del);
add_child(curve_del);
curve_close = memnew(Button);
curve_close->set_flat(true);
curve_close->set_focus_mode(Control::FOCUS_NONE);
curve_close->set_tooltip_text(TTR("Close Curve"));
curve_close->connect("pressed", callable_mp(this, &Path2DEditor::_mode_selected).bind(ACTION_CLOSE));
base_hb->add_child(curve_close);
add_child(curve_close);
PopupMenu *menu;
handle_menu = memnew(MenuButton);
handle_menu->set_text(TTR("Options"));
base_hb->add_child(handle_menu);
add_child(handle_menu);
menu = handle_menu->get_popup();
menu->add_check_item(TTR("Mirror Handle Angles"));
@@ -589,10 +584,6 @@ Path2DEditor::Path2DEditor() {
menu->add_check_item(TTR("Mirror Handle Lengths"));
menu->set_item_checked(HANDLE_OPTION_LENGTH, mirror_handle_length);
menu->connect("id_pressed", callable_mp(this, &Path2DEditor::_handle_option_pressed));
base_hb->hide();
curve_edit->set_pressed(true);
}
void Path2DEditorPlugin::edit(Object *p_object) {
@@ -606,11 +597,9 @@ bool Path2DEditorPlugin::handles(Object *p_object) const {
void Path2DEditorPlugin::make_visible(bool p_visible) {
if (p_visible) {
path2d_editor->show();
path2d_editor->base_hb->show();
} else {
path2d_editor->hide();
path2d_editor->base_hb->hide();
path2d_editor->edit(nullptr);
}
}