diff options
Diffstat (limited to 'editor/plugins/resource_preloader_editor_plugin.cpp')
| -rw-r--r-- | editor/plugins/resource_preloader_editor_plugin.cpp | 296 |
1 files changed, 122 insertions, 174 deletions
diff --git a/editor/plugins/resource_preloader_editor_plugin.cpp b/editor/plugins/resource_preloader_editor_plugin.cpp index e876fa55c..2cdbff8d9 100644 --- a/editor/plugins/resource_preloader_editor_plugin.cpp +++ b/editor/plugins/resource_preloader_editor_plugin.cpp @@ -28,40 +28,35 @@ /*************************************************************************/ #include "resource_preloader_editor_plugin.h" -#include "io/resource_loader.h" -#include "global_config.h" #include "editor/editor_settings.h" - +#include "global_config.h" +#include "io/resource_loader.h" void ResourcePreloaderEditor::_gui_input(InputEvent p_event) { - - } void ResourcePreloaderEditor::_notification(int p_what) { - if (p_what==NOTIFICATION_FIXED_PROCESS) { - + if (p_what == NOTIFICATION_FIXED_PROCESS) { } - if (p_what==NOTIFICATION_ENTER_TREE) { - load->set_icon( get_icon("Folder","EditorIcons") ); - _delete->set_icon( get_icon("Del","EditorIcons") ); + if (p_what == NOTIFICATION_ENTER_TREE) { + load->set_icon(get_icon("Folder", "EditorIcons")); + _delete->set_icon(get_icon("Del", "EditorIcons")); } - if (p_what==NOTIFICATION_READY) { + if (p_what == NOTIFICATION_READY) { //NodePath("/root")->connect("node_removed", this,"_node_removed",Vector<Variant>(),true); } - if (p_what==NOTIFICATION_DRAW) { - + if (p_what == NOTIFICATION_DRAW) { } } -void ResourcePreloaderEditor::_files_load_request(const Vector<String>& p_paths) { +void ResourcePreloaderEditor::_files_load_request(const Vector<String> &p_paths) { - for(int i=0;i<p_paths.size();i++) { + for (int i = 0; i < p_paths.size(); i++) { String path = p_paths[i]; @@ -77,41 +72,38 @@ void ResourcePreloaderEditor::_files_load_request(const Vector<String>& p_paths) return; ///beh should show an error i guess } - String basename = path.get_file().get_basename(); - String name=basename; - int counter=1; - while(preloader->has_resource(name)) { + String name = basename; + int counter = 1; + while (preloader->has_resource(name)) { counter++; - name=basename+" "+itos(counter); + name = basename + " " + itos(counter); } undo_redo->create_action(TTR("Add Resource")); - undo_redo->add_do_method(preloader,"add_resource",name,resource); - undo_redo->add_undo_method(preloader,"remove_resource",name); - undo_redo->add_do_method(this,"_update_library"); - undo_redo->add_undo_method(this,"_update_library"); + undo_redo->add_do_method(preloader, "add_resource", name, resource); + undo_redo->add_undo_method(preloader, "remove_resource", name); + undo_redo->add_do_method(this, "_update_library"); + undo_redo->add_undo_method(this, "_update_library"); undo_redo->commit_action(); } } void ResourcePreloaderEditor::_load_pressed() { - loading_scene=false; + loading_scene = false; file->clear_filters(); List<String> extensions; - ResourceLoader::get_recognized_extensions_for_type("",&extensions); - for(int i=0;i<extensions.size();i++) - file->add_filter("*."+extensions[i]); + ResourceLoader::get_recognized_extensions_for_type("", &extensions); + for (int i = 0; i < extensions.size(); i++) + file->add_filter("*." + extensions[i]); file->set_mode(EditorFileDialog::MODE_OPEN_FILES); file->popup_centered_ratio(); - } - void ResourcePreloaderEditor::_item_edited() { if (!tree->get_selected()) @@ -119,32 +111,29 @@ void ResourcePreloaderEditor::_item_edited() { TreeItem *s = tree->get_selected(); - if (tree->get_selected_column()==0) { + if (tree->get_selected_column() == 0) { // renamed - String old_name=s->get_metadata(0); - String new_name=s->get_text(0); - if (old_name==new_name) + String old_name = s->get_metadata(0); + String new_name = s->get_text(0); + if (old_name == new_name) return; - if (new_name=="" || new_name.find("\\")!=-1 || new_name.find("/")!=-1 || preloader->has_resource(new_name)) { + if (new_name == "" || new_name.find("\\") != -1 || new_name.find("/") != -1 || preloader->has_resource(new_name)) { - s->set_text(0,old_name); + s->set_text(0, old_name); return; } RES samp = preloader->get_resource(old_name); undo_redo->create_action(TTR("Rename Resource")); - undo_redo->add_do_method(preloader,"remove_resource",old_name); - undo_redo->add_do_method(preloader,"add_resource",new_name,samp); - undo_redo->add_undo_method(preloader,"remove_resource",new_name); - undo_redo->add_undo_method(preloader,"add_resource",old_name,samp); - undo_redo->add_do_method(this,"_update_library"); - undo_redo->add_undo_method(this,"_update_library"); + undo_redo->add_do_method(preloader, "remove_resource", old_name); + undo_redo->add_do_method(preloader, "add_resource", new_name, samp); + undo_redo->add_undo_method(preloader, "remove_resource", new_name); + undo_redo->add_undo_method(preloader, "add_resource", old_name, samp); + undo_redo->add_do_method(this, "_update_library"); + undo_redo->add_undo_method(this, "_update_library"); undo_redo->commit_action(); - } - - } void ResourcePreloaderEditor::_delete_confirm_pressed() { @@ -154,17 +143,16 @@ void ResourcePreloaderEditor::_delete_confirm_pressed() { String to_remove = tree->get_selected()->get_text(0); undo_redo->create_action(TTR("Delete Resource")); - undo_redo->add_do_method(preloader,"remove_resource",to_remove); - undo_redo->add_undo_method(preloader,"add_resource",to_remove,preloader->get_resource(to_remove)); - undo_redo->add_do_method(this,"_update_library"); - undo_redo->add_undo_method(this,"_update_library"); + undo_redo->add_do_method(preloader, "remove_resource", to_remove); + undo_redo->add_undo_method(preloader, "add_resource", to_remove, preloader->get_resource(to_remove)); + undo_redo->add_do_method(this, "_update_library"); + undo_redo->add_undo_method(this, "_update_library"); undo_redo->commit_action(); } - void ResourcePreloaderEditor::_paste_pressed() { - RES r=EditorSettings::get_singleton()->get_resource_clipboard(); + RES r = EditorSettings::get_singleton()->get_resource_clipboard(); if (!r.is_valid()) { dialog->set_text(TTR("Resource clipboard is empty!")); dialog->set_title(TTR("Error!")); @@ -175,31 +163,28 @@ void ResourcePreloaderEditor::_paste_pressed() { } String name = r->get_name(); - if (name=="") - name=r->get_path().get_file(); - if (name=="") - name=r->get_class(); + if (name == "") + name = r->get_path().get_file(); + if (name == "") + name = r->get_class(); String basename = name; - int counter=1; - while(preloader->has_resource(name)) { + int counter = 1; + while (preloader->has_resource(name)) { counter++; - name=basename+" "+itos(counter); + name = basename + " " + itos(counter); } undo_redo->create_action(TTR("Paste Resource")); - undo_redo->add_do_method(preloader,"add_resource",name,r); - undo_redo->add_undo_method(preloader,"remove_resource",name); - undo_redo->add_do_method(this,"_update_library"); - undo_redo->add_undo_method(this,"_update_library"); + undo_redo->add_do_method(preloader, "add_resource", name, r); + undo_redo->add_undo_method(preloader, "remove_resource", name); + undo_redo->add_do_method(this, "_update_library"); + undo_redo->add_undo_method(this, "_update_library"); undo_redo->commit_action(); - } - void ResourcePreloaderEditor::_delete_pressed() { - if (!tree->get_selected()) return; @@ -211,10 +196,8 @@ void ResourcePreloaderEditor::_delete_pressed() { //dialog->get_ok()->show(); dialog->get_ok()->set_text("Remove"); dialog->popup_centered(Size2(300,60));*/ - } - void ResourcePreloaderEditor::_update_library() { tree->clear(); @@ -225,46 +208,40 @@ void ResourcePreloaderEditor::_update_library() { preloader->get_resource_list(&rnames); List<String> names; - for(List<StringName>::Element *E=rnames.front();E;E=E->next()) { + for (List<StringName>::Element *E = rnames.front(); E; E = E->next()) { names.push_back(E->get()); } names.sort(); - for(List<String>::Element *E=names.front();E;E=E->next()) { + for (List<String>::Element *E = names.front(); E; E = E->next()) { TreeItem *ti = tree->create_item(root); - ti->set_cell_mode(0,TreeItem::CELL_MODE_STRING); - ti->set_editable(0,true); - ti->set_selectable(0,true); - ti->set_text(0,E->get()); - ti->set_metadata(0,E->get()); - - + ti->set_cell_mode(0, TreeItem::CELL_MODE_STRING); + ti->set_editable(0, true); + ti->set_selectable(0, true); + ti->set_text(0, E->get()); + ti->set_metadata(0, E->get()); RES r = preloader->get_resource(E->get()); ERR_CONTINUE(r.is_null()); - ti->set_tooltip(0,r->get_path()); + ti->set_tooltip(0, r->get_path()); String type = r->get_class(); - ti->set_text(1,type); - ti->set_selectable(1,false); - - if (has_icon(type,"EditorIcons")) - ti->set_icon( 1, get_icon(type,"EditorIcons") ); + ti->set_text(1, type); + ti->set_selectable(1, false); + if (has_icon(type, "EditorIcons")) + ti->set_icon(1, get_icon(type, "EditorIcons")); } //player->add_resource("default",resource); } +void ResourcePreloaderEditor::edit(ResourcePreloader *p_preloader) { - -void ResourcePreloaderEditor::edit(ResourcePreloader* p_preloader) { - - preloader=p_preloader; - + preloader = p_preloader; if (p_preloader) { _update_library(); @@ -273,14 +250,11 @@ void ResourcePreloaderEditor::edit(ResourcePreloader* p_preloader) { hide(); set_fixed_process(false); } - } +Variant ResourcePreloaderEditor::get_drag_data_fw(const Point2 &p_point, Control *p_from) { - -Variant ResourcePreloaderEditor::get_drag_data_fw(const Point2& p_point,Control* p_from) { - - TreeItem*ti =tree->get_item_at_pos(p_point); + TreeItem *ti = tree->get_item_at_pos(p_point); if (!ti) return Variant(); @@ -290,45 +264,40 @@ Variant ResourcePreloaderEditor::get_drag_data_fw(const Point2& p_point,Control* if (!res.is_valid()) return Variant(); - return EditorNode::get_singleton()->drag_resource(res,p_from); - + return EditorNode::get_singleton()->drag_resource(res, p_from); } -bool ResourcePreloaderEditor::can_drop_data_fw(const Point2& p_point,const Variant& p_data,Control* p_from) const { - - +bool ResourcePreloaderEditor::can_drop_data_fw(const Point2 &p_point, const Variant &p_data, Control *p_from) const { Dictionary d = p_data; if (!d.has("type")) return false; - if (d.has("from") && (Object*)(d["from"])==tree) + if (d.has("from") && (Object *)(d["from"]) == tree) return false; - if (String(d["type"])=="resource" && d.has("resource")) { - RES r=d["resource"]; + if (String(d["type"]) == "resource" && d.has("resource")) { + RES r = d["resource"]; return r.is_valid(); } - - if (String(d["type"])=="files") { + if (String(d["type"]) == "files") { Vector<String> files = d["files"]; - if (files.size()==0) + if (files.size() == 0) return false; return true; - } return false; } -void ResourcePreloaderEditor::drop_data_fw(const Point2& p_point,const Variant& p_data,Control* p_from) { +void ResourcePreloaderEditor::drop_data_fw(const Point2 &p_point, const Variant &p_data, Control *p_from) { - if (!can_drop_data_fw(p_point,p_data,p_from)) + if (!can_drop_data_fw(p_point, p_data, p_from)) return; Dictionary d = p_data; @@ -336,39 +305,37 @@ void ResourcePreloaderEditor::drop_data_fw(const Point2& p_point,const Variant& if (!d.has("type")) return; - - if (String(d["type"])=="resource" && d.has("resource")) { - RES r=d["resource"]; + if (String(d["type"]) == "resource" && d.has("resource")) { + RES r = d["resource"]; if (r.is_valid()) { String basename; - if (r->get_name()!="") { - basename=r->get_name(); + if (r->get_name() != "") { + basename = r->get_name(); } else if (r->get_path().is_resource_file()) { basename = r->get_path().get_basename(); } else { - basename="Resource"; + basename = "Resource"; } - String name=basename; - int counter=0; - while(preloader->has_resource(name)) { + String name = basename; + int counter = 0; + while (preloader->has_resource(name)) { counter++; - name=basename+"_"+itos(counter); + name = basename + "_" + itos(counter); } undo_redo->create_action(TTR("Add Resource")); - undo_redo->add_do_method(preloader,"add_resource",name,r); - undo_redo->add_undo_method(preloader,"remove_resource",name); - undo_redo->add_do_method(this,"_update_library"); - undo_redo->add_undo_method(this,"_update_library"); + undo_redo->add_do_method(preloader, "add_resource", name, r); + undo_redo->add_undo_method(preloader, "remove_resource", name); + undo_redo->add_do_method(this, "_update_library"); + undo_redo->add_undo_method(this, "_update_library"); undo_redo->commit_action(); } } - - if (String(d["type"])=="files") { + if (String(d["type"]) == "files") { Vector<String> files = d["files"]; @@ -376,83 +343,73 @@ void ResourcePreloaderEditor::drop_data_fw(const Point2& p_point,const Variant& } } - - void ResourcePreloaderEditor::_bind_methods() { - ClassDB::bind_method(D_METHOD("_gui_input"),&ResourcePreloaderEditor::_gui_input); - ClassDB::bind_method(D_METHOD("_load_pressed"),&ResourcePreloaderEditor::_load_pressed); - ClassDB::bind_method(D_METHOD("_item_edited"),&ResourcePreloaderEditor::_item_edited); - ClassDB::bind_method(D_METHOD("_delete_pressed"),&ResourcePreloaderEditor::_delete_pressed); - ClassDB::bind_method(D_METHOD("_paste_pressed"),&ResourcePreloaderEditor::_paste_pressed); - ClassDB::bind_method(D_METHOD("_delete_confirm_pressed"),&ResourcePreloaderEditor::_delete_confirm_pressed); - ClassDB::bind_method(D_METHOD("_files_load_request"),&ResourcePreloaderEditor::_files_load_request); - ClassDB::bind_method(D_METHOD("_update_library"),&ResourcePreloaderEditor::_update_library); - + ClassDB::bind_method(D_METHOD("_gui_input"), &ResourcePreloaderEditor::_gui_input); + ClassDB::bind_method(D_METHOD("_load_pressed"), &ResourcePreloaderEditor::_load_pressed); + ClassDB::bind_method(D_METHOD("_item_edited"), &ResourcePreloaderEditor::_item_edited); + ClassDB::bind_method(D_METHOD("_delete_pressed"), &ResourcePreloaderEditor::_delete_pressed); + ClassDB::bind_method(D_METHOD("_paste_pressed"), &ResourcePreloaderEditor::_paste_pressed); + ClassDB::bind_method(D_METHOD("_delete_confirm_pressed"), &ResourcePreloaderEditor::_delete_confirm_pressed); + ClassDB::bind_method(D_METHOD("_files_load_request"), &ResourcePreloaderEditor::_files_load_request); + ClassDB::bind_method(D_METHOD("_update_library"), &ResourcePreloaderEditor::_update_library); ClassDB::bind_method(D_METHOD("get_drag_data_fw"), &ResourcePreloaderEditor::get_drag_data_fw); ClassDB::bind_method(D_METHOD("can_drop_data_fw"), &ResourcePreloaderEditor::can_drop_data_fw); ClassDB::bind_method(D_METHOD("drop_data_fw"), &ResourcePreloaderEditor::drop_data_fw); - - } ResourcePreloaderEditor::ResourcePreloaderEditor() { //add_style_override("panel", get_stylebox("panel","Panel")); - VBoxContainer *vbc = memnew( VBoxContainer ); + VBoxContainer *vbc = memnew(VBoxContainer); add_child(vbc); - HBoxContainer *hbc = memnew( HBoxContainer ); + HBoxContainer *hbc = memnew(HBoxContainer); vbc->add_child(hbc); - load = memnew( Button ); + load = memnew(Button); load->set_tooltip(TTR("Load Resource")); hbc->add_child(load); - - - _delete = memnew( Button ); + _delete = memnew(Button); hbc->add_child(_delete); - paste = memnew( Button ); + paste = memnew(Button); paste->set_text(TTR("Paste")); hbc->add_child(paste); - file = memnew( EditorFileDialog ); + file = memnew(EditorFileDialog); add_child(file); - - tree = memnew( Tree ); + tree = memnew(Tree); tree->set_columns(2); - tree->set_column_min_width(0,3); - tree->set_column_min_width(1,1); - tree->set_column_expand(0,true); - tree->set_column_expand(1,true); + tree->set_column_min_width(0, 3); + tree->set_column_min_width(1, 1); + tree->set_column_expand(0, true); + tree->set_column_expand(1, true); tree->set_v_size_flags(SIZE_EXPAND_FILL); tree->set_drag_forwarding(this); vbc->add_child(tree); - dialog = memnew( AcceptDialog ); - add_child( dialog ); + dialog = memnew(AcceptDialog); + add_child(dialog); - load->connect("pressed", this,"_load_pressed"); - _delete->connect("pressed", this,"_delete_pressed"); - paste->connect("pressed", this,"_paste_pressed"); - file->connect("files_selected", this,"_files_load_request"); + load->connect("pressed", this, "_load_pressed"); + _delete->connect("pressed", this, "_delete_pressed"); + paste->connect("pressed", this, "_paste_pressed"); + file->connect("files_selected", this, "_files_load_request"); //dialog->connect("confirmed", this,"_delete_confirm_pressed"); - tree->connect("item_edited", this,"_item_edited"); - loading_scene=false; - + tree->connect("item_edited", this, "_item_edited"); + loading_scene = false; } - void ResourcePreloaderEditorPlugin::edit(Object *p_object) { preloader_editor->set_undo_redo(&get_undo_redo()); - ResourcePreloader * s = p_object->cast_to<ResourcePreloader>(); + ResourcePreloader *s = p_object->cast_to<ResourcePreloader>(); if (!s) return; @@ -479,29 +436,20 @@ void ResourcePreloaderEditorPlugin::make_visible(bool p_visible) { //preloader_editor->hide(); //preloader_editor->set_process(false); } - } ResourcePreloaderEditorPlugin::ResourcePreloaderEditorPlugin(EditorNode *p_node) { - editor=p_node; - preloader_editor = memnew( ResourcePreloaderEditor ); - preloader_editor->set_custom_minimum_size(Size2(0,250)); + editor = p_node; + preloader_editor = memnew(ResourcePreloaderEditor); + preloader_editor->set_custom_minimum_size(Size2(0, 250)); - button=editor->add_bottom_panel_item("ResourcePreloader",preloader_editor); + button = editor->add_bottom_panel_item("ResourcePreloader", preloader_editor); button->hide(); //preloader_editor->set_anchor( MARGIN_TOP, Control::ANCHOR_END); //preloader_editor->set_margin( MARGIN_TOP, 120 ); - - - - } - -ResourcePreloaderEditorPlugin::~ResourcePreloaderEditorPlugin() -{ +ResourcePreloaderEditorPlugin::~ResourcePreloaderEditorPlugin() { } - - |
