]>
Commit | Line | Data |
---|---|---|
15b6757b | 1 | ///////////////////////////////////////////////////////////////////////////// |
d54cf7ff | 2 | // Name: config.h |
15b6757b FM |
3 | // Purpose: topic overview |
4 | // Author: wxWidgets team | |
526954c5 | 5 | // Licence: wxWindows licence |
15b6757b FM |
6 | ///////////////////////////////////////////////////////////////////////////// |
7 | ||
880efa2a BP |
8 | /** |
9 | ||
10 | @page overview_config wxConfig Overview | |
11 | ||
12 | Classes: wxConfigBase | |
13 | ||
14 | This overview briefly describes what the config classes are and what they are | |
15 | for. All the details about how to use them may be found in the description of | |
16 | the wxConfigBase class and the documentation of the file, registry and INI file | |
17 | based implementations mentions all the features/limitations specific to each | |
18 | one of these versions. | |
19 | ||
20 | The config classes provide a way to store some application configuration | |
21 | information. They were especially designed for this usage and, although may | |
22 | probably be used for many other things as well, should be limited to it. It | |
23 | means that this information should be: | |
24 | ||
4c51a665 | 25 | @li Typed, i.e. strings or numbers for the moment. You cannot store binary |
880efa2a BP |
26 | data, for example. |
27 | @li Small. For instance, it is not recommended to use the Windows registry for | |
28 | amounts of data more than a couple of kilobytes. | |
29 | @li Not performance critical, neither from speed nor from a memory consumption | |
30 | point of view. | |
31 | ||
32 | On the other hand, the features provided make them very useful for storing all | |
33 | kinds of small to medium volumes of hierarchically-organized, heterogeneous | |
34 | data. In short, this is a place where you can conveniently stuff all your data | |
35 | (numbers and strings) organizing it in a tree where you use the filesystem-like | |
36 | paths to specify the location of a piece of data. In particular, these classes | |
37 | were designed to be as easy to use as possible. | |
38 | ||
39 | From another point of view, they provide an interface which hides the | |
40 | differences between the Windows registry and the standard Unix text format | |
41 | configuration files. Other (future) implementations of wxConfigBase might also | |
42 | understand GTK resource files or their analogues on the KDE side. | |
43 | ||
44 | In any case, each implementation of wxConfigBase does its best to make the data | |
45 | look the same way everywhere. Due to limitations of the underlying physical | |
46 | storage, it may not implement 100% of the base class functionality. | |
47 | ||
48 | There are groups of entries and the entries themselves. Each entry contains | |
49 | either a string or a number (or a boolean value; support for other types of | |
50 | data such as dates or timestamps is planned) and is identified by the full path | |
51 | to it: something like @c /MyApp/UserPreferences/Colors/Foreground. | |
52 | ||
53 | The previous elements in the path are the group names, and each name may | |
54 | contain an arbitrary number of entries and subgroups. | |
55 | ||
56 | The path components are @e always separated with a slash, even though some | |
57 | implementations use the backslash internally. Further details (including how to | |
58 | read/write these entries) may be found in the documentation for wxConfigBase. | |
36c9828f | 59 | |
d54cf7ff | 60 | */ |
880efa2a | 61 |