summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--tools/editor/editor_log.cpp21
-rw-r--r--tools/editor/editor_log.h4
-rw-r--r--tools/editor/editor_node.cpp5
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);