Main Page | Namespace List | Class Hierarchy | Class List | File List | Class Members | File Members

SettingGroup Class Reference

#include <settinggroup.h>

Collaboration diagram for SettingGroup:

[legend]
List of all members.

Detailed Description

SettingGroup contains settings which are releated.

Definition at line 25 of file settinggroup.h.

Public Member Functions

 SettingGroup (QString name)
 Creates configuration variables using default avlues.

 ~SettingGroup ()
 Destructor.

QString getName ()
 Returns group's name.

QString getValue (QString key)
 Returns a setting value.

void setValue (QString key, QString value)
 Sets a setting value, create new setting if setting not found.

SettingGroupgetNext ()
 returns the next groupsetting

void setNext (SettingGroup *next)
 sets the next group setting

void loadSettings (QDomNode &node)
void saveSettings (QTextStream &stream)
 writes out this group to file

void resetSetting (QString key)
 resets a setting to its default value


Private Attributes

QString name
 groups identifying name

SettingfirstSetting
 pointer to first setting in group

SettinglastSetting
 pointer to last setting in group

SettingGroupnext
 pointer to next settingroup


Constructor & Destructor Documentation

SettingGroup::SettingGroup QString  name  ) 
 

Creates configuration variables using default avlues.

Definition at line 21 of file settinggroup.cpp.

References firstSetting, lastSetting, next, and SettingGroup().

Referenced by SettingGroup().

00022 { 00023 this->name = name; 00024 firstSetting = NULL; 00025 lastSetting = NULL; 00026 next = NULL; 00027 }

SettingGroup::~SettingGroup  ) 
 

Destructor.

Definition at line 29 of file settinggroup.cpp.

References firstSetting, and Setting::getNext().

00030 { 00031 Setting* cur = firstSetting; 00032 while(cur != NULL) 00033 { 00034 Setting* t = cur->getNext(); 00035 delete cur; 00036 cur = t; 00037 } 00038 }


Member Function Documentation

QString SettingGroup::getName  ) 
 

Returns group's name.

Definition at line 40 of file settinggroup.cpp.

References name.

Referenced by Configuration::getString(), Configuration::loadSettings(), Configuration::removeGroup(), Configuration::resetSetting(), saveSettings(), and Configuration::setString().

00041 { 00042 return name; 00043 }

SettingGroup * SettingGroup::getNext  ) 
 

returns the next groupsetting

Definition at line 94 of file settinggroup.cpp.

References next.

Referenced by Configuration::getString(), Configuration::loadSettings(), Configuration::removeGroup(), Configuration::resetSetting(), Configuration::saveSettings(), Configuration::setString(), and Configuration::~Configuration().

00095 { 00096 return next; 00097 }

QString SettingGroup::getValue QString  key  ) 
 

Returns a setting value.

Definition at line 45 of file settinggroup.cpp.

References firstSetting, Setting::getKey(), Setting::getNext(), Setting::getValue(), and getValue().

Referenced by Configuration::getString(), and getValue().

00046 { 00047 Setting* cur = firstSetting; 00048 while(cur != NULL) 00049 { 00050 if(cur->getKey().compare(key) == 0) 00051 { 00052 return cur->getValue(); 00053 } 00054 cur = cur->getNext(); 00055 } 00056 return "-1"; 00057 }

void SettingGroup::loadSettings QDomNode &  node  ) 
 

Definition at line 119 of file settinggroup.cpp.

References loadSettings(), and setValue().

Referenced by loadSettings(), and Configuration::loadSettings().

00120 { 00121 //iterate over all children (Settings) 00122 QDomNode node = root.firstChild(); 00123 QDomText val; 00124 while( !node.isNull() ) 00125 { 00126 if( node.isElement() && node.nodeName() == "setting" ) 00127 { 00128 //find key and value, if either is missing move on to next setting 00129 QDomNamedNodeMap attributes = node.attributes(); 00130 if(attributes.namedItem("key").isNull() || attributes.namedItem("value").isNull()) 00131 { 00132 node = node.nextSibling(); 00133 continue; 00134 } 00135 00136 00137 QString k = attributes.namedItem("key").nodeValue(); 00138 QString v = attributes.namedItem("value").nodeValue(); 00139 00140 //key and value found -> add new setting 00141 setValue( attributes.namedItem("key").nodeValue(), 00142 attributes.namedItem("value").nodeValue() ); 00143 } 00144 00145 //move on to next setting 00146 node = node.nextSibling(); 00147 } 00148 }

void SettingGroup::resetSetting QString  key  ) 
 

resets a setting to its default value

Definition at line 59 of file settinggroup.cpp.

References firstSetting, Setting::getKey(), Setting::getNext(), Setting::resetSetting(), and resetSetting().

Referenced by resetSetting(), and Configuration::resetSetting().

00060 { 00061 Setting* cur = firstSetting; 00062 while(cur != NULL) 00063 { 00064 if(cur->getKey().compare(key) == 0) 00065 { 00066 cur->resetSetting(); 00067 } 00068 cur = cur->getNext(); 00069 } 00070 }

void SettingGroup::saveSettings QTextStream &  stream  ) 
 

writes out this group to file

Definition at line 104 of file settinggroup.cpp.

References firstSetting, Setting::getKey(), getName(), Setting::getNext(), Setting::getValue(), and saveSettings().

Referenced by saveSettings(), and Configuration::saveSettings().

00105 { 00106 stream << " <group name=\"" << getName() << "\">\n"; 00107 00108 //iterate over every setting 00109 Setting* cur = firstSetting; 00110 while(cur != NULL) 00111 { 00112 stream << " <setting key=\"" << cur->getKey() << "\" value=\"" << cur->getValue() << "\"/>\n"; 00113 cur = cur->getNext(); 00114 } 00115 00116 stream << " </group>\n"; 00117 }

void SettingGroup::setNext SettingGroup next  ) 
 

sets the next group setting

Definition at line 99 of file settinggroup.cpp.

References setNext().

Referenced by Configuration::loadSettings(), Configuration::removeGroup(), setNext(), and Configuration::setString().

00100 { 00101 this->next = next; 00102 }

void SettingGroup::setValue QString  key,
QString  value
 

Sets a setting value, create new setting if setting not found.

Definition at line 72 of file settinggroup.cpp.

References firstSetting, Setting::getKey(), Setting::getNext(), lastSetting, Setting::setNext(), Setting::setValue(), and setValue().

Referenced by loadSettings(), Configuration::setString(), and setValue().

00073 { 00074 Setting* cur = firstSetting; 00075 while(cur != NULL) 00076 { 00077 if(cur->getKey().compare(key) == 0) 00078 { 00079 cur->setValue(value); 00080 return; 00081 } 00082 cur = cur->getNext(); 00083 } 00084 00085 //setting not found, create new one and append to list 00086 cur = new Setting(key, value); 00087 if(firstSetting == NULL) 00088 firstSetting = cur; 00089 else 00090 lastSetting->setNext(cur); 00091 lastSetting = cur; 00092 }


Member Data Documentation

Setting* SettingGroup::firstSetting [private]
 

pointer to first setting in group

Definition at line 64 of file settinggroup.h.

Referenced by getValue(), resetSetting(), saveSettings(), SettingGroup(), setValue(), and ~SettingGroup().

Setting* SettingGroup::lastSetting [private]
 

pointer to last setting in group

Definition at line 67 of file settinggroup.h.

Referenced by SettingGroup(), and setValue().

QString SettingGroup::name [private]
 

groups identifying name

Definition at line 61 of file settinggroup.h.

Referenced by getName().

SettingGroup* SettingGroup::next [private]
 

pointer to next settingroup

Definition at line 70 of file settinggroup.h.

Referenced by getNext(), and SettingGroup().


The documentation for this class was generated from the following files:
Generated on Sun Mar 4 19:43:08 2007 for AlbumShaper by doxygen 1.3.7