Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

RepeaterHandler.cpp

Go to the documentation of this file.
00001 #include "RepeaterHandler.h"
00002 
00003 void RepeaterHandler::dispose(QXmlReader* parser, QXmlContentHandler* parent)
00004 {
00005         m_parser = parser;
00006         m_parent = parent;
00007         m_parser->setContentHandler(this);
00008 }
00009 
00010 bool RepeaterHandler::startElement(const QString& /* namespaceURI */,
00011         const QString& localName,
00012         const QString& /* qName */,
00013         const QXmlAttributes& attr)
00014 {
00015         if(localName == "repeat"){
00016                 for(int i=0; i<attr.length(); i++){
00017                         if(attr.localName(i).lower() == "delay"){
00018                                 bool ok;
00019                                 int delay = attr.value(i).toInt(&ok);
00020                                 if(ok){
00021                                         m_pRepeater->setDelay(delay);
00022                                 }
00023                         } else if(attr.localName(i).lower() == "period"){
00024                                 bool ok;
00025                                 int period = attr.value(i).toInt(&ok);
00026                                 if(ok){
00027                                         m_pRepeater->setPeriod(period);
00028                                 }
00029                         } else if(attr.localName(i).lower() == "mode"){
00030                                 /* default mode */
00031                                 bool ok;
00032                                 int mode = attr.value(i).toInt(&ok);
00033                                 if(ok){
00034                                         m_pRepeater->setMode(mode);
00035                                 }
00036                         }
00037                 }
00038         } else if(localName == "define"){
00039                 /* 変数初期化 */
00040                 m_code = 0;
00041                 m_enable = true;
00042                 for(int i=0; i<attr.length(); i++){
00043                         if(attr.localName(i).lower() == "key"){
00044                                 /* keyname */
00045                                 m_code = KeyNames::getCode(attr.value(i));
00046                         } else if(attr.localName(i).lower() == "code"){
00047                                 /* keycode */
00048                                 m_code = KHUtil::hex2int(attr.value(i).lower());
00049                         } else if(attr.localName(i).lower() == "enable"){
00050                                 /* enable/disable */
00051                                 if(attr.value(i).lower() == "false"){
00052                                         m_enable = false;
00053                                 } else {
00054                                         m_enable = true;
00055                                 }
00056                         }
00057                 }
00058         }
00059         return(true);
00060 }
00061 
00062 bool RepeaterHandler::endElement(const QString& /* namespaceURI */,
00063         const QString& localName,
00064         const QString& /* qName */)
00065 {
00066         if(localName == "define"){
00067                 if(m_code > 0){
00068                         /* set repeat enable/disable */
00069                         m_pRepeater->setRepeatable(m_code, m_enable);
00070                 }
00071         } else if(localName == "repeater"){
00072                 /* return parent */
00073                 m_parser->setContentHandler(m_parent);
00074         }
00075         return(true);
00076 }

Generated on Sat Nov 5 16:16:42 2005 for OPIE by  doxygen 1.4.2