You've already forked godot
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:
@@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user