123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127 |
- <?xml version="1.0" encoding="UTF-8" ?>
- <class name="ConfigFile" inherits="Reference" category="Core" version="3.0.alpha.custom_build">
- <brief_description>
- Helper class to handle INI-style files.
- </brief_description>
- <description>
- This helper class can be used to store [Variant] values on the filesystem using INI-style formatting. The stored values are indentified by a section and a key:
- [codeblock]
- [section]
- some_key=42
- string_example="Hello World!"
- a_vector=Vector3( 1, 0, 2 )
- [/codeblock]
- The stored data can be saved to or parsed from a file, though ConfigFile objects can also be used directly without accessing the filesystem.
- The following example shows how to parse an INI-style file from the system, read its contents and store new values in it:
- [codeblock]
- var config = ConfigFile.new()
- var err = config.load("user://settings.cfg")
- if err == OK: # if not, something went wrong with the file loading
- # Look for the display/width pair, and default to 1024 if missing
- var screen_width = get_value("display", "width", 1024)
- # Store a variable if and only if it hasn't been defined yet
- if not config.has_section_key("audio", "mute"):
- config.set_value("audio", "mute", false)
- # Save the changes by overwriting the previous file
- config.save("user://settings.cfg")
- [/codeblock]
- </description>
- <tutorials>
- </tutorials>
- <demos>
- </demos>
- <methods>
- <method name="erase_section">
- <return type="void">
- </return>
- <argument index="0" name="section" type="String">
- </argument>
- <description>
- Deletes the specified section along with all the key-value pairs inside.
- </description>
- </method>
- <method name="get_section_keys" qualifiers="const">
- <return type="PoolStringArray">
- </return>
- <argument index="0" name="section" type="String">
- </argument>
- <description>
- Returns an array of all defined key identifiers in the specified section.
- </description>
- </method>
- <method name="get_sections" qualifiers="const">
- <return type="PoolStringArray">
- </return>
- <description>
- Returns an array of all defined section identifiers.
- </description>
- </method>
- <method name="get_value" qualifiers="const">
- <return type="Variant">
- </return>
- <argument index="0" name="section" type="String">
- </argument>
- <argument index="1" name="key" type="String">
- </argument>
- <argument index="2" name="default" type="Variant" default="null">
- </argument>
- <description>
- Returns the current value for the specified section and key. If the section and/or the key do not exist, the method returns the value of the optional [code]default[/code] argument, or [code]null[/code] if it is omitted.
- </description>
- </method>
- <method name="has_section" qualifiers="const">
- <return type="bool">
- </return>
- <argument index="0" name="section" type="String">
- </argument>
- <description>
- Returns [code]true[/code] if the specified section exists.
- </description>
- </method>
- <method name="has_section_key" qualifiers="const">
- <return type="bool">
- </return>
- <argument index="0" name="section" type="String">
- </argument>
- <argument index="1" name="key" type="String">
- </argument>
- <description>
- Returns [code]true[/code] if the specified section-key pair exists.
- </description>
- </method>
- <method name="load">
- <return type="int" enum="Error">
- </return>
- <argument index="0" name="path" type="String">
- </argument>
- <description>
- Loads the config file specified as a parameter. The file's contents are parsed and loaded in the ConfigFile object which the method was called on. Returns one of the [code]OK[/code], [code]FAILED[/code] or [code]ERR_*[/code] constants listed in [@Global Scope]. If the load was successful, the return value is [code]OK[/code].
- </description>
- </method>
- <method name="save">
- <return type="int" enum="Error">
- </return>
- <argument index="0" name="path" type="String">
- </argument>
- <description>
- Saves the contents of the ConfigFile object to the file specified as a parameter. The output file uses an INI-style structure. Returns one of the [code]OK[/code], [code]FAILED[/code] or [code]ERR_*[/code] constants listed in [@Global Scope]. If the load was successful, the return value is [code]OK[/code].
- </description>
- </method>
- <method name="set_value">
- <return type="void">
- </return>
- <argument index="0" name="section" type="String">
- </argument>
- <argument index="1" name="key" type="String">
- </argument>
- <argument index="2" name="value" type="Variant">
- </argument>
- <description>
- Assigns a value to the specified key of the the specified section. If the section and/or the key do not exist, they are created. Passing a [code]null[/code] value deletes the specified key if it exists, and deletes the section if it ends up empty once the key has been removed.
- </description>
- </method>
- </methods>
- <constants>
- </constants>
- </class>
|