38 #include <qtextstream.h>
83 t <<
" " << Prefix <<
"-member = {" <<
endl;
85 memPrefix.append( Prefix );
86 memPrefix.append(
"-mem-" );
108 t << memPrefix <<
"kind = '" << memType <<
"';" <<
endl;
109 t << memPrefix <<
"id = '"
113 t << memPrefix <<
"virt = ";
118 case Pure: t <<
"pure-virtual;" <<
endl;
break;
122 t << memPrefix <<
"prot = ";
136 t << memPrefix <<
"type = <<_EnD_oF_dEf_TeXt_" << endl << typeStr << endl
137 <<
"_EnD_oF_dEf_TeXt_;" <<
endl;
140 t << memPrefix <<
"name = '" << md->
name() <<
"';" <<
endl;
147 QCString fcnPrefix =
" " + memPrefix +
"param-";
149 if (declAl->count()>0)
154 for (declAli.toFirst();(a=declAli.current());++declAli)
156 Argument *defArg = defAli.current();
157 t << memPrefix <<
"param = {" <<
endl;
160 t << fcnPrefix <<
"attributes = ";
164 if (!a->
type.isEmpty())
166 t << fcnPrefix <<
"type = <<_EnD_oF_dEf_TeXt_" << endl
167 << a->
type << endl <<
"_EnD_oF_dEf_TeXt_;" <<
endl;
169 if (!a->
name.isEmpty())
171 t << fcnPrefix <<
"declname = ";
175 if (defArg && !defArg->
name.isEmpty() && defArg->
name!=a->
name)
177 t << fcnPrefix <<
"defname = ";
181 if (!a->
array.isEmpty())
183 t << fcnPrefix <<
"array = ";
189 t << fcnPrefix <<
"defval = <<_EnD_oF_dEf_TeXt_" << endl
190 << a->
defval << endl <<
"_EnD_oF_dEf_TeXt_;" <<
endl;
192 if (defArg) ++defAli;
193 t <<
" }; /*" << fcnPrefix <<
"-param */" <<
endl;
203 QCString defPrefix =
" " + memPrefix +
"def-";
205 for (ali.toFirst();(a=ali.current());++ali)
207 t << memPrefix <<
"param = {" <<
endl;
208 t << defPrefix <<
"name = '" << a->type <<
"';" <<
endl;
209 t <<
" }; /*" << defPrefix <<
"-param */" <<
endl;
215 t << memPrefix <<
"initializer = <<_EnD_oF_dEf_TeXt_" << endl
226 for (emli.toFirst();(emd=emli.current());++emli)
228 t << memPrefix <<
"enum = { enum-name = " << emd->
name() <<
';';
231 t <<
" enum-value = ";
241 t << memPrefix <<
"desc-line = '" << md->
getDefLine() <<
"';" <<
endl;
242 t << memPrefix <<
"briefdesc = <<_EnD_oF_dEf_TeXt_" << endl
244 t << memPrefix <<
"documentation = <<_EnD_oF_dEf_TeXt_" << endl
254 QCString refPrefix =
" " + memPrefix +
"ref-";
256 for (mdi.toFirst();(rmd=mdi.current());++mdi)
260 t << memPrefix <<
"referenceto = {" <<
endl;
261 t << refPrefix <<
"id = '"
266 t << refPrefix <<
"line = '"
270 QCString name = rmd->
name();
271 if (!scope.isEmpty() && scope!=def->
name())
273 name.prepend(scope+
"::");
276 t << refPrefix <<
"name = ";
278 t <<
';' << endl <<
" };" <<
endl;
287 QCString refPrefix =
" " + memPrefix +
"ref-";
289 for (mdi.toFirst();(rmd=mdi.current());++mdi)
293 t << memPrefix <<
"referenceby = {" <<
endl;
294 t << refPrefix <<
"id = '"
299 t << refPrefix <<
"line = '"
303 QCString name = rmd->
name();
304 if (!scope.isEmpty() && scope!=def->
name())
306 name.prepend(scope+
"::");
309 t << refPrefix <<
"name = ";
311 t <<
';' << endl <<
" };" <<
endl;
316 t <<
" }; /* " << Prefix <<
"-member */" <<
endl;
325 if (cd && ml && ml->
count()>0)
327 t <<
" cp-section = {" <<
endl;
328 t <<
" sec-kind = '" << kind <<
"';" <<
endl;
332 for (mli.toFirst();(md=mli.current());++mli)
336 t <<
" }; /* cp-section */" <<
endl;
357 if (cd->
name().find(
'@')!=-1)
return;
362 t <<
" cp-name = '" << cd->
name() <<
"';" <<
endl;
368 for (bcli.toFirst();(bcd=bcli.current());++bcli)
370 t <<
" cp-ref = {" <<
endl <<
" ref-type = base;" <<
endl;
372 << bcd->classDef->getOutputFileBase() <<
"';" <<
endl;
384 case Normal: t <<
"non-virtual;";
break;
385 case Virtual: t <<
"virtual;";
break;
386 case Pure: t <<
"pure-virtual;";
break;
388 t << endl <<
" };" <<
endl;
396 for (bcli.toFirst();(bcd=bcli.current());++bcli)
398 t <<
" cp-ref = {" <<
endl <<
" ref-type = derived;" <<
endl;
400 << bcd->classDef->getOutputFileBase() <<
"';" <<
endl;
412 case Normal: t <<
"non-virtual;";
break;
413 case Virtual: t <<
"virtual;";
break;
414 case Pure: t <<
"pure-virtual;";
break;
416 t << endl <<
" };" <<
endl;
423 for (mli.toFirst();(ml=mli.current());++mli)
427 numMembers+=ml->
count();
461 t <<
" cp-briefdesc = <<_EnD_oF_dEf_TeXt_" <<
endl
464 t <<
" cp-documentation = <<_EnD_oF_dEf_TeXt_" << endl
470 t <<
" cp-inheritancegraph = <<_EnD_oF_dEf_TeXt_" <<
endl;
472 t << endl <<
"_EnD_oF_dEf_TeXt_;" <<
endl;
477 t <<
" cp-collaborationgraph = <<_EnD_oF_dEf_TeXt_" <<
endl;
479 t << endl <<
"_EnD_oF_dEf_TeXt_;" <<
endl;
489 if (ml && ml->
count()>0)
491 t <<
" " << kind <<
" = {" <<
endl;
494 for (mli.toFirst();(md=mli.current());++mli)
505 t <<
" namespace = {" <<
endl;
520 t <<
" ns-briefdesc = <<_EnD_oF_dEf_TeXt_" << endl
523 t <<
" ns-documentation = <<_EnD_oF_dEf_TeXt_" << endl
532 t <<
"file = {" <<
endl;
534 t <<
" file-name = ";
548 t <<
" file-briefdesc = <<_EnD_oF_dEf_TeXt_" << endl
551 t <<
" file-documentation = <<_EnD_oF_dEf_TeXt_" << endl
554 t <<
"}; /* file */" <<
endl;
561 if (outputDirectory.isEmpty())
563 outputDirectory=QDir::currentDirPath().utf8();
567 QDir dir(outputDirectory);
570 dir.setPath(QDir::currentDirPath());
571 if (!dir.mkdir(outputDirectory))
573 err(
"tag OUTPUT_DIRECTORY: Output directory `%s' does not "
574 "exist and cannot be created\n",outputDirectory.data());
579 msg(
"Notice: Output directory `%s' does not exist. "
580 "I have created it for you.\n", outputDirectory.data());
582 dir.cd(outputDirectory);
584 outputDirectory=dir.absPath().utf8();
587 QDir dir(outputDirectory);
590 dir.setPath(QDir::currentDirPath());
591 if (!dir.mkdir(outputDirectory))
593 err(
"Cannot create directory %s\n",outputDirectory.data());
597 QDir defDir(outputDirectory+
"/def");
598 if (!defDir.exists() && !defDir.mkdir(outputDirectory+
"/def"))
600 err(
"Could not create def directory in %s\n",outputDirectory.data());
604 QCString fileName=outputDirectory+
"/def/doxygen.def";
606 if (!f.open(IO_WriteOnly))
608 err(
"Cannot open file %s for writing!\n",fileName.data());
612 t <<
"AutoGen Definitions dummy;" <<
endl;
618 for (cli.toFirst();(cd=cli.current());++cli)
624 for (;(fn=fnli.current());++fnli)
628 for (;(fd=fni.current());++fni)
636 t <<
"dummy_value = true;" <<
endl;