blob: f62ff366bc9d9e52642a800b35796fb684f63612 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
|
/******************************************************************************
*
*
*
* Copyright (C) 1997-2000 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
* granted. No representations are made about the suitability of this software
* for any purpose. It is provided "as is" without express or implied warranty.
* See the GNU General Public License for more details.
*
* Documents produced by Doxygen are derivative works derived from the
* input used in their production; they are not affected by this license.
*
*/
#include "classlist.h"
#include "config.h"
#include "util.h"
#include "outputlist.h"
#include "language.h"
#include "doc.h"
#include "doxygen.h"
ClassList::ClassList() : QList<ClassDef>()
{
}
ClassList::~ClassList()
{
}
int ClassList::compareItems(GCI item1, GCI item2)
{
ClassDef *c1=(ClassDef *)item1;
ClassDef *c2=(ClassDef *)item2;
//int prefixLength = Config::ignorePrefix.length();
//int i1 = c1->name().left(prefixLength)==Config::ignorePrefix ? prefixLength : 0;
//int i2 = c2->name().left(prefixLength)==Config::ignorePrefix ? prefixLength : 0;
return stricmp(c1->name().data()+getPrefixIndex(c1->name()),
c2->name().data()+getPrefixIndex(c2->name())
);
}
ClassListIterator::ClassListIterator(const ClassList &cllist) :
QListIterator<ClassDef>(cllist)
{
}
void ClassList::writeDeclaration(OutputList &ol)
{
if (count()>0)
{
ClassDef *cd=first();
bool found=FALSE;
while (cd)
{
if (cd->name().find('@')==-1)
{
bool isLink = cd->isLinkable();
if (isLink || !Config::hideClassFlag)
{
if (!found)
{
ol.startMemberHeader();
parseText(ol,theTranslator->trCompounds());
ol.endMemberHeader();
ol.startMemberList();
found=TRUE;
}
if (!Config::genTagFile.isEmpty())
{
tagFile << " <class>" << convertToXML(cd->name()) << "</class>" << endl;
}
ol.startMemberItem(FALSE);
switch (cd->compoundType())
{
case ClassDef::Class: ol.writeString("class"); break;
case ClassDef::Struct: ol.writeString("struct"); break;
case ClassDef::Union: ol.writeString("union"); break;
case ClassDef::Interface: ol.writeString("interface"); break;
case ClassDef::Exception: ol.writeString("exception"); break;
}
ol.writeString(" ");
ol.insertMemberAlign();
if (isLink)
{
ol.writeObjectLink(cd->getReference(),
cd->getOutputFileBase(),
0,
cd->name()
);
}
else
{
ol.startBold();
ol.docify(cd->name());
ol.endBold();
}
ol.endMemberItem(FALSE);
}
}
cd=next();
}
if (found) ol.endMemberList();
}
}
|