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