#include "MappingsHandler.h" void MappingsHandler::dispose(QXmlReader* parser, QXmlContentHandler* parent) { m_parser = parser; m_parent = parent; m_parser->setContentHandler(this); } bool MappingsHandler::startElement(const QString& /* namespaceURI */, const QString& localName, const QString& /* qName */, const QXmlAttributes& attr) { if(localName == "define"){ /* 変数初期化 */ m_code = 0; m_mask = 0; m_mapcode = 0; m_unicode = 0; m_mapmodifiers.clear(); m_mapunicodes.clear(); for(int i=0; igetMask(attr.localName(i)); } } } else if(localName == "map"){ /* mapping key */ for(int i=0; i 0){ /* assign mapping */ m_pMappings->assign(m_code, m_mask, m_mapcode); for(QMap::Iterator it=m_mapmodifiers.begin(); it!=m_mapmodifiers.end(); ++it){ /* assign mapping modifier state */ m_pMappings->assignModifier(it.key(), it.data()); } if(m_unicode > 0){ m_pMappings->assignUnicode(m_unicode); } else { for(QMap::Iterator it=m_mapunicodes.begin(); it!=m_mapunicodes.end(); ++it){ /* assign mapping unicode */ m_pMappings->assignUnicode(it.key(), it.data()); } } } } else if(localName == "mappings"){ /* return parent */ m_parser->setContentHandler(m_parent); } return(true); }