From 481202b91d7b77d8d8bac4d47b59fc4634dd656f Mon Sep 17 00:00:00 2001 From: fluxgen Date: Mon, 13 Oct 2003 22:57:14 +0000 Subject: cleaning, moved theme items to ThemeItems.hh --- src/FbTk/Theme.cc | 159 +----------------------------------------------------- 1 file changed, 2 insertions(+), 157 deletions(-) diff --git a/src/FbTk/Theme.cc b/src/FbTk/Theme.cc index 0c13a9c..c554545 100644 --- a/src/FbTk/Theme.cc +++ b/src/FbTk/Theme.cc @@ -19,18 +19,14 @@ // FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER // DEALINGS IN THE SOFTWARE. -// $Id: Theme.cc,v 1.19 2003/09/14 11:17:21 fluxgen Exp $ +// $Id: Theme.cc,v 1.20 2003/10/13 22:57:14 fluxgen Exp $ #include "Theme.hh" #include "XrmDatabaseHelper.hh" -#include "Font.hh" -#include "Color.hh" -#include "Texture.hh" #include "App.hh" -#include "Image.hh" -#include "PixmapWithMask.hh" #include "StringUtil.hh" +#include "ThemeItems.hh" #include #include @@ -39,157 +35,6 @@ using namespace std; namespace FbTk { -// create default handlers for Color, Font, Texture, int and string -template <> -void FbTk::ThemeItem::load() { } - -template <> -void FbTk::ThemeItem::setDefaultValue() { - *(*this) = ""; -} - -template <> -void FbTk::ThemeItem::setFromString(const char *str) { - *(*this) = (str ? str : ""); -} - -template <> -void FbTk::ThemeItem::load() { } - -template <> -void FbTk::ThemeItem::setDefaultValue() { - *(*this) = 0; -} - -template <> -void FbTk::ThemeItem::setFromString(const char *str) { - if (str == 0) - return; - sscanf(str, "%d", &m_value); -} - -template <> -void ThemeItem::setDefaultValue() { - if (!m_value.load("fixed")) { - cerr<<"FbTk::ThemeItem: Warning! Failed to load default value 'fixed'"< -void ThemeItem::setFromString(const char *str) { - if (m_value.load(str) == false) { - if (FbTk::ThemeManager::instance().verbose()) { - cerr<<"FbTk::Theme: Error loading font "<< - ((m_value.isAntialias() || m_value.utf8()) ? "(" : "")<< - - (m_value.isAntialias() ? "antialias" : "")<< - (m_value.utf8() ? " utf8" : "")<< - - ((m_value.isAntialias() || m_value.utf8()) ? ") " : "")<< - "for \""< -void ThemeItem::load() { -} - - -template <> -void ThemeItem::load() { - string color_name(ThemeManager::instance(). - resourceValue(name()+".color", altName()+".Color")); - string colorto_name(ThemeManager::instance(). - resourceValue(name()+".colorTo", altName()+".ColorTo")); - string pixmap_name(ThemeManager::instance(). - resourceValue(name()+".pixmap", altName()+".Pixmap")); - - - // set default value if we failed to load color - if (!m_value.color().setFromString(color_name.c_str(), m_tm.screenNum())) - m_value.color().setFromString("darkgray", m_tm.screenNum()); - - if (!m_value.colorTo().setFromString(colorto_name.c_str(), m_tm.screenNum())) - m_value.colorTo().setFromString("white", m_tm.screenNum()); - - - std::auto_ptr pm(Image::load(pixmap_name, m_tm.screenNum())); - if (pm.get() == 0) { - if (FbTk::ThemeManager::instance().verbose()) - cerr<<"Resource("<pixmap().release(); -} - -template <> -void ThemeItem::setDefaultValue() { - m_value.setType(FbTk::Texture::FLAT | FbTk::Texture::SOLID); - load(); // one might forget to add line something: so we try to load something.*: too -} - -template <> -void ThemeItem::setFromString(const char *str) { - m_value.setFromString(str); - if (m_value.type() == 0) // failed to set value - setDefaultValue(); -} - - - -// not used -template <> -void FbTk::ThemeItem:: -load() { } - -template <> -void FbTk::ThemeItem:: -setDefaultValue() { - // create empty pixmap - (*this)->pixmap() = 0; - (*this)->mask() = 0; -} - -template <> -void FbTk::ThemeItem:: -setFromString(const char *str) { - if (str == 0) - setDefaultValue(); - else { - std::auto_ptr pm(Image::load(str, m_tm.screenNum())); - if (pm.get() == 0) - setDefaultValue(); - else { - (*this)->pixmap() = pm->pixmap().release(); - (*this)->mask() = pm->mask().release(); - } - } -} - -template <> -void ThemeItem::setDefaultValue() { - m_value.setFromString("white", m_tm.screenNum()); -} - -template <> -void ThemeItem::setFromString(const char *str) { - if (!m_value.setFromString(str, m_tm.screenNum())) { - if (FbTk::ThemeManager::instance().verbose()) - cerr<<"FbTk::Theme: Error loading color value for \""< -void ThemeItem::load() { } - Theme::Theme(int screen_num):m_screen_num(screen_num) { ThemeManager::instance().registerTheme(*this); } -- cgit v0.11.2