1
0
mirror of https://github.com/godotengine/godot.git synced 2025-11-19 14:31:59 +00:00

-run script in editor

-add search docs dialog that returns places string was found
-added flash
This commit is contained in:
Juan Linietsky
2014-02-20 23:01:44 -03:00
parent 51c55b237b
commit f2a068984c
40 changed files with 25011 additions and 6 deletions

View File

@@ -938,7 +938,27 @@ void EditorNode::_dialog_action(String p_file) {
} break;
case FILE_RUN_SCRIPT: {
print_line("RUN: "+p_file);
Ref<Script> scr = ResourceLoader::load(p_file,"Script",true);
if (scr.is_null()) {
add_io_error("Script Failed to Load:\n"+p_file);
return;
}
if (!scr->is_tool()) {
add_io_error("Script is not tool, will not be able to run:\n"+p_file);
return;
}
Ref<EditorScript> es = memnew( EditorScript );
es->set_script(scr.get_ref_ptr());
es->set_editor(this);
es->_run();
get_undo_redo()->clear_history();
} break;
case FILE_DUMP_STRINGS: {
save_translatable_strings(p_file);
@@ -1633,7 +1653,10 @@ void EditorNode::_menu_option_confirm(int p_option,bool p_confirmed) {
quick_open->set_title("Quick Open Script..");
} break;
case FILE_RUN_SCRIPT: {
file_script->popup_centered_ratio();
} break;
case FILE_OPEN_PREV: {
if (previous_scenes.empty())
@@ -3028,6 +3051,7 @@ void EditorNode::register_editor_types() {
ObjectTypeDB::register_type<EditorPlugin>();
ObjectTypeDB::register_type<EditorImportPlugin>();
ObjectTypeDB::register_type<EditorScenePostImport>();
ObjectTypeDB::register_type<EditorScript>();
//ObjectTypeDB::register_type<EditorImporter>();
@@ -3424,6 +3448,8 @@ EditorNode::EditorNode() {
p->add_item("Undo",EDIT_UNDO,KEY_MASK_CMD+KEY_Z);
p->add_item("Redo",EDIT_REDO,KEY_MASK_CMD+KEY_MASK_SHIFT+KEY_Z);
p->add_separator();
p->add_item("Run Script",FILE_RUN_SCRIPT,KEY_MASK_CMD+KEY_R);
p->add_separator();
p->add_item("Project Settings",RUN_SETTINGS);
p->add_item("Project Manager",RUN_PROJECT_MANAGER);
p->add_separator();
@@ -3929,6 +3955,18 @@ EditorNode::EditorNode() {
file_export->get_vbox()->add_margin_child("Password:",file_export_password);
file_script = memnew( FileDialog );
file_script->set_title("Open & Run a Script");
file_script->set_access(FileDialog::ACCESS_FILESYSTEM);
file_script->set_mode(FileDialog::MODE_OPEN_FILE);
List<String> sexts;
ResourceLoader::get_recognized_extensions_for_type("Script",&sexts);
for (List<String>::Element*E=sexts.front();E;E=E->next()) {
file_script->add_filter("*."+E->get());
}
gui_base->add_child(file_script);
file_script->connect("file_selected",this,"_dialog_action");
reimport_dialog = memnew( EditorReImportDialog );
gui_base->add_child(reimport_dialog);