00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
#ifndef USTYLEMANAGER_HPP
00029
#define USTYLEMANAGER_HPP
00030
00031
#include "../uobject.hpp"
00032
#include "../font/ufont.hpp"
00033
#include "../util/upalette.hpp"
00034
00035
namespace ufo {
00036
00037
class UStyle;
00038
class UStyleHints;
00039
class UWidget;
00040
00049 class UFO_EXPORT UStyleManager :
public UObject {
00050
public:
00051 UStyleManager();
00052 UStyleManager(
UStyle * style,
00053 std::map<std::string, UStyleHints*> hints);
00055
virtual ~UStyleManager();
00056
00058
UStyle * getStyle();
00060
void setStyle(
UStyle * style);
00061
00063
UPalette getPalette();
00067
void setPalette(
const UPalette & palette);
00068
00070
UFont getFont();
00074
void setFont(
const UFont & font);
00075
00077
void loadStyleSheet(
const std::string & fileName);
00078
00080
void putStyleHints(
const std::string & classid,
UStyleHints * styleHints);
00081
void putStyleHints(
00082
const std::string & type,
00083
const std::string & classId,
00084
const std::string & name,
00085
UStyleHints * styleHints
00086 );
00090
UStyleHints * getStyleHints(
00091
const std::string & type,
00092
const std::string & classId =
"",
00093
const std::string & name =
""
00094 );
00095 std::map<std::string, UStyleHints*> & getStyleHints() {
return m_hints; }
00096
00097
private:
00098
UStyle * m_style;
00099 std::map<std::string, UStyleHints*> m_hints;
00100 };
00101
00102 }
00103
00104
#endif // USTYLEMANAGER_HPP