fltk  1.3.5-source
About: FLTK (Fast Light Tool Kit) is a cross-platform C++ GUI toolkit for UNIX/Linux (X11), Microsoft Windows, and MacOS X.
  Fossies Dox: fltk-1.3.5-source.tar.bz2  ("inofficial" and yet experimental doxygen-generated source code documentation)  

Fl_Preferences Class Reference

Fl_Preferences provides methods to store user settings between application starts. More...

#include <Fl_Preferences.H>

Inheritance diagram for Fl_Preferences:
[legend]
Collaboration diagram for Fl_Preferences:
[legend]

Classes

struct  Entry
 
class  Name
 
class  Node
 
class  RootNode
 

Public Types

enum  Root { SYSTEM =0, USER }
 
typedef void * ID
 

Public Member Functions

 Fl_Preferences (Root root, const char *vendor, const char *application)
 
 Fl_Preferences (const char *path, const char *vendor, const char *application)
 Use this constructor to create or read a preferences file at an arbitrary position in the file system. More...
 
 Fl_Preferences (Fl_Preferences &parent, const char *group)
 Generate or read a new group of entries within another group. More...
 
 Fl_Preferences (Fl_Preferences *parent, const char *group)
 Create or access a group of preferences using a name. More...
 
 Fl_Preferences (Fl_Preferences &parent, int groupIndex)
 Open a child group using a given index. More...
 
 Fl_Preferences (Fl_Preferences *parent, int groupIndex)
 
 Fl_Preferences (const Fl_Preferences &)
 
 Fl_Preferences (ID id)
 
virtual ~Fl_Preferences ()
 
ID id ()
 
const char * name ()
 
const char * path ()
 
int groups ()
 
const char * group (int num_group)
 
char groupExists (const char *key)
 
char deleteGroup (const char *group)
 
char deleteAllGroups ()
 
int entries ()
 
const char * entry (int index)
 
char entryExists (const char *key)
 
char deleteEntry (const char *entry)
 
char deleteAllEntries ()
 
char clear ()
 
char set (const char *entry, int value)
 
char set (const char *entry, float value)
 
char set (const char *entry, float value, int precision)
 
char set (const char *entry, double value)
 
char set (const char *entry, double value, int precision)
 
char set (const char *entry, const char *value)
 
char set (const char *entry, const void *value, int size)
 
char get (const char *entry, int &value, int defaultValue)
 
char get (const char *entry, float &value, float defaultValue)
 
char get (const char *entry, double &value, double defaultValue)
 
char get (const char *entry, char *&value, const char *defaultValue)
 
char get (const char *entry, char *value, const char *defaultValue, int maxSize)
 
char get (const char *entry, void *&value, const void *defaultValue, int defaultSize)
 
char get (const char *entry, void *value, const void *defaultValue, int defaultSize, int maxSize)
 
int size (const char *entry)
 
char getUserdataPath (char *path, int pathlen)
 Creates a path that is related to the preferences file and that is usable for additional application data. More...
 
void flush ()
 

Static Public Member Functions

static const char * newUUID ()
 
static char remove (ID id_)
 

Protected Attributes

Nodenode
 
RootNoderootNode
 

Private Member Functions

 Fl_Preferences ()
 
Fl_Preferencesoperator= (const Fl_Preferences &)
 

Static Private Attributes

static char nameBuffer [128]
 
static char uuidBuffer [40]
 
static Fl_PreferencesruntimePrefs = 0
 

Friends

class Node
 
class RootNode
 

Detailed Description

Fl_Preferences provides methods to store user settings between application starts.

It is similar to the Registry on WIN32 and Preferences on MacOS, and provides a simple configuration mechanism for UNIX.

Fl_Preferences uses a hierarchy to store data. It bundles similar data into groups and manages entries into those groups as name/value pairs.

Preferences are stored in text files that can be edited manually. The file format is easy to read and relatively forgiving. Preferences files are the same on all platforms. User comments in preference files are preserved. Filenames are unique for each application by using a vendor/application naming scheme. The user must provide default values for all entries to ensure proper operation should preferences be corrupted or not yet exist.

Entries can be of any length. However, the size of each preferences file should be kept small for performance reasons. One application can have multiple preferences files. Extensive binary data however should be stored in separate files: see getUserdataPath().

Note
Starting with FLTK 1.3, preference databases are expected to be in UTF-8 encoding. Previous databases were stored in the current character set or code page which renders them incompatible for text entries using international characters.

Definition at line 60 of file Fl_Preferences.H.

Member Typedef Documentation

◆ ID

typedef void* Fl_Preferences::ID

Every Fl_Preferences-Group has a uniqe ID.

ID's can be retrieved from an Fl_Preferences-Group and can then be used to create more Fl_Preference references to the same data set, as long as the database remains open.

Definition at line 78 of file Fl_Preferences.H.

Member Enumeration Documentation

◆ Root

Define the scope of the preferences.

Enumerator
SYSTEM 

Preferences are used system-wide.

USER 

Preferences apply only to the current user.

Definition at line 66 of file Fl_Preferences.H.

Constructor & Destructor Documentation

◆ Fl_Preferences() [1/9]

Fl_Preferences::Fl_Preferences ( Root  root,
const char *  vendor,
const char *  application 
)

The constructor creates a group that manages name/value pairs and child groups. Groups are ready for reading and writing at any time. The root argument is either Fl_Preferences::USER or Fl_Preferences::SYSTEM.

This constructor creates the base instance for all following entries and reads existing databases into memory. The vendor argument is a unique text string identifying the development team or vendor of an application. A domain name or an EMail address are great unique names, e.g. "researchATmatthiasm.com" or "fltk.org". The application argument can be the working title or final name of your application. Both vendor and application must be valid relative UNIX pathnames and may contain '/'s to create deeper file structures.

A set of Preferences marked "run-time" exists exactly one per application and only as long as the application runs. It can be used as a database for volatile information. FLTK uses it to register plugins at run-time.

Parameters
[in]rootcan be USER or SYSTEM for user specific or system wide preferences
[in]vendorunique text describing the company or author of this file
[in]applicationunique text describing the application

Definition at line 232 of file Fl_Preferences.cxx.

References Node, node, RootNode, rootNode, and Fl_Preferences::Node::setRoot().

◆ Fl_Preferences() [2/9]

Fl_Preferences::Fl_Preferences ( const char *  path,
const char *  vendor,
const char *  application 
)

Use this constructor to create or read a preferences file at an arbitrary position in the file system.

The file name is generated in the form path/application.prefs. If application is NULL, path must contain the full file name.

Parameters
[in]pathpath to the directory that contains the preferences file
[in]vendorunique text describing the company or author of this file
[in]applicationunique text describing the application

Definition at line 250 of file Fl_Preferences.cxx.

References Node, node, path(), RootNode, rootNode, and Fl_Preferences::Node::setRoot().

◆ Fl_Preferences() [3/9]

Fl_Preferences::Fl_Preferences ( Fl_Preferences parent,
const char *  group 
)

Generate or read a new group of entries within another group.

Use the group argument to name the group that you would like to access. Group can also contain a path to a group further down the hierarchy by separating group names with a forward slash '/'.

Parameters
[in]parentreference object for the new group
[in]groupname of the group to access (may contain '/'s)

Definition at line 266 of file Fl_Preferences.cxx.

References Fl_Preferences::Node::addChild(), group(), node, and rootNode.

◆ Fl_Preferences() [4/9]

Fl_Preferences::Fl_Preferences ( Fl_Preferences parent,
const char *  group 
)

Create or access a group of preferences using a name.

Parameters
[in]parentthe parameter parent is a pointer to the parent group. Parent may be NULL. It then refers to an application internal database which exists only once, and remains in RAM only until the application quits. This database is used to manage plugins and other data indexes by strings.
[in]groupa group name that is used as a key into the database
See also
Fl_Preferences( Fl_Preferences&, const char *group )

Definition at line 281 of file Fl_Preferences.cxx.

References Fl_Preferences::Node::addChild(), Fl_Preferences(), group(), Node, node, RootNode, rootNode, runtimePrefs, and Fl_Preferences::Node::setRoot().

◆ Fl_Preferences() [5/9]

Fl_Preferences::Fl_Preferences ( Fl_Preferences parent,
int  groupIndex 
)

Open a child group using a given index.

Use the groupIndex argument to find the group that you would like to access. If the given index is invalid (negative or too high), a new group is created with a UUID as a name.

The index needs to be fixed. It is currently backward. Index 0 points to the last member in the 'list' of preferences.

Parameters
[in]parentreference object for the new group
[in]groupIndexzero based index into child groups

Definition at line 308 of file Fl_Preferences.cxx.

References Fl_Preferences::Node::addChild(), Fl_Preferences::Node::childNode(), groups(), newUUID(), node, and rootNode.

◆ Fl_Preferences() [6/9]

Fl_Preferences::Fl_Preferences ( Fl_Preferences parent,
int  groupIndex 
)

◆ Fl_Preferences() [7/9]

Fl_Preferences::Fl_Preferences ( const Fl_Preferences rhs)

Create another reference to a Preferences group.

Definition at line 348 of file Fl_Preferences.cxx.

◆ Fl_Preferences() [8/9]

Fl_Preferences::Fl_Preferences ( Fl_Preferences::ID  id)

Create a new dataset access point using a dataset ID.

ID's are a great way to remember shortcuts to database entries that are deeply nested in a preferences database, as long as the database root is not deleted. An ID can be retrieved from any Fl_Preferences dataset, and can then be used to create multiple new references to the same dataset.

ID's can be very helpful when put into the user_data() field of widget callbacks.

Definition at line 340 of file Fl_Preferences.cxx.

References Fl_Preferences::Node::findRoot(), node, and rootNode.

◆ ~Fl_Preferences()

Fl_Preferences::~Fl_Preferences ( )
virtual

The destructor removes allocated resources. When used on the base preferences group, the destructor flushes all changes to the preferences file and deletes all internal databases.

The destructor does not remove any data from the database. It merely deletes your reference to the database.

Definition at line 373 of file Fl_Preferences.cxx.

References node, Fl_Preferences::Node::parent(), and rootNode.

◆ Fl_Preferences() [9/9]

Fl_Preferences::Fl_Preferences ( )
inlineprivate

Definition at line 181 of file Fl_Preferences.H.

Referenced by Fl_Preferences().

Member Function Documentation

◆ clear()

char Fl_Preferences::clear ( )

Delete all groups and all entries.

Definition at line 493 of file Fl_Preferences.cxx.

References deleteAllEntries(), and deleteAllGroups().

◆ deleteAllEntries()

char Fl_Preferences::deleteAllEntries ( )

Delete all entries.

Definition at line 485 of file Fl_Preferences.cxx.

References Fl_Preferences::Node::deleteAllEntries(), and node.

Referenced by clear(), and Fl_Preferences::Node::~Node().

◆ deleteAllGroups()

char Fl_Preferences::deleteAllGroups ( )

Delete all groups.

Definition at line 434 of file Fl_Preferences.cxx.

References Fl_Preferences::Node::deleteAllChildren(), and node.

Referenced by clear().

◆ deleteEntry()

char Fl_Preferences::deleteEntry ( const char *  key)

Deletes a single name/value pair.

This function removes the entry key from the database.

Parameters
[in]keyname of entry to delete
Returns
0 if deleting the entry failed

Definition at line 478 of file Fl_Preferences.cxx.

References Fl_Preferences::Node::deleteEntry(), key, and node.

Referenced by Fl_Comment_Type::open(), and writePrefs().

◆ deleteGroup()

char Fl_Preferences::deleteGroup ( const char *  group)

Deletes a group.

Removes a group and all keys and groups within that group from the database.

Parameters
[in]groupname of the group to delete
Returns
0 if call failed

Definition at line 425 of file Fl_Preferences.cxx.

References group(), node, Fl_Preferences::Node::remove(), and Fl_Preferences::Node::search().

◆ entries()

int Fl_Preferences::entries ( )

Returns the number of entries (name/value pairs) in a group.

Returns
number of entries

Definition at line 444 of file Fl_Preferences.cxx.

References Fl_Preferences::Node::nEntry(), and node.

◆ entry()

const char * Fl_Preferences::entry ( int  index)

Returns the name of an entry. There is no guaranteed order of entry names. The index must be within the range given by entries().

Parameters
[in]indexnumber indexing the requested entry
Returns
pointer to value cstring

Definition at line 456 of file Fl_Preferences.cxx.

References Fl_Preferences::Node::entry(), Fl_Preferences::Entry::name, and node.

◆ entryExists()

char Fl_Preferences::entryExists ( const char *  key)

Returns non-zero if an entry with this name exists.

Parameters
[in]keyname of entry that is searched for
Returns
0 if entry was not found

Definition at line 466 of file Fl_Preferences.cxx.

References Fl_Preferences::Node::getEntry(), key, and node.

◆ flush()

void Fl_Preferences::flush ( )

Writes all preferences to disk. This function works only with the base preferences group. This function is rarely used as deleting the base preferences flushes automatically.

Definition at line 896 of file Fl_Preferences.cxx.

References Fl_Preferences::Node::dirty(), node, rootNode, and Fl_Preferences::RootNode::write().

Referenced by Fl_File_Chooser::favoritesButtonCB(), Fl_File_Chooser::favoritesCB(), Fl_File_Chooser::preview(), and update_history().

◆ get() [1/7]

char Fl_Preferences::get ( const char *  key,
char *&  text,
const char *  defaultValue 
)

Reads an entry from the group. A default value must be supplied. The return value indicates if the value was available (non-zero) or the default was used (0). get() allocates memory of sufficient size to hold the value. The buffer must be free'd by the developer using 'free(value)'.

Parameters
[in]keyname of entry
[out]textreturned from preferences or default value if none was set
[in]defaultValuedefault value to be used if no preference was set
Returns
0 if the default value was used

Definition at line 698 of file Fl_Preferences.cxx.

References decodeText(), Fl_Preferences::Node::get(), key, and node.

◆ get() [2/7]

char Fl_Preferences::get ( const char *  key,
char *  text,
const char *  defaultValue,
int  maxSize 
)

Reads an entry from the group. A default value must be supplied. The return value indicates if the value was available (non-zero) or the default was used (0). 'maxSize' is the maximum length of text that will be read. The text buffer must allow for one additional byte for a trailing zero.

Parameters
[in]keyname of entry
[out]textreturned from preferences or default value if none was set
[in]defaultValuedefault value to be used if no preference was set
[in]maxSizemaximum length of value plus one byte for a trailing zero
Returns
0 if the default value was used

Definition at line 672 of file Fl_Preferences.cxx.

References decodeText(), free(), Fl_Preferences::Node::get(), key, node, and strlcpy.

◆ get() [3/7]

char Fl_Preferences::get ( const char *  key,
double &  value,
double  defaultValue 
)

Reads an entry from the group. A default value must be supplied. The return value indicates if the value was available (non-zero) or the default was used (0).

Parameters
[in]keyname of entry
[out]valuereturned from preferences or default value if none was set
[in]defaultValuedefault value to be used if no preference was set
Returns
0 if the default value was used

Definition at line 590 of file Fl_Preferences.cxx.

References Fl_Preferences::Node::get(), key, and node.

◆ get() [4/7]

char Fl_Preferences::get ( const char *  key,
float &  value,
float  defaultValue 
)

Reads an entry from the group. A default value must be supplied. The return value indicates if the value was available (non-zero) or the default was used (0).

Parameters
[in]keyname of entry
[out]valuereturned from preferences or default value if none was set
[in]defaultValuedefault value to be used if no preference was set
Returns
0 if the default value was used

Definition at line 541 of file Fl_Preferences.cxx.

References Fl_Preferences::Node::get(), key, and node.

◆ get() [5/7]

char Fl_Preferences::get ( const char *  key,
int &  value,
int  defaultValue 
)

Reads an entry from the group. A default value must be supplied. The return value indicates if the value was available (non-zero) or the default was used (0).

Parameters
[in]keyname of entry
[out]valuereturned from preferences or default value if none was set
[in]defaultValuedefault value to be used if no preference was set
Returns
0 if the default value was used

Definition at line 509 of file Fl_Preferences.cxx.

References Fl_Preferences::Node::get(), key, and node.

Referenced by Fl_File_Chooser::favoritesCB(), Fl_File_Chooser::Fl_File_Chooser(), load_history(), make_main_window(), make_settings_window(), make_shell_window(), Fl_Comment_Type::open(), Fl::option(), Fl_Plugin_Manager::plugin(), position_window(), print_update_status(), readPrefs(), toggle_sourceview_cb(), Fl_File_Chooser::update_favorites(), and update_history().

◆ get() [6/7]

char Fl_Preferences::get ( const char *  key,
void *&  data,
const void *  defaultValue,
int  defaultSize 
)

Reads an entry from the group. A default value must be supplied. The return value indicates if the value was available (non-zero) or the default was used (0). get() allocates memory of sufficient size to hold the value. The buffer must be free'd by the developer using 'free(value)'.

Parameters
[in]keyname of entry
[out]datareturned from preferences or default value if none was set
[in]defaultValuedefault value to be used if no preference was set
[in]defaultSizesize of default value array
Returns
0 if the default value was used

Definition at line 805 of file Fl_Preferences.cxx.

References decodeHex(), Fl_Preferences::Node::get(), key, malloc(), and node.

◆ get() [7/7]

char Fl_Preferences::get ( const char *  key,
void *  data,
const void *  defaultValue,
int  defaultSize,
int  maxSize 
)

Reads an entry from the group. A default value must be supplied. The return value indicates if the value was available (non-zero) or the default was used (0). 'maxSize' is the maximum length of text that will be read.

Parameters
[in]keyname of entry
[out]datavalue returned from preferences or default value if none was set
[in]defaultValuedefault value to be used if no preference was set
[in]defaultSizesize of default value array
[in]maxSizemaximum length of value
Returns
0 if the default value was used
Todo:
maxSize should receive the number of bytes that were read.

Definition at line 778 of file Fl_Preferences.cxx.

References decodeHex(), free(), Fl_Preferences::Node::get(), key, and node.

◆ getUserdataPath()

char Fl_Preferences::getUserdataPath ( char *  path,
int  pathlen 
)

Creates a path that is related to the preferences file and that is usable for additional application data.

This function creates a directory that is named after the preferences database without the .prefs extension and located in the same directory. It then fills the given buffer with the complete path name.

Example:

Fl_Preferences prefs( USER, "matthiasm.com", "test" );
prefs.getUserdataPath( path );

..creates the preferences database in (MS Windows):

c:/Documents and Settings/matt/Application Data/matthiasm.com/test.prefs

..and returns the userdata path:

c:/Documents and Settings/matt/Application Data/matthiasm.com/test/
Parameters
[out]pathbuffer for user data path
[in]pathlensize of path buffer (should be at least FL_PATH_MAX)
Returns
0 if path was not created or pathname can't fit into buffer

Definition at line 885 of file Fl_Preferences.cxx.

References Fl_Preferences::RootNode::getPath(), path(), and rootNode.

Referenced by cutfname(), save_template_cb(), template_load(), undo_filename(), and update_sourceview_cb().

◆ group()

const char * Fl_Preferences::group ( int  num_group)

Returns the name of the Nth (num_group) group. There is no guaranteed order of group names. The index must be within the range given by groups().

Parameters
[in]num_groupnumber indexing the requested group
Returns
'C' string pointer to the group name

Definition at line 399 of file Fl_Preferences.cxx.

References Fl_Preferences::Node::child(), and node.

Referenced by deleteGroup(), and Fl_Preferences().

◆ groupExists()

char Fl_Preferences::groupExists ( const char *  key)

Returns non-zero if a group with this name exists. Group names are relative to the Preferences node and can contain a path. "." describes the current node, "./" describes the topmost node. By preceding a groupname with a "./", its path becomes relative to the topmost node.

Parameters
[in]keyname of group that is searched for
Returns
0 if no group by that name was found

Definition at line 412 of file Fl_Preferences.cxx.

References key, node, and Fl_Preferences::Node::search().

Referenced by Fl_Plugin_Manager::plugin().

◆ groups()

int Fl_Preferences::groups ( )

Returns the number of groups that are contained within a group.

Returns
0 for no groups at all

Definition at line 387 of file Fl_Preferences.cxx.

References Fl_Preferences::Node::nChildren(), and node.

Referenced by Fl_Preferences(), and Fl_Plugin_Manager::plugins().

◆ id()

ID Fl_Preferences::id ( )
inline

Return an ID that can later be reused to open more references to this dataset.

Definition at line 94 of file Fl_Preferences.H.

Referenced by Fl_Plugin_Manager::addPlugin().

◆ name()

◆ newUUID()

const char * Fl_Preferences::newUUID ( )
static

Returns a UUID as generated by the system.

A UUID is a "universally unique identifier" which is commonly used in configuration files to create identities. A UUID in ASCII looks like this: 937C4900-51AA-4C11-8DD3-7AB59944F03E. It has always 36 bytes plus a trailing zero.

Returns
a pointer to a static buffer containing the new UUID in ASCII format. The buffer is overwritten during every call to this function!

Definition at line 82 of file Fl_Preferences.cxx.

References b, name(), NULL, and uuidBuffer.

Referenced by Fl_Preferences(), and Fl_Shared_Image::get().

◆ operator=()

Fl_Preferences & Fl_Preferences::operator= ( const Fl_Preferences rhs)
private

Assign another reference to a Preference group.

Definition at line 356 of file Fl_Preferences.cxx.

References node, and rootNode.

◆ path()

◆ remove()

static char Fl_Preferences::remove ( ID  id_)
inlinestatic

Remove the group with this ID from a database.

Definition at line 98 of file Fl_Preferences.H.

Referenced by Fl_Plugin_Manager::removePlugin(), and Fl_Plugin::~Fl_Plugin().

◆ set() [1/7]

char Fl_Preferences::set ( const char *  key,
const char *  text 
)

Sets an entry (name/value pair). The return value indicates if there was a problem storing the data in memory. However it does not reflect if the value was actually stored in the preferences file.

Parameters
[in]keyname of entry
[in]textset this entry to value
Returns
0 if setting the value failed

Definition at line 722 of file Fl_Preferences.cxx.

References buffer, free(), key, malloc(), node, and Fl_Preferences::Node::set().

◆ set() [2/7]

char Fl_Preferences::set ( const char *  key,
const void *  data,
int  dsize 
)

Sets an entry (name/value pair). The return value indicates if there was a problem storing the data in memory. However it does not reflect if the value was actually stored in the preferences file.

Parameters
[in]keyname of entry
[in]dataset this entry to value
[in]dsizesize of data array
Returns
0 if setting the value failed

Definition at line 832 of file Fl_Preferences.cxx.

References buffer, free(), key, malloc(), node, and Fl_Preferences::Node::set().

◆ set() [3/7]

char Fl_Preferences::set ( const char *  key,
double  value 
)

Sets an entry (name/value pair). The return value indicates if there was a problem storing the data in memory. However it does not reflect if the value was actually stored in the preferences file.

Parameters
[in]keyname of entry
[in]valueset this entry to value
Returns
0 if setting the value failed

Definition at line 606 of file Fl_Preferences.cxx.

References key, nameBuffer, node, and Fl_Preferences::Node::set().

◆ set() [4/7]

char Fl_Preferences::set ( const char *  key,
double  value,
int  precision 
)

Sets an entry (name/value pair). The return value indicates if there was a problem storing the data in memory. However it does not reflect if the value was actually stored in the preferences file.

Parameters
[in]keyname of entry
[in]valueset this entry to value
[in]precisionnumber of decimal digits to represent value
Returns
0 if setting the value failed

Definition at line 623 of file Fl_Preferences.cxx.

References key, nameBuffer, node, and Fl_Preferences::Node::set().

◆ set() [5/7]

char Fl_Preferences::set ( const char *  key,
float  value 
)

Sets an entry (name/value pair). The return value indicates if there was a problem storing the data in memory. However it does not reflect if the value was actually stored in the preferences file.

Parameters
[in]keyname of entry
[in]valueset this entry to value
Returns
0 if setting the value failed

Definition at line 557 of file Fl_Preferences.cxx.

References key, nameBuffer, node, and Fl_Preferences::Node::set().

◆ set() [6/7]

char Fl_Preferences::set ( const char *  key,
float  value,
int  precision 
)

Sets an entry (name/value pair). The return value indicates if there was a problem storing the data in memory. However it does not reflect if the value was actually stored in the preferences file.

Parameters
[in]keyname of entry
[in]valueset this entry to value
[in]precisionnumber of decimal digits to represent value
Returns
0 if setting the value failed

Definition at line 574 of file Fl_Preferences.cxx.

References key, nameBuffer, node, and Fl_Preferences::Node::set().

◆ set() [7/7]

char Fl_Preferences::set ( const char *  key,
int  value 
)

◆ size()

int Fl_Preferences::size ( const char *  key)

Returns the size of the value part of an entry.

Parameters
[in]keyname of entry
Returns
size of value

Definition at line 853 of file Fl_Preferences.cxx.

References Fl_Preferences::Node::get(), key, and node.

Friends And Related Function Documentation

◆ Node

friend class Node
friend

Definition at line 243 of file Fl_Preferences.H.

Referenced by Fl_Preferences::Node::find(), and Fl_Preferences().

◆ RootNode

friend class RootNode
friend

Definition at line 258 of file Fl_Preferences.H.

Referenced by Fl_Preferences().

Member Data Documentation

◆ nameBuffer

char Fl_Preferences::nameBuffer
staticprivate

◆ node

◆ rootNode

RootNode* Fl_Preferences::rootNode
protected

Definition at line 262 of file Fl_Preferences.H.

Referenced by Fl_Preferences(), flush(), getUserdataPath(), operator=(), and ~Fl_Preferences().

◆ runtimePrefs

Fl_Preferences * Fl_Preferences::runtimePrefs = 0
staticprivate

Definition at line 186 of file Fl_Preferences.H.

Referenced by Fl_Preferences().

◆ uuidBuffer

char Fl_Preferences::uuidBuffer
staticprivate

Definition at line 185 of file Fl_Preferences.H.

Referenced by newUUID().


The documentation for this class was generated from the following files:
Fl_Preferences::USER
Preferences apply only to the current user.
Definition: Fl_Preferences.H:68
Fl_Preferences::path
const char * path()
Definition: Fl_Preferences.H:106
FL_PATH_MAX
#define FL_PATH_MAX
Definition: filename.H:38
Fl_Preferences
Fl_Preferences provides methods to store user settings between application starts.
Definition: Fl_Preferences.H:60