godot/editor/project_manager.cpp

/**************************************************************************/
/*  project_manager.cpp                                                   */
/**************************************************************************/
/*                         This file is part of:                          */
/*                             GODOT ENGINE                               */
/*                        https://godotengine.org                         */
/**************************************************************************/
/* Copyright (c) 2014-present Godot Engine contributors (see AUTHORS.md). */
/* Copyright (c) 2007-2014 Juan Linietsky, Ariel Manzur.                  */
/*                                                                        */
/* Permission is hereby granted, free of charge, to any person obtaining  */
/* a copy of this software and associated documentation files (the        */
/* "Software"), to deal in the Software without restriction, including    */
/* without limitation the rights to use, copy, modify, merge, publish,    */
/* distribute, sublicense, and/or sell copies of the Software, and to     */
/* permit persons to whom the Software is furnished to do so, subject to  */
/* the following conditions:                                              */
/*                                                                        */
/* The above copyright notice and this permission notice shall be         */
/* included in all copies or substantial portions of the Software.        */
/*                                                                        */
/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,        */
/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF     */
/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. */
/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY   */
/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,   */
/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE      */
/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.                 */
/**************************************************************************/

#include "project_manager.h"

#include "core/config/project_settings.h"
#include "core/io/config_file.h"
#include "core/io/dir_access.h"
#include "core/io/file_access.h"
#include "core/io/resource_saver.h"
#include "core/io/stream_peer_tls.h"
#include "core/os/keyboard.h"
#include "core/os/os.h"
#include "core/version.h"
#include "editor/editor_about.h"
#include "editor/editor_settings.h"
#include "editor/editor_string_names.h"
#include "editor/engine_update_label.h"
#include "editor/gui/editor_file_dialog.h"
#include "editor/gui/editor_title_bar.h"
#include "editor/gui/editor_version_button.h"
#include "editor/plugins/asset_library_editor_plugin.h"
#include "editor/project_manager/project_dialog.h"
#include "editor/project_manager/project_list.h"
#include "editor/project_manager/project_tag.h"
#include "editor/project_manager/quick_settings_dialog.h"
#include "editor/themes/editor_icons.h"
#include "editor/themes/editor_scale.h"
#include "editor/themes/editor_theme_manager.h"
#include "main/main.h"
#include "scene/gui/check_box.h"
#include "scene/gui/color_rect.h"
#include "scene/gui/flow_container.h"
#include "scene/gui/line_edit.h"
#include "scene/gui/margin_container.h"
#include "scene/gui/option_button.h"
#include "scene/gui/panel_container.h"
#include "scene/gui/rich_text_label.h"
#include "scene/gui/separator.h"
#include "scene/gui/texture_rect.h"
#include "scene/main/window.h"
#include "scene/theme/theme_db.h"
#include "servers/display_server.h"
#include "servers/navigation_server_3d.h"
#include "servers/physics_server_2d.h"

constexpr int GODOT4_CONFIG_VERSION =;

ProjectManager *ProjectManager::singleton =;

// Notifications.

void ProjectManager::_notification(int p_what) {}

// Utility data.

Ref<Texture2D> ProjectManager::_file_dialog_get_icon(const String &p_path) {}

Ref<Texture2D> ProjectManager::_file_dialog_get_thumbnail(const String &p_path) {}

void ProjectManager::_build_icon_type_cache(Ref<Theme> p_theme) {}

// Main layout.

void ProjectManager::_update_size_limits() {}

void ProjectManager::_update_theme(bool p_skip_creation) {}

Button *ProjectManager::_add_main_view(MainViewTab p_id, const String &p_name, const Ref<Texture2D> &p_icon, Control *p_view_control) {}

void ProjectManager::_set_main_view_icon(MainViewTab p_id, const Ref<Texture2D> &p_icon) {}

void ProjectManager::_select_main_view(int p_id) {}

void ProjectManager::_show_about() {}

void ProjectManager::_open_asset_library_confirmed() {}

void ProjectManager::_show_error(const String &p_message, const Size2 &p_min_size) {}

void ProjectManager::_dim_window() {}

// Quick settings.

void ProjectManager::_show_quick_settings() {}

void ProjectManager::_restart_confirmed() {}

// Project list.

void ProjectManager::_update_list_placeholder() {}

void ProjectManager::_scan_projects() {}

void ProjectManager::_run_project() {}

void ProjectManager::_run_project_confirm() {}

void ProjectManager::_open_selected_projects() {}

void ProjectManager::_open_selected_projects_ask() {}

void ProjectManager::_open_selected_projects_with_migration() {}

void ProjectManager::_install_project(const String &p_zip_path, const String &p_title) {}

void ProjectManager::_import_project() {}

void ProjectManager::_new_project() {}

void ProjectManager::_rename_project() {}

void ProjectManager::_erase_project() {}

void ProjectManager::_erase_missing_projects() {}

void ProjectManager::_erase_project_confirm() {}

void ProjectManager::_erase_missing_projects_confirm() {}

void ProjectManager::_update_project_buttons() {}

void ProjectManager::_on_projects_updated() {}

void ProjectManager::_on_project_created(const String &dir) {}

void ProjectManager::_on_order_option_changed(int p_idx) {}

void ProjectManager::_on_search_term_changed(const String &p_term) {}

void ProjectManager::_on_search_term_submitted(const String &p_text) {}

LineEdit *ProjectManager::get_search_box() {}

// Project tag management.

void ProjectManager::_manage_project_tags() {}

void ProjectManager::_add_project_tag(const String &p_tag) {}

void ProjectManager::_delete_project_tag(const String &p_tag) {}

void ProjectManager::_apply_project_tags() {}

void ProjectManager::_set_new_tag_name(const String p_name) {}

void ProjectManager::_create_new_tag() {}

void ProjectManager::add_new_tag(const String &p_tag) {}

// Project converter/migration tool.

#ifndef DISABLE_DEPRECATED
void ProjectManager::_minor_project_migrate() {}
#endif

void ProjectManager::_full_convert_button_pressed() {}

void ProjectManager::_perform_full_project_conversion() {}

// Input and I/O.

void ProjectManager::shortcut_input(const Ref<InputEvent> &p_ev) {}

void ProjectManager::_files_dropped(PackedStringArray p_files) {}

void ProjectManager::_titlebar_resized() {}

// Object methods.

ProjectManager::ProjectManager() {}

ProjectManager::~ProjectManager() {}