00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00028 #ifndef WINDOW_MANAGER_HPP
00029 #define WINDOW_MANAGER_HPP
00030
00031 #include "gtk-lumiera.hpp"
00032
00033 namespace gui {
00034
00038 class WindowManager : private boost::noncopyable
00039 {
00040 public:
00044 WindowManager();
00045
00051 bool set_theme(Glib::ustring path);
00052
00062 static GdkColor read_style_colour_property(
00063 Gtk::Widget &widget, const gchar *property_name,
00064 guint16 red, guint16 green, guint16 blue);
00065
00066 private:
00067
00071 static void register_giant_icon_size();
00072
00077 static void register_stock_items();
00078
00088 static bool add_stock_icon_set(
00089 const Glib::RefPtr<Gtk::IconFactory>& factory,
00090 const Glib::ustring& icon_name,
00091 const Glib::ustring& id,
00092 const Glib::ustring& label);
00093
00104 static bool add_stock_icon(Gtk::IconSet &icon_set,
00105 const Glib::ustring& icon_name, Gtk::IconSize size, bool wildcard);
00106
00117 static bool add_stock_icon_source(Gtk::IconSet &icon_set,
00118 const Glib::ustring& base_dir, const Glib::ustring& icon_name,
00119 Gtk::IconSize size, bool wildcard);
00120
00121 private:
00122
00128 static Gtk::IconSize giantIconSize;
00129 };
00130
00131 }
00132
00133 #endif // WINDOW_MANAGER_HPP