File indexing completed on 2024-04-21 07:52:07
0001 /*************************************************************************** 0002 * copyright : (C) 2004-2007 by Gael de Chalendar 0003 * email : kleag@free.fr 0004 ***************************************************************************/ 0005 0006 /*************************************************************************** 0007 * * 0008 * This program is free software; you can redistribute it and/or modify * 0009 * it under the terms of the GNU General Public License as published by * 0010 * the Free Software Foundation; either either version 2 0011 of the License, or (at your option) any later version.of the License, or * 0012 * (at your option) any later version. * 0013 * * 0014 * You should have received a copy of the GNU General Public License 0015 * along with this program; if not, write to the Free Software 0016 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 0017 * 02110-1301, USA 0018 ***************************************************************************/ 0019 0020 #include "skinSpritesData.h" 0021 0022 #include <QTextStream> 0023 0024 #include <KLocalizedString> 0025 #include <KMessageBox> 0026 0027 namespace KsirkSkinEditor 0028 { 0029 SkinSpritesData* SkinSpritesData::m_singleton = nullptr; 0030 0031 SkinSpritesData::SkinSpritesData() 0032 { 0033 } 0034 0035 SkinSpritesData::~SkinSpritesData() 0036 { 0037 delete m_singleton; 0038 m_singleton = nullptr; 0039 } 0040 0041 const SkinSpritesData& SkinSpritesData::single() 0042 { 0043 if (m_singleton == nullptr) 0044 { 0045 m_singleton = new SkinSpritesData(); 0046 m_singleton->init(); 0047 } 0048 return *m_singleton; 0049 } 0050 0051 SkinSpritesData& SkinSpritesData::changeable() 0052 { 0053 if (m_singleton == nullptr) 0054 { 0055 m_singleton = new SkinSpritesData(); 0056 m_singleton->init(); 0057 } 0058 return *m_singleton; 0059 } 0060 0061 /** setup default values for default skin sprites */ 0062 void SkinSpritesData::init() 0063 { 0064 m_intDatas.clear(); 0065 m_strDatas.clear(); 0066 } 0067 0068 0069 const QString& SkinSpritesData::skin() const 0070 { 0071 return m_skin; 0072 } 0073 0074 void SkinSpritesData::skin(const QString& newSkin) 0075 { 0076 m_skin = newSkin; 0077 } 0078 0079 int SkinSpritesData::intData(const QString& name) const 0080 { 0081 QMap<QString, int>::const_iterator it = m_intDatas.find(name); 0082 if (it == m_intDatas.end()) 0083 { 0084 QString msg; 0085 QTextStream(&msg) << i18n("Error - Unknown skin int data: ") << name; 0086 KMessageBox::error(nullptr, msg, i18n("Fatal Error")); 0087 exit(1); 0088 } 0089 else 0090 { 0091 return (*it); 0092 } 0093 } 0094 0095 const QString& SkinSpritesData::strData(const QString& name) const 0096 { 0097 QMap<QString, QString>::const_iterator it = m_strDatas.find(name); 0098 if (it == m_strDatas.end()) 0099 { 0100 QString msg; 0101 QTextStream(&msg) << i18n("Error - Unknown skin string data: ") << name; 0102 KMessageBox::error(nullptr, msg, i18n("Fatal Error")); 0103 exit(1); 0104 } 0105 else 0106 { 0107 return (*it); 0108 } 0109 } 0110 0111 void SkinSpritesData::strData(const QString& name, const QString& data) 0112 { 0113 m_strDatas[name] = data; 0114 } 0115 0116 void SkinSpritesData::intData(const QString& name, int data) 0117 { 0118 m_intDatas[name] = data; 0119 } 0120 0121 0122 }