diff options
Diffstat (limited to 'tools/editor')
-rw-r--r-- | tools/editor/plugins/script_editor_plugin.cpp | 29 | ||||
-rw-r--r-- | tools/editor/plugins/script_editor_plugin.h | 3 | ||||
-rw-r--r-- | tools/editor/script_editor_debugger.cpp | 11 | ||||
-rw-r--r-- | tools/editor/script_editor_debugger.h | 4 |
4 files changed, 33 insertions, 14 deletions
diff --git a/tools/editor/plugins/script_editor_plugin.cpp b/tools/editor/plugins/script_editor_plugin.cpp index 37f4076a0c..742a115c5f 100644 --- a/tools/editor/plugins/script_editor_plugin.cpp +++ b/tools/editor/plugins/script_editor_plugin.cpp @@ -981,7 +981,22 @@ void ScriptEditor::_menu_option(int p_option) { case WINDOW_PREV: { _history_back(); } break; - + case DEBUG_SHOW: { + if (debugger) { + bool visible = debug_menu->get_popup()->is_item_checked( debug_menu->get_popup()->get_item_index(DEBUG_SHOW) ); + debug_menu->get_popup()->set_item_checked( debug_menu->get_popup()->get_item_index(DEBUG_SHOW), !visible); + if (visible) + debugger->hide(); + else + debugger->show(); + } + } break; + case DEBUG_SHOW_KEEP_OPEN: { + bool visible = debug_menu->get_popup()->is_item_checked( debug_menu->get_popup()->get_item_index(DEBUG_SHOW_KEEP_OPEN) ); + if (debugger) + debugger->set_hide_on_stop(visible); + debug_menu->get_popup()->set_item_checked( debug_menu->get_popup()->get_item_index(DEBUG_SHOW_KEEP_OPEN), !visible); + } break; } @@ -1335,16 +1350,7 @@ void ScriptEditor::_menu_option(int p_option) { debugger->debug_continue(); } break; - case DEBUG_SHOW: { - if (debugger) { - bool visible = debug_menu->get_popup()->is_item_checked( debug_menu->get_popup()->get_item_index(DEBUG_SHOW) ); - debug_menu->get_popup()->set_item_checked( debug_menu->get_popup()->get_item_index(DEBUG_SHOW), !visible); - if (visible) - debugger->hide(); - else - debugger->show(); - } - } break; + case HELP_CONTEXTUAL: { String text = current->get_text_edit()->get_selection_text(); if (text == "") @@ -2394,6 +2400,7 @@ ScriptEditor::ScriptEditor(EditorNode *p_editor) { debug_menu->get_popup()->add_item("Continue",DEBUG_CONTINUE); debug_menu->get_popup()->add_separator(); debug_menu->get_popup()->add_check_item("Show Debugger",DEBUG_SHOW); + debug_menu->get_popup()->add_check_item("Keep Debuger Open",DEBUG_SHOW_KEEP_OPEN); debug_menu->get_popup()->connect("item_pressed", this,"_menu_option"); debug_menu->get_popup()->set_item_disabled( debug_menu->get_popup()->get_item_index(DEBUG_NEXT), true); diff --git a/tools/editor/plugins/script_editor_plugin.h b/tools/editor/plugins/script_editor_plugin.h index 7875b4d144..32c1e7e1c8 100644 --- a/tools/editor/plugins/script_editor_plugin.h +++ b/tools/editor/plugins/script_editor_plugin.h @@ -151,7 +151,8 @@ class ScriptEditor : public VBoxContainer { DEBUG_BREAK, DEBUG_CONTINUE, DEBUG_SHOW, - HELP_CONTEXTUAL, + DEBUG_SHOW_KEEP_OPEN, + HELP_CONTEXTUAL, WINDOW_MOVE_LEFT, WINDOW_MOVE_RIGHT, WINDOW_NEXT, diff --git a/tools/editor/script_editor_debugger.cpp b/tools/editor/script_editor_debugger.cpp index 60f2afa2c2..cb54968c15 100644 --- a/tools/editor/script_editor_debugger.cpp +++ b/tools/editor/script_editor_debugger.cpp @@ -737,8 +737,10 @@ void ScriptEditorDebugger::stop(){ le_set->set_disabled(true); - hide(); - emit_signal("show_debugger",false); + if (hide_on_stop) { + hide(); + emit_signal("show_debugger",false); + } } @@ -1160,6 +1162,10 @@ void ScriptEditorDebugger:: _error_stack_selected(int p_idx){ } +void ScriptEditorDebugger::set_hide_on_stop(bool p_hide) { + + hide_on_stop=p_hide; +} void ScriptEditorDebugger::_bind_methods() { @@ -1462,6 +1468,7 @@ ScriptEditorDebugger::ScriptEditorDebugger(EditorNode *p_editor){ live_debug=false; last_path_id=false; error_count=0; + hide_on_stop=true; last_error_count=0; diff --git a/tools/editor/script_editor_debugger.h b/tools/editor/script_editor_debugger.h index 6b66a62dd5..fc44540cc4 100644 --- a/tools/editor/script_editor_debugger.h +++ b/tools/editor/script_editor_debugger.h @@ -71,6 +71,8 @@ class ScriptEditorDebugger : public Control { int error_count; int last_error_count; + bool hide_on_stop; + TextureButton *tb; @@ -182,6 +184,8 @@ public: void update_live_edit_root(); + void set_hide_on_stop(bool p_hide); + virtual Size2 get_minimum_size() const; ScriptEditorDebugger(EditorNode *p_editor=NULL); |