ThemeLoader.h
00001 #ifndef _THEMELOADER_H_
00002 #define _THEMELOADER_H_
00003
00004 #include <gtkmm.h>
00005 #include <librsvg/rsvg.h>
00006 #include <SVGLoader.h>
00007
00014 class ThemeLoader
00015 {
00016 public:
00018 static Glib::KeyFile kf;
00020 static void LoadTheme();
00021
00022 ThemeLoader(const Glib::ustring& group);
00023 ~ThemeLoader(){};
00025 void set_group(const Glib::ustring& group);
00027 Glib::ustring get_string(const Glib::ustring& key, bool quiet = false);
00029 gdouble get_double(const Glib::ustring& key, gdouble dflt = 0.0, bool quiet = false);
00031 bool get_boolean(const Glib::ustring& key, bool dflt = false, bool quiet = false);
00033 Gdk::Color get_color(const Glib::ustring& key, const Glib::ustring& dflt = "#ffffff", bool quiet = false);
00035 std::vector<gdouble> get_double_list(const Glib::ustring& key, bool quiet = false);
00037 SVGLoader getSVG(const Glib::ustring& key, const Glib::ustring& dflt = "", bool quiet = false);
00038
00039 protected:
00040 static bool loaded;
00041 static bool theme_loaded;
00042 static std::string theme_path;
00043 static std::string theme_file;
00045 Glib::ustring group;
00046 ThemeLoader();
00047 };
00048 #endif