Browse Source

Merge pull request #43414 from Xrayez/pi-type-string

Expose `PROPERTY_HINT_TYPE_STRING` to scripting
Rémi Verschelde 4 years ago
parent
commit
fa9332a0e7
2 changed files with 11 additions and 0 deletions
  1. 1 0
      core/core_constants.cpp
  2. 10 0
      doc/classes/@GlobalScope.xml

+ 1 - 0
core/core_constants.cpp

@@ -525,6 +525,7 @@ void register_global_constants() {
 	BIND_CORE_ENUM_CONSTANT(PROPERTY_HINT_COLOR_NO_ALPHA);
 	BIND_CORE_ENUM_CONSTANT(PROPERTY_HINT_COLOR_NO_ALPHA);
 	BIND_CORE_ENUM_CONSTANT(PROPERTY_HINT_IMAGE_COMPRESS_LOSSY);
 	BIND_CORE_ENUM_CONSTANT(PROPERTY_HINT_IMAGE_COMPRESS_LOSSY);
 	BIND_CORE_ENUM_CONSTANT(PROPERTY_HINT_IMAGE_COMPRESS_LOSSLESS);
 	BIND_CORE_ENUM_CONSTANT(PROPERTY_HINT_IMAGE_COMPRESS_LOSSLESS);
+	BIND_CORE_ENUM_CONSTANT(PROPERTY_HINT_TYPE_STRING);
 
 
 	BIND_CORE_ENUM_CONSTANT(PROPERTY_USAGE_STORAGE);
 	BIND_CORE_ENUM_CONSTANT(PROPERTY_USAGE_STORAGE);
 	BIND_CORE_ENUM_CONSTANT(PROPERTY_USAGE_EDITOR);
 	BIND_CORE_ENUM_CONSTANT(PROPERTY_USAGE_EDITOR);

+ 10 - 0
doc/classes/@GlobalScope.xml

@@ -2423,6 +2423,16 @@
 		<constant name="PROPERTY_HINT_IMAGE_COMPRESS_LOSSLESS" value="21" enum="PropertyHint">
 		<constant name="PROPERTY_HINT_IMAGE_COMPRESS_LOSSLESS" value="21" enum="PropertyHint">
 			Hints that an image is compressed using lossless compression.
 			Hints that an image is compressed using lossless compression.
 		</constant>
 		</constant>
+		<constant name="PROPERTY_HINT_TYPE_STRING" value="23" enum="PropertyHint">
+			Hint that a property represents a particular type. If a property is [constant TYPE_STRING], allows to set a type from the create dialog. If you need to create an [Array] to contain elements of a specific type, the [code]hint_string[/code] must encode nested types using [code]":"[/code] and [code]"/"[/code] for specifying [Resource] types. For instance:
+			[codeblock]
+			hint_string = "%s:" % [TYPE_INT] # Array of inteters.
+			hint_string = "%s:%s:" % [TYPE_ARRAY, TYPE_REAL] # Two-dimensional array of floats.
+			hint_string = "%s/%s:Resource" % [TYPE_OBJECT, TYPE_OBJECT] # Array of resources.
+			hint_string = "%s:%s/%s:Resource" % [TYPE_ARRAY, TYPE_OBJECT, TYPE_OBJECT] # Two-dimensional array of resources.
+			[/codeblock]
+			[b]Note:[/b] the final colon is required to specify for properly detecting built-in types.
+		</constant>
 		<constant name="PROPERTY_USAGE_STORAGE" value="1" enum="PropertyUsageFlags">
 		<constant name="PROPERTY_USAGE_STORAGE" value="1" enum="PropertyUsageFlags">
 			The property is serialized and saved in the scene file (default).
 			The property is serialized and saved in the scene file (default).
 		</constant>
 		</constant>