void ScriptCreateDialog::_file_selected(const String& p_file) { String p = Globals::get_singleton()->localize_path(p_file); file_path->set_text(p); _path_changed(p); }
void EditorSubScene::_path_selected(const String& p_path) { path->set_text(p_path); _path_changed(p_path); }
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::_built_in_pressed() { if (internal->is_pressed()) { is_built_in = true; is_new_script_created = true; } else { is_built_in = false; _path_changed(file_path->get_text()); } _update_dialog(); }
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) { 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::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()); }
void EditorSubScene::clear() { path->set_text(""); _path_changed(""); }
void ScriptCreateDialog::_update_dialog() { bool script_ok = true; /* "Add Script Dialog" gui logic and script checks */ // Is Script Valid (order from top to bottom) get_ok()->set_disabled(true); if (!is_built_in) { if (!is_path_valid) { _msg_script_valid(false, TTR("Invalid Path")); script_ok = false; } } if (has_named_classes && (!is_class_name_valid)) { _msg_script_valid(false, TTR("Invalid class name")); script_ok = false; } if (!is_parent_name_valid) { _msg_script_valid(false, TTR("Invalid inherited parent name or path")); script_ok = false; } if (script_ok) { _msg_script_valid(true, TTR("Script valid")); get_ok()->set_disabled(false); } /* Does script have named classes */ if (has_named_classes) { if (is_new_script_created) { class_name->set_editable(true); class_name->set_placeholder(TTR("Allowed: a-z, A-Z, 0-9 and _")); class_name->set_placeholder_alpha(0.3); } else { class_name->set_editable(false); } } else { class_name->set_editable(false); class_name->set_placeholder(TTR("N/A")); class_name->set_placeholder_alpha(1); } /* Can script inherit from a file */ if (can_inherit_from_file) { parent_browse_button->set_disabled(false); } else { parent_browse_button->set_disabled(true); } /* Is script Built-in */ if (is_built_in) { file_path->set_editable(false); path_button->set_disabled(true); re_check_path = true; } else { file_path->set_editable(true); path_button->set_disabled(false); if (re_check_path) { re_check_path = false; _path_changed(file_path->get_text()); } } if (!supports_built_in) internal->set_pressed(false); /* Is Script created or loaded from existing file */ if (is_new_script_created) { // New Script Created get_ok()->set_text(TTR("Create")); parent_name->set_editable(true); parent_browse_button->set_disabled(false); internal->set_disabled(!supports_built_in); if (is_built_in) { _msg_path_valid(true, TTR("Built-in script (into scene file)")); } else { if (script_ok) { _msg_path_valid(true, TTR("Create new script file")); } } } else { // Script Loaded get_ok()->set_text(TTR("Load")); parent_name->set_editable(false); parent_browse_button->set_disabled(true); internal->set_disabled(true); if (script_ok) { _msg_path_valid(true, TTR("Load existing script file")); } } }
void ScriptCreateDialog::_lang_changed(int l) { l = language_menu->get_selected(); ScriptLanguage *language = ScriptServer::get_language(l); if (language->has_named_classes()) { has_named_classes = true; } else { has_named_classes = false; } if (language->supports_builtin_mode()) { supports_built_in = true; } else { supports_built_in = false; is_built_in = false; } if (ScriptServer::get_language(l)->can_inherit_from_file()) { can_inherit_from_file = true; } else { can_inherit_from_file = false; } String selected_ext = "." + language->get_extension(); String path = file_path->get_text(); String extension = ""; if (path != "") { if (path.find(".") >= 0) { extension = path.get_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.get_basename() + selected_ext; _path_changed(path); break; } } } } else { path = "class" + selected_ext; _path_changed(path); } file_path->set_text(path); bool use_templates = language->is_using_templates(); template_menu->set_disabled(!use_templates); template_menu->clear(); if (use_templates) { template_list = EditorSettings::get_singleton()->get_script_templates(language->get_extension()); String last_lang = EditorSettings::get_singleton()->get_project_metadata("script_setup", "last_selected_language", ""); String last_template = EditorSettings::get_singleton()->get_project_metadata("script_setup", "last_selected_template", ""); template_menu->add_item(TTR("Default")); for (int i = 0; i < template_list.size(); i++) { String s = template_list[i].capitalize(); template_menu->add_item(s); if (language_menu->get_item_text(language_menu->get_selected()) == last_lang && last_template == s) { template_menu->select(i + 1); } } } else { template_menu->add_item(TTR("N/A")); script_template = ""; } _template_changed(template_menu->get_selected()); EditorSettings::get_singleton()->set_project_metadata("script_setup", "last_selected_language", language_menu->get_item_text(language_menu->get_selected())); _update_dialog(); }