diff options
-rw-r--r-- | tools/editor/editor_log.cpp | 21 | ||||
-rw-r--r-- | tools/editor/editor_log.h | 4 | ||||
-rw-r--r-- | tools/editor/editor_node.cpp | 5 |
3 files changed, 27 insertions, 3 deletions
diff --git a/tools/editor/editor_log.cpp b/tools/editor/editor_log.cpp index 8d49655960..2d26490a8a 100644 --- a/tools/editor/editor_log.cpp +++ b/tools/editor/editor_log.cpp @@ -104,6 +104,17 @@ void EditorLog::_close_request() { } +void EditorLog::_clear_request() { + + log->clear(); + +} + +void EditorLog::clear() { + _clear_request(); +} + + void EditorLog::add_message(const String& p_msg,bool p_error) { @@ -167,9 +178,12 @@ void EditorLog::_bind_methods() { ObjectTypeDB::bind_method(_MD("_close_request"),&EditorLog::_close_request ); ObjectTypeDB::bind_method(_MD("_flip_request"),&EditorLog::_flip_request ); + ObjectTypeDB::bind_method(_MD("_clear_request"),&EditorLog::_clear_request ); + //ObjectTypeDB::bind_method(_MD("_dragged"),&EditorLog::_dragged ); ADD_SIGNAL( MethodInfo("close_request")); ADD_SIGNAL( MethodInfo("show_request")); + ADD_SIGNAL( MethodInfo("clear_request")); } EditorLog::EditorLog() { @@ -198,6 +212,11 @@ EditorLog::EditorLog() { //pd->connect("dragged",this,"_dragged"); //pd->set_default_cursor_shape(Control::CURSOR_MOVE); + clearbutton = memnew( Button ); + hb->add_child(clearbutton); + clearbutton->set_text("Clear"); + clearbutton->connect("pressed", this,"_clear_request"); + tb = memnew( TextureButton ); hb->add_child(tb); tb->connect("pressed",this,"_close_request"); @@ -241,8 +260,8 @@ void EditorLog::deinit() { } + EditorLog::~EditorLog() { } - diff --git a/tools/editor/editor_log.h b/tools/editor/editor_log.h index 1141d03911..6950ffa1a0 100644 --- a/tools/editor/editor_log.h +++ b/tools/editor/editor_log.h @@ -45,6 +45,7 @@ class EditorLog : public PanelContainer { OBJ_TYPE( EditorLog, PanelContainer ); ToolButton *button; + Button *clearbutton; Label *title; RichTextLabel *log; TextureButton *tb; @@ -58,10 +59,10 @@ class EditorLog : public PanelContainer { Thread::ID current; - // void _dragged(const Point2& p_ofs); void _close_request(); void _flip_request(); + void _clear_request(); static void _undo_redo_cbk(void *p_self,const String& p_name); protected: @@ -73,6 +74,7 @@ public: void deinit(); ToolButton *get_button(); + void clear(); EditorLog(); ~EditorLog(); }; diff --git a/tools/editor/editor_node.cpp b/tools/editor/editor_node.cpp index 605335f7cf..b0a2c568de 100644 --- a/tools/editor/editor_node.cpp +++ b/tools/editor/editor_node.cpp @@ -1587,7 +1587,6 @@ void EditorNode::_run(bool p_current,const String& p_custom) { Node *scene = editor_data.get_edited_scene_root(); if (!scene) { - current_option=-1; //accept->get_cancel()->hide(); accept->get_ok()->set_text("I see.."); @@ -1668,6 +1667,10 @@ void EditorNode::_run(bool p_current,const String& p_custom) { editor_data.save_editor_external_data(); } + if (bool(EDITOR_DEF("run/always_clear_output_on_play", true))) { + log->clear(); + } + List<String> breakpoints; editor_data.get_editor_breakpoints(&breakpoints); |