class_configfile.rst 8.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128
  1. .. Generated automatically by doc/tools/makerst.py in Godot's source tree.
  2. .. DO NOT EDIT THIS FILE, but the ConfigFile.xml source instead.
  3. .. The source is found in doc/classes or modules/<name>/doc_classes.
  4. .. _class_ConfigFile:
  5. ConfigFile
  6. ==========
  7. **Inherits:** :ref:`Reference<class_reference>` **<** :ref:`Object<class_object>`
  8. **Category:** Core
  9. Brief Description
  10. -----------------
  11. Helper class to handle INI-style files.
  12. Member Functions
  13. ----------------
  14. +------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  15. | void | :ref:`erase_section<class_ConfigFile_erase_section>` **(** :ref:`String<class_string>` section **)** |
  16. +------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  17. | :ref:`PoolStringArray<class_poolstringarray>` | :ref:`get_section_keys<class_ConfigFile_get_section_keys>` **(** :ref:`String<class_string>` section **)** const |
  18. +------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  19. | :ref:`PoolStringArray<class_poolstringarray>` | :ref:`get_sections<class_ConfigFile_get_sections>` **(** **)** const |
  20. +------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  21. | :ref:`Variant<class_variant>` | :ref:`get_value<class_ConfigFile_get_value>` **(** :ref:`String<class_string>` section, :ref:`String<class_string>` key, :ref:`Variant<class_variant>` default=null **)** const |
  22. +------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  23. | :ref:`bool<class_bool>` | :ref:`has_section<class_ConfigFile_has_section>` **(** :ref:`String<class_string>` section **)** const |
  24. +------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  25. | :ref:`bool<class_bool>` | :ref:`has_section_key<class_ConfigFile_has_section_key>` **(** :ref:`String<class_string>` section, :ref:`String<class_string>` key **)** const |
  26. +------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  27. | :ref:`int<class_int>` | :ref:`load<class_ConfigFile_load>` **(** :ref:`String<class_string>` path **)** |
  28. +------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  29. | :ref:`int<class_int>` | :ref:`save<class_ConfigFile_save>` **(** :ref:`String<class_string>` path **)** |
  30. +------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  31. | void | :ref:`set_value<class_ConfigFile_set_value>` **(** :ref:`String<class_string>` section, :ref:`String<class_string>` key, :ref:`Variant<class_variant>` value **)** |
  32. +------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  33. Description
  34. -----------
  35. This helper class can be used to store :ref:`Variant<class_variant>` values on the filesystem using INI-style formatting. The stored values are identified by a section and a key:
  36. ::
  37. [section]
  38. some_key=42
  39. string_example="Hello World!"
  40. a_vector=Vector3( 1, 0, 2 )
  41. The stored data can be saved to or parsed from a file, though ConfigFile objects can also be used directly without accessing the filesystem.
  42. The following example shows how to parse an INI-style file from the system, read its contents and store new values in it:
  43. ::
  44. var config = ConfigFile.new()
  45. var err = config.load("user://settings.cfg")
  46. if err == OK: # if not, something went wrong with the file loading
  47. # Look for the display/width pair, and default to 1024 if missing
  48. var screen_width = get_value("display", "width", 1024)
  49. # Store a variable if and only if it hasn't been defined yet
  50. if not config.has_section_key("audio", "mute"):
  51. config.set_value("audio", "mute", false)
  52. # Save the changes by overwriting the previous file
  53. config.save("user://settings.cfg")
  54. Member Function Description
  55. ---------------------------
  56. .. _class_ConfigFile_erase_section:
  57. - void **erase_section** **(** :ref:`String<class_string>` section **)**
  58. Deletes the specified section along with all the key-value pairs inside.
  59. .. _class_ConfigFile_get_section_keys:
  60. - :ref:`PoolStringArray<class_poolstringarray>` **get_section_keys** **(** :ref:`String<class_string>` section **)** const
  61. Returns an array of all defined key identifiers in the specified section.
  62. .. _class_ConfigFile_get_sections:
  63. - :ref:`PoolStringArray<class_poolstringarray>` **get_sections** **(** **)** const
  64. Returns an array of all defined section identifiers.
  65. .. _class_ConfigFile_get_value:
  66. - :ref:`Variant<class_variant>` **get_value** **(** :ref:`String<class_string>` section, :ref:`String<class_string>` key, :ref:`Variant<class_variant>` default=null **)** const
  67. 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 ``default`` argument, or ``null`` if it is omitted.
  68. .. _class_ConfigFile_has_section:
  69. - :ref:`bool<class_bool>` **has_section** **(** :ref:`String<class_string>` section **)** const
  70. Returns ``true`` if the specified section exists.
  71. .. _class_ConfigFile_has_section_key:
  72. - :ref:`bool<class_bool>` **has_section_key** **(** :ref:`String<class_string>` section, :ref:`String<class_string>` key **)** const
  73. Returns ``true`` if the specified section-key pair exists.
  74. .. _class_ConfigFile_load:
  75. - :ref:`int<class_int>` **load** **(** :ref:`String<class_string>` path **)**
  76. 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 ``OK``, ``FAILED`` or ``ERR_*`` constants listed in :ref:`@GlobalScope<class_@globalscope>`. If the load was successful, the return value is ``OK``.
  77. .. _class_ConfigFile_save:
  78. - :ref:`int<class_int>` **save** **(** :ref:`String<class_string>` path **)**
  79. 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 ``OK``, ``FAILED`` or ``ERR_*`` constants listed in :ref:`@GlobalScope<class_@globalscope>`. If the load was successful, the return value is ``OK``.
  80. .. _class_ConfigFile_set_value:
  81. - void **set_value** **(** :ref:`String<class_string>` section, :ref:`String<class_string>` key, :ref:`Variant<class_variant>` value **)**
  82. 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 ``null`` value deletes the specified key if it exists, and deletes the section if it ends up empty once the key has been removed.