Added close button to tab. Added 4 display policies for this close button (show always, show never, show active tab only, show hover). Set the scene tabs in editor to follow the hover policy.
This commit is contained in:
parent
c2e2f2e0ae
commit
17fbd20673
4 changed files with 280 additions and 6 deletions
|
|
@ -3620,6 +3620,7 @@ void EditorNode::_bind_methods() {
|
|||
ObjectTypeDB::bind_method("set_current_scene",&EditorNode::set_current_scene);
|
||||
ObjectTypeDB::bind_method("set_current_version",&EditorNode::set_current_version);
|
||||
ObjectTypeDB::bind_method("_scene_tab_changed",&EditorNode::_scene_tab_changed);
|
||||
ObjectTypeDB::bind_method("_scene_tab_closed",&EditorNode::_scene_tab_closed);
|
||||
ObjectTypeDB::bind_method("_scene_tab_script_edited",&EditorNode::_scene_tab_script_edited);
|
||||
ObjectTypeDB::bind_method("_set_main_scene_state",&EditorNode::_set_main_scene_state);
|
||||
ObjectTypeDB::bind_method("_update_scene_tabs",&EditorNode::_update_scene_tabs);
|
||||
|
|
@ -4072,6 +4073,17 @@ void EditorNode::_scene_tab_script_edited(int p_tab) {
|
|||
edit_resource(script);
|
||||
}
|
||||
|
||||
void EditorNode::_scene_tab_closed(int p_tab) {
|
||||
set_current_scene(p_tab);
|
||||
bool p_confirmed = true;
|
||||
if (unsaved_cache)
|
||||
p_confirmed = false;
|
||||
|
||||
_menu_option_confirm(FILE_CLOSE, p_confirmed);
|
||||
_update_scene_tabs();
|
||||
}
|
||||
|
||||
|
||||
void EditorNode::_scene_tab_changed(int p_tab) {
|
||||
|
||||
|
||||
|
|
@ -4225,8 +4237,10 @@ EditorNode::EditorNode() {
|
|||
scene_tabs=memnew( Tabs );
|
||||
scene_tabs->add_tab("unsaved");
|
||||
scene_tabs->set_tab_align(Tabs::ALIGN_CENTER);
|
||||
scene_tabs->set_tab_close_display_policy(Tabs::SHOW_HOVER);
|
||||
scene_tabs->connect("tab_changed",this,"_scene_tab_changed");
|
||||
scene_tabs->connect("right_button_pressed",this,"_scene_tab_script_edited");
|
||||
scene_tabs->connect("tab_close", this, "_scene_tab_closed");
|
||||
top_dark_vb->add_child(scene_tabs);
|
||||
//left
|
||||
left_l_hsplit = memnew( HSplitContainer );
|
||||
|
|
@ -4363,6 +4377,7 @@ EditorNode::EditorNode() {
|
|||
|
||||
main_editor_tabs = memnew( Tabs );
|
||||
main_editor_tabs->connect("tab_changed",this,"_editor_select");
|
||||
main_editor_tabs->set_tab_close_display_policy(Tabs::SHOW_NEVER);
|
||||
HBoxContainer *srth = memnew( HBoxContainer );
|
||||
srt->add_child( srth );
|
||||
Control *tec = memnew( Control );
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue