|
@@ -50,7 +50,11 @@ void ScriptCreateDialog::_notification(int p_what) {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
-void ScriptCreateDialog::config(const String &p_base_name, const String &p_base_path) {
|
|
|
+bool ScriptCreateDialog::_can_be_built_in() {
|
|
|
+ return (supports_built_in && built_in_enabled);
|
|
|
+}
|
|
|
+
|
|
|
+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();
|
|
@@ -66,6 +70,8 @@ void ScriptCreateDialog::config(const String &p_base_name, const String &p_base_
|
|
|
}
|
|
|
file_path->deselect();
|
|
|
|
|
|
+ built_in_enabled = p_built_in_enabled;
|
|
|
+
|
|
|
_lang_changed(current_language);
|
|
|
_class_name_changed("");
|
|
|
_path_changed(file_path->get_text());
|
|
@@ -544,7 +550,7 @@ void ScriptCreateDialog::_update_dialog() {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- if (!supports_built_in)
|
|
|
+ if (!_can_be_built_in())
|
|
|
internal->set_pressed(false);
|
|
|
|
|
|
/* Is Script created or loaded from existing file */
|
|
@@ -553,14 +559,14 @@ void ScriptCreateDialog::_update_dialog() {
|
|
|
get_ok()->set_text(TTR("Create"));
|
|
|
parent_name->set_editable(true);
|
|
|
parent_browse_button->set_disabled(false);
|
|
|
- internal->set_disabled(!supports_built_in);
|
|
|
+ internal->set_disabled(!_can_be_built_in());
|
|
|
_msg_path_valid(true, TTR("Built-in script (into scene file)"));
|
|
|
} else 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);
|
|
|
+ internal->set_disabled(!_can_be_built_in());
|
|
|
if (is_path_valid) {
|
|
|
_msg_path_valid(true, TTR("Create new script file"));
|
|
|
}
|
|
@@ -569,7 +575,7 @@ void ScriptCreateDialog::_update_dialog() {
|
|
|
get_ok()->set_text(TTR("Load"));
|
|
|
parent_name->set_editable(false);
|
|
|
parent_browse_button->set_disabled(true);
|
|
|
- internal->set_disabled(!supports_built_in);
|
|
|
+ internal->set_disabled(!_can_be_built_in());
|
|
|
if (is_path_valid) {
|
|
|
_msg_path_valid(true, TTR("Load existing script file"));
|
|
|
}
|
|
@@ -588,7 +594,7 @@ void ScriptCreateDialog::_bind_methods() {
|
|
|
ClassDB::bind_method("_path_entered", &ScriptCreateDialog::_path_entered);
|
|
|
ClassDB::bind_method("_template_changed", &ScriptCreateDialog::_template_changed);
|
|
|
|
|
|
- ClassDB::bind_method(D_METHOD("config", "inherits", "path"), &ScriptCreateDialog::config);
|
|
|
+ ClassDB::bind_method(D_METHOD("config", "inherits", "path", "built_in_enabled"), &ScriptCreateDialog::config, DEFVAL(true));
|
|
|
|
|
|
ADD_SIGNAL(MethodInfo("script_created", PropertyInfo(Variant::OBJECT, "script", PROPERTY_HINT_RESOURCE_TYPE, "Script")));
|
|
|
}
|
|
@@ -793,6 +799,7 @@ ScriptCreateDialog::ScriptCreateDialog() {
|
|
|
has_named_classes = false;
|
|
|
supports_built_in = false;
|
|
|
can_inherit_from_file = false;
|
|
|
+ built_in_enabled = true;
|
|
|
is_built_in = false;
|
|
|
|
|
|
is_new_script_created = true;
|