Root/
Source at commit 1322 created 12 years 8 months ago. By meklort, Add doxygen to utils folder | |
---|---|
1 | /******************************************************************************␊ |
2 | *␊ |
3 | * $Id: $␊ |
4 | *␊ |
5 | *␊ |
6 | * Copyright (C) 1997-2006 by Dimitri van Heesch.␊ |
7 | *␊ |
8 | * Permission to use, copy, modify, and distribute this software and its␊ |
9 | * documentation under the terms of the GNU General Public License is hereby ␊ |
10 | * granted. No representations are made about the suitability of this software ␊ |
11 | * for any purpose. It is provided "as is" without express or implied warranty.␊ |
12 | * See the GNU General Public License for more details.␊ |
13 | *␊ |
14 | */␊ |
15 | ␊ |
16 | #include "paramhandler.h"␊ |
17 | #include "memberhandler.h"␊ |
18 | #include "linkedtexthandler.h"␊ |
19 | #include "debug.h"␊ |
20 | #include "dochandler.h"␊ |
21 | ␊ |
22 | TemplateParamListHandler::TemplateParamListHandler(IBaseHandler *parent) : m_parent(parent)␊ |
23 | {␊ |
24 | addStartHandler("param",this,&TemplateParamListHandler::startParam);␊ |
25 | ␊ |
26 | addEndHandler("templateparamlist",this,&TemplateParamListHandler::endTemplateParamList);␊ |
27 | }␊ |
28 | ␊ |
29 | void TemplateParamListHandler::startParam(const QXmlAttributes& attrib)␊ |
30 | {␊ |
31 | ParamHandler *ph = new ParamHandler(this);␊ |
32 | ph->startParam(attrib);␊ |
33 | m_templateParams.append(ph);␊ |
34 | }␊ |
35 | ␊ |
36 | void TemplateParamListHandler::endParam()␊ |
37 | {␊ |
38 | }␊ |
39 | ␊ |
40 | void TemplateParamListHandler::startTemplateParamList(const QXmlAttributes& /*attrib*/)␊ |
41 | {␊ |
42 | m_parent->setDelegate(this);␊ |
43 | debug(2,"templateparamlist\n");␊ |
44 | }␊ |
45 | ␊ |
46 | void TemplateParamListHandler::endTemplateParamList()␊ |
47 | {␊ |
48 | m_parent->setDelegate(0);␊ |
49 | }␊ |
50 | ␊ |
51 | ///////////////////////////////////////////////////////////////////////////////////////////////////////␊ |
52 | ␊ |
53 | ParamHandler::ParamHandler(IBaseHandler *parent) : m_brief(0), m_parent(parent)␊ |
54 | {␊ |
55 | addEndHandler("param",this,&ParamHandler::endParam);␊ |
56 | ␊ |
57 | addStartHandler("type",this,&ParamHandler::startType);␊ |
58 | ␊ |
59 | addStartHandler("declname");␊ |
60 | addEndHandler("declname",this,&ParamHandler::endDeclName);␊ |
61 | ␊ |
62 | addStartHandler("defname");␊ |
63 | addEndHandler("defname",this,&ParamHandler::endDefName);␊ |
64 | ␊ |
65 | addStartHandler("array");␊ |
66 | addEndHandler("array",this,&ParamHandler::endArray);␊ |
67 | ␊ |
68 | addStartHandler("attribute");␊ |
69 | addEndHandler("attribute",this,&ParamHandler::endAttrib);␊ |
70 | ␊ |
71 | addStartHandler("briefdescription",this,&ParamHandler::startBriefDesc);␊ |
72 | ␊ |
73 | addStartHandler("defval",this,&ParamHandler::startDefVal);␊ |
74 | ␊ |
75 | m_linkedTextHandler = 0;␊ |
76 | }␊ |
77 | ␊ |
78 | ParamHandler::~ParamHandler()␊ |
79 | {␊ |
80 | delete m_brief;␊ |
81 | delete m_linkedTextHandler;␊ |
82 | }␊ |
83 | ␊ |
84 | void ParamHandler::startParam(const QXmlAttributes& /*attrib*/)␊ |
85 | {␊ |
86 | m_parent->setDelegate(this);␊ |
87 | debug(2,"param\n");␊ |
88 | }␊ |
89 | ␊ |
90 | void ParamHandler::endParam()␊ |
91 | {␊ |
92 | m_parent->setDelegate(0);␊ |
93 | }␊ |
94 | ␊ |
95 | void ParamHandler::startType(const QXmlAttributes& /*attrib*/)␊ |
96 | {␊ |
97 | delete m_linkedTextHandler;␊ |
98 | m_linkedTextHandler = new LinkedTextHandler(this,m_type);␊ |
99 | m_linkedTextHandler->start("type");␊ |
100 | debug(2,"param type\n");␊ |
101 | }␊ |
102 | ␊ |
103 | void ParamHandler::endDeclName()␊ |
104 | {␊ |
105 | m_declName = m_curString.stripWhiteSpace();␊ |
106 | debug(2,"member declName=`%s'\n",m_declName.data());␊ |
107 | }␊ |
108 | ␊ |
109 | void ParamHandler::endDefName()␊ |
110 | {␊ |
111 | m_defName = m_curString.stripWhiteSpace();␊ |
112 | debug(2,"member defName=`%s'\n",m_defName.data());␊ |
113 | }␊ |
114 | ␊ |
115 | void ParamHandler::endAttrib()␊ |
116 | {␊ |
117 | m_attrib = m_curString.stripWhiteSpace();␊ |
118 | debug(2,"member attrib=`%s'\n",m_attrib.data());␊ |
119 | }␊ |
120 | ␊ |
121 | void ParamHandler::endArray()␊ |
122 | {␊ |
123 | m_array = m_curString.stripWhiteSpace();␊ |
124 | debug(2,"member array=`%s'\n",m_array.data());␊ |
125 | }␊ |
126 | ␊ |
127 | void ParamHandler::startDefVal(const QXmlAttributes& /*attrib*/)␊ |
128 | {␊ |
129 | delete m_linkedTextHandler;␊ |
130 | m_linkedTextHandler = new LinkedTextHandler(this,m_defVal);␊ |
131 | m_linkedTextHandler->start("defval");␊ |
132 | debug(2,"member defVal\n");␊ |
133 | }␊ |
134 | ␊ |
135 | void ParamHandler::startBriefDesc(const QXmlAttributes& attrib)␊ |
136 | {␊ |
137 | DocHandler *docHandler = new DocHandler(this);␊ |
138 | docHandler->startDoc(attrib);␊ |
139 | m_brief = docHandler;␊ |
140 | }␊ |
141 | ␊ |
142 | ILinkedTextIterator *ParamHandler::type() const ␊ |
143 | { ␊ |
144 | return new LinkedTextIterator(m_type); ␊ |
145 | }␊ |
146 | ␊ |
147 | ILinkedTextIterator *ParamHandler::defaultValue() const ␊ |
148 | { ␊ |
149 | return new LinkedTextIterator(m_defVal); ␊ |
150 | }␊ |
151 | ␊ |
152 | IDocRoot *ParamHandler::briefDescription() const␊ |
153 | { ␊ |
154 | return m_brief; ␊ |
155 | }␊ |
156 | ␊ |
157 | ␊ |
158 | ␊ |
159 |