25 #ifndef GCHEMPAINT_THEME_H
26 #define GCHEMPAINT_THEME_H
30 #include <libxml/tree.h>
78 Theme (
char const *name);
92 std::string &
GetFileName () {
return (m_FileName.length ())? m_FileName: m_Name;}
100 bool Save (xmlDocPtr xml);
106 bool Load (xmlNodePtr node);
131 std::string m_Name, m_FileName;
132 std::set <gcu::Object*> m_Clients;
297 Theme *GetTheme (
char const *name);
303 Theme *GetTheme (std::string &name);
307 std::list <std::string>
const &GetThemesNames ();
315 void OnConfigChanged (GOConfNode *node, gchar
const *name);
331 void AddFileTheme (
Theme *theme,
char const *label);
338 void RemoveFileTheme (
Theme *theme);
345 void ChangeThemeName (
Theme *theme,
char const *name);
356 void SetDefaultTheme (
char const *name);
364 void ParseDir (std::string &path, ThemeType type);
367 std::map <std::string, Theme*> m_Themes;
368 std::list <std::string> m_Names;
369 GOConfNode *m_ConfNode;
370 guint m_NotificationId;
371 Theme *m_DefaultTheme;
381 #endif // GCHEMPAINT_THEME_H