You've already forked godot
mirror of
https://github.com/godotengine/godot.git
synced 2025-11-07 12:30:27 +00:00
Allow showing both left and right side panels
This commit is contained in:
@@ -6292,8 +6292,46 @@ VSplitContainer *SpatialEditor::get_shader_split() {
|
||||
return shader_split;
|
||||
}
|
||||
|
||||
HSplitContainer *SpatialEditor::get_palette_split() {
|
||||
return palette_split;
|
||||
void SpatialEditor::add_control_to_left_panel(Control *p_control) {
|
||||
left_panel_split->add_child(p_control);
|
||||
left_panel_split->move_child(p_control, 0);
|
||||
}
|
||||
|
||||
void SpatialEditor::add_control_to_right_panel(Control *p_control) {
|
||||
right_panel_split->add_child(p_control);
|
||||
right_panel_split->move_child(p_control, 1);
|
||||
}
|
||||
|
||||
void SpatialEditor::remove_control_from_left_panel(Control *p_control) {
|
||||
left_panel_split->remove_child(p_control);
|
||||
}
|
||||
|
||||
void SpatialEditor::remove_control_from_right_panel(Control *p_control) {
|
||||
right_panel_split->remove_child(p_control);
|
||||
}
|
||||
|
||||
void SpatialEditor::move_control_to_left_panel(Control *p_control) {
|
||||
ERR_FAIL_NULL(p_control);
|
||||
if (p_control->get_parent() == left_panel_split) {
|
||||
return;
|
||||
}
|
||||
|
||||
ERR_FAIL_COND(p_control->get_parent() != right_panel_split);
|
||||
right_panel_split->remove_child(p_control);
|
||||
|
||||
add_control_to_left_panel(p_control);
|
||||
}
|
||||
|
||||
void SpatialEditor::move_control_to_right_panel(Control *p_control) {
|
||||
ERR_FAIL_NULL(p_control);
|
||||
if (p_control->get_parent() == right_panel_split) {
|
||||
return;
|
||||
}
|
||||
|
||||
ERR_FAIL_COND(p_control->get_parent() != left_panel_split);
|
||||
left_panel_split->remove_child(p_control);
|
||||
|
||||
add_control_to_right_panel(p_control);
|
||||
}
|
||||
|
||||
void SpatialEditor::_request_gizmo(Object *p_obj) {
|
||||
@@ -6691,13 +6729,17 @@ SpatialEditor::SpatialEditor(EditorNode *p_editor) {
|
||||
|
||||
/* REST OF MENU */
|
||||
|
||||
palette_split = memnew(HSplitContainer);
|
||||
palette_split->set_v_size_flags(SIZE_EXPAND_FILL);
|
||||
vbc->add_child(palette_split);
|
||||
left_panel_split = memnew(HSplitContainer);
|
||||
left_panel_split->set_v_size_flags(SIZE_EXPAND_FILL);
|
||||
vbc->add_child(left_panel_split);
|
||||
|
||||
right_panel_split = memnew(HSplitContainer);
|
||||
right_panel_split->set_v_size_flags(SIZE_EXPAND_FILL);
|
||||
left_panel_split->add_child(right_panel_split);
|
||||
|
||||
shader_split = memnew(VSplitContainer);
|
||||
shader_split->set_h_size_flags(SIZE_EXPAND_FILL);
|
||||
palette_split->add_child(shader_split);
|
||||
right_panel_split->add_child(shader_split);
|
||||
viewport_base = memnew(SpatialEditorViewportContainer);
|
||||
shader_split->add_child(viewport_base);
|
||||
viewport_base->set_v_size_flags(SIZE_EXPAND_FILL);
|
||||
|
||||
Reference in New Issue
Block a user