void ScriptCreateDialog::_file_selected(const String &p_file) { String p = ProjectSettings::get_singleton()->localize_path(p_file); if (is_browsing_parent) { parent_name->set_text("\"" + p + "\""); _class_name_changed("\"" + p + "\""); } else { file_path->set_text(p); _path_changed(p); } }
void ScriptCreateDialog::config(const String& p_base_name,const String&p_base_path) { class_name->set_text(""); parent_name->set_text(p_base_name); if (p_base_path!="") { initial_bp=p_base_path.basename(); file_path->set_text(initial_bp+"."+ScriptServer::get_language( language_menu->get_selected() )->get_extension()); } else { initial_bp=""; file_path->set_text(""); } _class_name_changed(""); _path_changed(file_path->get_text()); }
void ScriptCreateDialog::_lang_changed(int l) { l=language_menu->get_selected(); if (ScriptServer::get_language( l )->has_named_classes()) { class_name->set_editable(true); } else { class_name->set_editable(false); } if (file_path->get_text().basename()==initial_bp) { file_path->set_text(initial_bp+"."+ScriptServer::get_language( l )->get_extension()); _path_changed(file_path->get_text()); } _class_name_changed(class_name->get_text()); }
void ScriptCreateDialog::_file_selected(const String &p_file) { String p = ProjectSettings::get_singleton()->localize_path(p_file); if (is_browsing_parent) { parent_name->set_text("\"" + p + "\""); _class_name_changed("\"" + p + "\""); } else { file_path->set_text(p); _path_changed(p); String filename = p.get_file().get_basename(); int select_start = p.find_last(filename); file_path->select(select_start, select_start + filename.length()); file_path->set_cursor_position(select_start + filename.length()); file_path->grab_focus(); } }
void ScriptCreateDialog::_lang_changed(int l) { l=language_menu->get_selected(); if (ScriptServer::get_language( l )->has_named_classes()) { class_name->set_editable(true); } else { class_name->set_editable(false); } String selected_ext="."+ScriptServer::get_language( l )->get_extension(); String path=file_path->get_text(); String extension=""; if (path.find(".")>=0) { extension=path.extension(); } if (extension.length()==0) { // add extension if none path+=selected_ext; _path_changed(path); } else { // change extension by selected language List<String> extensions; // get all possible extensions for script for (int l=0;l<language_menu->get_item_count();l++) { ScriptServer::get_language( l )->get_recognized_extensions(&extensions); } for(List<String>::Element *E=extensions.front();E;E=E->next()) { if (E->get().nocasecmp_to(extension)==0) { path=path.basename()+selected_ext; _path_changed(path); break; } } } file_path->set_text(path); _class_name_changed(class_name->get_text()); }
void ScriptCreateDialog::config(const String &p_base_name, const String &p_base_path, bool p_built_in_enabled) { class_name->set_text(""); class_name->deselect(); parent_name->set_text(p_base_name); parent_name->deselect(); if (p_base_path != "") { initial_bp = p_base_path.get_basename(); file_path->set_text(initial_bp + "." + ScriptServer::get_language(language_menu->get_selected())->get_extension()); } else { initial_bp = ""; file_path->set_text(""); } file_path->deselect(); built_in_enabled = p_built_in_enabled; _lang_changed(current_language); _class_name_changed(""); _path_changed(file_path->get_text()); }