void FileDef::addListReferences() { { LockingPtr< QList<ListItemInfo> > xrefItems = xrefListItems(); addRefItem(xrefItems.pointer(), getOutputFileBase(), theTranslator->trFile(TRUE,TRUE), getOutputFileBase(),name(), 0 ); } if (memberGroupSDict) { MemberGroupSDict::Iterator mgli(*memberGroupSDict); MemberGroup *mg; for (;(mg=mgli.current());++mgli) { mg->addListReferences(this); } } QListIterator<MemberList> mli(m_memberLists); MemberList *ml; for (mli.toFirst();(ml=mli.current());++mli) { if (ml->listType()&MemberList::documentationLists) { ml->addListReferences(this); } } }
void MemberList::addListReferences(Definition *def) { MemberListIterator mli(*this); MemberDef *md; for ( ; (md=mli.current()) ; ++mli) { if (md->getGroupDef()==0 || def->definitionType()==Definition::TypeGroup) { md->addListReference(def); MemberList *enumFields = md->enumFieldList(); if (md->memberType()==MemberType_Enumeration && enumFields) { //printf(" Adding enum values!\n"); MemberListIterator vmli(*enumFields); MemberDef *vmd; for ( ; (vmd=vmli.current()) ; ++vmli) { //printf(" adding %s\n",vmd->name().data()); vmd->addListReference(def); } } } } if (memberGroupList) { MemberGroupListIterator mgli(*memberGroupList); MemberGroup *mg; for (;(mg=mgli.current());++mgli) { mg->addListReferences(def); } } }
void GroupDef::addListReferences() { { QList<ListItemInfo> *xrefItems = xrefListItems(); addRefItem(xrefItems, getOutputFileBase(), theTranslator->trGroup(TRUE,TRUE), getOutputFileBase(),name(), 0, 0 ); } MemberGroupSDict::Iterator mgli(*memberGroupSDict); MemberGroup *mg; for (;(mg=mgli.current());++mgli) { mg->addListReferences(this); } QListIterator<MemberList> mli(m_memberLists); MemberList *ml; for (mli.toFirst();(ml=mli.current());++mli) { if (ml->listType()&MemberListType_documentationLists) { ml->addListReferences(this); } } }
void MemberList::writeTagFile(FTextStream &tagFile) { MemberListIterator mli(*this); MemberDef *md; for ( ; (md=mli.current()) ; ++mli) { if (md->getLanguage()!=SrcLangExt_VHDL) { md->writeTagFile(tagFile); if (md->memberType()==MemberType_Enumeration && md->enumFieldList() && !md->isStrong()) { MemberListIterator vmli(*md->enumFieldList()); MemberDef *vmd; for ( ; (vmd=vmli.current()) ; ++vmli) { vmd->writeTagFile(tagFile); } } } else { VhdlDocGen::writeTagFile(md,tagFile); } } if (memberGroupList) { MemberGroupListIterator mgli(*memberGroupList); MemberGroup *mg; for (;(mg=mgli.current());++mgli) { mg->writeTagFile(tagFile); } } }
void MemberList::countDocMembers(bool countEnumValues) { if (m_numDocMembers!=-1) return; // used cached value m_numDocMembers=0; QListIterator<MemberDef> mli(*this); MemberDef *md; for (mli.toFirst();(md=mli.current());++mli) { if (md->isDetailedSectionVisible(m_inGroup,m_inFile)) { // do not count enum values, since they do not produce entries of their own if (countEnumValues || md->memberType()!=MemberType_EnumValue) m_numDocMembers++; } } if (memberGroupList) { MemberGroupListIterator mgli(*memberGroupList); MemberGroup *mg; for (;(mg=mgli.current());++mgli) { mg->countDocMembers(); m_numDocMembers+=mg->numDocMembers(); } } //printf("MemberList::countDocMembers()=%d memberGroupList=%p\n",m_numDocMembers,memberGroupList); }
// separate member pages void MemberList::writeDocumentationPage(OutputList &ol, const char *scopeName, Definition *container) { static bool generateTreeView = Config_getBool("GENERATE_TREEVIEW"); MemberListIterator mli(*this); MemberDef *md; for ( ; (md=mli.current()) ; ++mli) { if (md->isDetailedSectionLinkable()) { QCString diskName=md->getOutputFileBase(); QCString title=md->qualifiedName(); startFile(ol,diskName,md->name(),title,HLI_None,!generateTreeView,diskName); if (!generateTreeView) { container->writeNavigationPath(ol); ol.endQuickIndices(); } ol.startContents(); if (generateTreeView) { md->writeDocumentation(this,ol,scopeName,container,m_inGroup); ol.endContents(); endFileWithNavPath(container,ol); } else { ol.writeString("<table cellspacing=\"0\" cellpadding=\"0\" border=\"0\">\n" " <tr>\n" " <td valign=\"top\">\n"); container->writeQuickMemberLinks(ol,md); ol.writeString(" </td>\n"); ol.writeString(" <td valign=\"top\" class=\"mempage\">\n"); md->writeDocumentation(this,ol,scopeName,container,m_inGroup); ol.writeString(" </td>\n"); ol.writeString(" </tr>\n"); ol.writeString("</table>\n"); endFile(ol); } } if (memberGroupList) { //printf("MemberList::writeDocumentation() -- member groups\n"); MemberGroupListIterator mgli(*memberGroupList); MemberGroup *mg; for (;(mg=mgli.current());++mgli) { mg->writeDocumentationPage(ol,scopeName,container); } } } }
void GroupDef::sortMemberLists() { QListIterator<MemberList> mli(m_memberLists); MemberList *ml; for (;(ml=mli.current());++mli) { if (ml->needsSorting()) { ml->sort(); ml->setNeedsSorting(FALSE); } } }
void childRInterface::ExternalErosionAndDeposition( vector<double> dz ) { tMesh< tLNode >::nodeListIter_t mli( mesh->getNodeList() ); // gets nodes from the list tLNode * cn; for( cn=mli.FirstP(); mli.IsActive(); cn=mli.NextP() ) { int current_id = cn->getPermID(); cn->EroDep( dz[current_id] ); } }
void SectionHandler::initialize(CompoundHandler *ch) { QListIterator<MemberHandler> mli(m_members); MemberHandler *mh; for (; (mh=mli.current()); ++mli) { mh->setCompoundHandler(ch); ch->insertMember(mh); mh->setSectionHandler(this); } }
MemberList *NamespaceDef::getMemberList(MemberListType lt) const { QListIterator<MemberList> mli(m_memberLists); MemberList *ml; for (mli.toFirst(); (ml=mli.current()); ++mli) { if (ml->listType()==lt) { return ml; } } return 0; }
bool MemberList::declVisible() const { MemberListIterator mli(*this); const MemberDef *md; for ( ; (md=mli.current()); ++mli ) { if (md->isBriefSectionVisible()) { switch (md->memberType()) { case MemberType_Define: // fall through case MemberType_Typedef: // fall through case MemberType_Variable: // fall through case MemberType_Function: // fall through case MemberType_Signal: // fall through case MemberType_Slot: // fall through case MemberType_DCOP: // fall through case MemberType_Property: // fall through case MemberType_Interface: // fall through case MemberType_Service: // fall through case MemberType_Sequence: // fall through case MemberType_Dictionary: // fall through case MemberType_Event: return TRUE; case MemberType_Enumeration: { // if this is an anonymous enum and there are variables of this // enum type (i.e. enumVars>0), then we do not show the enum here. if (countEnumValues(md)==0) // show enum here { return TRUE; } } break; case MemberType_Friend: return TRUE; case MemberType_EnumValue: { if (m_inGroup) { return TRUE; } } break; } } } return FALSE; }
void NamespaceDef::writeMemberPages(OutputList &ol) { ol.pushGeneratorState(); ol.disableAllBut(OutputGenerator::Html); QListIterator<MemberList> mli(m_memberLists); MemberList *ml; for (mli.toFirst(); (ml=mli.current()); ++mli) { if (ml->listType()&MemberListType_documentationLists) { ml->writeDocumentationPage(ol,displayName(),this); } } ol.popGeneratorState(); }
// members in a table void MemberList::writeSimpleDocumentation(OutputList &ol, Definition *container) { countDocMembers(FALSE); //printf("MemberList count=%d\n",numDocMembers()); if (numDocMembers()==0) return; ol.startMemberDocSimple(); MemberListIterator mli(*this); MemberDef *md; for ( ; (md=mli.current()) ; ++mli) { md->writeMemberDocSimple(ol,container); } ol.endMemberDocSimple(); }
void NamespaceDef::sortMemberLists() { QListIterator<MemberList> mli(m_memberLists); MemberList *ml; for (mli.toFirst();(ml=mli.current());++mli) { if (ml->needsSorting()) { ml->sort(); ml->setNeedsSorting(FALSE); } } if (classSDict) { classSDict->sort(); } if (namespaceSDict) { namespaceSDict->sort(); } }
void generateDEFSection(Definition *d, FTextStream &t, MemberList *ml, const char *kind) { if (ml && ml->count()>0) { t << " " << kind << " = {" << endl; MemberListIterator mli(*ml); MemberDef *md; for (mli.toFirst();(md=mli.current());++mli) { generateDEFForMember(md,t,d,kind); } t << " };" << endl; } }
MemberList *NamespaceDef::createMemberList(MemberListType lt) { m_memberLists.setAutoDelete(TRUE); QListIterator<MemberList> mli(m_memberLists); MemberList *ml; for (mli.toFirst(); (ml=mli.current()); ++mli) { if (ml->listType()==lt) { return ml; } } // not found, create a new member list ml = new MemberList(lt); m_memberLists.append(ml); return ml; }
void MemberList::findSectionsInDocumentation() { MemberListIterator mli(*this); MemberDef *md; for ( ; (md=mli.current()) ; ++mli) { md->findSectionsInDocumentation(); } if (memberGroupList) { MemberGroupListIterator mgli(*memberGroupList); MemberGroup *mg; for (;(mg=mgli.current());++mgli) { mg->findSectionsInDocumentation(); } } }
static void generateSqlite3Section(sqlite3*db, Definition *d, MemberList *ml,const char * /*kind*/,const char * /*header*/=0, const char * /*documentation*/=0) { if (ml==0) return; MemberListIterator mli(*ml); MemberDef *md; int count=0; for (mli.toFirst();(md=mli.current());++mli) { // namespace members are also inserted in the file scope, but // to prevent this duplication in the XML output, we filter those here. if (d->definitionType()!=Definition::TypeFile || md->getNamespaceDef()==0) { count++; } } if (count==0) return; // empty list #if 0 t << " <sectiondef kind=\"" << kind << "\">" << endl; if (header) { t << " <header>" << convertToXML(header) << "</header>" << endl; } if (documentation) { t << " <description>"; writeXMLDocBlock(t,d->docFile(),d->docLine(),d,0,documentation); t << "</description>" << endl; } #endif for (mli.toFirst();(md=mli.current());++mli) { // namespace members are also inserted in the file scope, but // to prevent this duplication in the XML output, we filter those here. //if (d->definitionType()!=Definition::TypeFile || md->getNamespaceDef()==0) { generateSqlite3ForMember(db,md,d); } } //t << " </sectiondef>" << endl; }
void generateDEFClassSection(ClassDef *cd, FTextStream &t, MemberList *ml, const char *kind) { if (cd && ml && ml->count()>0) { t << " cp-section = {" << endl; t << " sec-kind = '" << kind << "';" << endl; MemberListIterator mli(*ml); MemberDef *md; for (mli.toFirst();(md=mli.current());++mli) { generateDEFForMember(md,t,cd,"sec"); } t << " }; /* cp-section */" << endl; } }
void NamespaceDef::findSectionsInDocumentation() { docFindSections(documentation(),this,0,docFile()); MemberGroupSDict::Iterator mgli(*memberGroupSDict); MemberGroup *mg; for (; (mg=mgli.current()); ++mgli) { mg->findSectionsInDocumentation(); } QListIterator<MemberList> mli(m_memberLists); MemberList *ml; for (mli.toFirst(); (ml=mli.current()); ++mli) { if (ml->listType()&MemberListType_declarationLists) { ml->findSectionsInDocumentation(); } } }
void NamespaceDef::writeQuickMemberLinks(OutputList &ol,MemberDef *currentMd) const { static bool createSubDirs=Config_getBool("CREATE_SUBDIRS"); ol.writeString(" <div class=\"navtab\">\n"); ol.writeString(" <table>\n"); MemberList *allMemberList = getMemberList(MemberListType_allMembersList); if (allMemberList) { MemberListIterator mli(*allMemberList); MemberDef *md; for (mli.toFirst(); (md=mli.current()); ++mli) { if (md->getNamespaceDef()==this && md->isLinkable() && !md->isEnumValue()) { ol.writeString(" <tr><td class=\"navtab\">"); if (md->isLinkableInProject()) { if (md==currentMd) // selected item => highlight { ol.writeString("<a class=\"qindexHL\" "); } else { ol.writeString("<a class=\"qindex\" "); } ol.writeString("href=\""); if (createSubDirs) ol.writeString("../../"); ol.writeString(md->getOutputFileBase()+Doxygen::htmlFileExtension+"#"+md->anchor()); ol.writeString("\">"); ol.writeString(convertToHtml(md->localName())); ol.writeString("</a>"); } ol.writeString("</td></tr>\n"); } } } ol.writeString(" </table>\n"); ol.writeString(" </div>\n"); }
static void generateSqlite3ForNamespace(sqlite3 *db, NamespaceDef *nd) { // + contained class definitions // + contained namespace definitions // + member groups // + normal members // - brief desc // - detailed desc // - location // - files containing (parts of) the namespace definition if (nd->isReference() || nd->isHidden()) return; // skip external references // + contained class definitions writeInnerClasses(db,nd->getClassSDict()); // + contained namespace definitions writeInnerNamespaces(db,nd->getNamespaceSDict()); // + member groups if (nd->getMemberGroupSDict()) { MemberGroupSDict::Iterator mgli(*nd->getMemberGroupSDict()); MemberGroup *mg; for (;(mg=mgli.current());++mgli) { generateSqlite3Section(db,nd,mg->members(),"user-defined",mg->header(), mg->documentation()); } } // + normal members QListIterator<MemberList> mli(nd->getMemberLists()); MemberList *ml; for (mli.toFirst();(ml=mli.current());++mli) { if ((ml->listType()&MemberListType_declarationLists)!=0) { generateSqlite3Section(db,nd,ml,"user-defined");//g_xmlSectionMapper.find(ml->listType())); } } }
void GroupDef::addMembersToMemberGroup() { QListIterator<MemberList> mli(m_memberLists); MemberList *ml; for (mli.toFirst();(ml=mli.current());++mli) { if (ml->listType()&MemberList::declarationLists) { ::addMembersToMemberGroup(ml,&memberGroupSDict,this); } } //printf("GroupDef::addMembersToMemberGroup() memberGroupList=%d\n",memberGroupList->count()); MemberGroupSDict::Iterator mgli(*memberGroupSDict); MemberGroup *mg; for (;(mg=mgli.current());++mgli) { mg->setInGroup(TRUE); } }
// members in a table void MemberList::writeSimpleDocumentation(OutputList &ol, const Definition *container) const { //printf("MemberList count=%d enumValues=%d\n",numDocMembers(),numDocEnumValues()); if (numDocMembers()<=numDocEnumValues()) return; // only enum values and they should be excluded const ClassDef *cd = 0; if (container && container->definitionType()==Definition::TypeClass) { cd = dynamic_cast<const ClassDef*>(container); } ol.startMemberDocSimple(cd && cd->isJavaEnum()); MemberListIterator mli(*this); const MemberDef *md; for ( ; (md=mli.current()) ; ++mli) { md->writeMemberDocSimple(ol,container); } ol.endMemberDocSimple(cd && cd->isJavaEnum()); }
void marshalMemberLists(StorageIntf *s,SDict<MemberList> *mls) { if (mls==0) { marshalUInt(s,NULL_LIST); // null pointer representation } else { marshalUInt(s,mls->count()); //printf(" marshalMemberSDict: items=%d\n",memberSDict->count()); SDict<MemberList>::IteratorDict mli(*mls); MemberList *ml; for (mli.toFirst();(ml=mli.current());++mli) { //printf(" marshalMemberSDict: %d: key=%s value=%p\n",count,mdi.currentKey().data(),md); marshalQCString(s,mli.currentKey()); marshalObjPointer(s,ml); // assume we are not owner of the list } } }
void MemberList::setAnonymousEnumType() { //printf("MemberList(%p)::setAnonymousEnumType()\n",this); MemberListIterator mli(*this); const MemberDef *md; for ( ; (md=mli.current()); ++mli ) { if (md->isBriefSectionVisible()) { QCString name(md->name()); int i=name.findRev("::"); if (i!=-1) name=name.right(name.length()-i-2); if (md->memberType()==MemberType_Enumeration && name[0]=='@') { const MemberList *mfl = md->enumFieldList(); if (mfl) { MemberListIterator vmli(*mfl); MemberDef *vmd; for ( ; (vmd=vmli.current()) ; ++vmli) { QCString vtype=vmd->typeString(); if ((vtype.find(name))!=-1) { vmd->setAnonymousEnumType(md); } } } } } } if (memberGroupList) { MemberGroupListIterator mgli(*memberGroupList); MemberGroup *mg; for (;(mg=mgli.current());++mgli) { mg->setAnonymousEnumType(); } } }
// members in a table void MemberList::writeSimpleDocumentation(OutputList &ol, Definition *container) { countDocMembers(FALSE); //printf("MemberList count=%d\n",numDocMembers()); if (numDocMembers()==0) return; ClassDef *cd = 0; if (container && container->definitionType()==Definition::TypeClass) { cd = (ClassDef*)container; } ol.startMemberDocSimple(cd && cd->isJavaEnum()); MemberListIterator mli(*this); MemberDef *md; for ( ; (md=mli.current()) ; ++mli) { md->writeMemberDocSimple(ol,container); } ol.endMemberDocSimple(cd && cd->isJavaEnum()); }
void MemberList::writeDocumentationPage(OutputList &ol, const char *scopeName, Definition *container) { MemberListIterator mli(*this); MemberDef *md; for ( ; (md=mli.current()) ; ++mli) { QCString diskName=md->getOutputFileBase(); QCString title=md->qualifiedName(); startFile(ol,diskName,md->name(),title); container->writeNavigationPath(ol); ol.writeString("<table cellspacing=\"0\" cellpadding=\"0\" border=\"0\">\n" " <tr>\n" " <td valign=\"top\">\n"); container->writeQuickMemberLinks(ol,md); ol.writeString(" </td>\n"); ol.writeString(" <td valign=\"top\">\n"); md->writeDocumentation(this,ol,scopeName,container,m_inGroup); ol.writeString(" </td>\n"); ol.writeString(" </tr>\n"); ol.writeString("</table>\n"); endFile(ol); } if (memberGroupList) { //printf("MemberList::writeDocumentation() -- member groups\n"); MemberGroupListIterator mgli(*memberGroupList); MemberGroup *mg; for (;(mg=mgli.current());++mgli) { mg->writeDocumentationPage(ol,scopeName,container); } } }
int MemberList::countInheritableMembers(ClassDef *inheritedFrom) const { int count=0; QListIterator<MemberDef> mli(*this); MemberDef *md; for (mli.toFirst();(md=mli.current());++mli) { if (md->isBriefSectionVisible()) { if (md->memberType()!=MemberType_Friend && md->memberType()!=MemberType_EnumValue) { //printf("member %s: isReimplementedBy(%s)=%d\n",md->name().data(), // inheritedFrom->name().data(), // md->isReimplementedBy(inheritedFrom)); if (md->memberType()==MemberType_Function) { if (!md->isReimplementedBy(inheritedFrom)) count++; } else { count++; } } } } if (memberGroupList) { MemberGroupListIterator mgli(*memberGroupList); MemberGroup *mg; for (;(mg=mgli.current());++mgli) { count+=mg->countInheritableMembers(inheritedFrom); } } //printf("%s::countInheritableMembers(%s)=%d\n", // listTypeAsString().data(), // inheritedFrom->name().data(),count); return count; }
void MemberList::writeDocumentation(OutputList &ol, const char *scopeName, Definition *container, const char *title,bool showEnumValues,bool showInline) { //printf("MemberList::writeDocumentation()\n"); countDocMembers(showEnumValues); if (numDocMembers()==0) return; if (title) { ol.pushGeneratorState(); ol.disable(OutputGenerator::Html); ol.writeRuler(); ol.popGeneratorState(); ol.startGroupHeader(showInline ? 2 : 0); ol.parseText(title); ol.endGroupHeader(showInline ? 2 : 0); } ol.startMemberDocList(); MemberListIterator mli(*this); MemberDef *md; for ( ; (md=mli.current()) ; ++mli) { md->writeDocumentation(this,ol,scopeName,container, m_inGroup,showEnumValues,showInline); } if (memberGroupList) { //printf("MemberList::writeDocumentation() -- member groups\n"); MemberGroupListIterator mgli(*memberGroupList); MemberGroup *mg; for (;(mg=mgli.current());++mgli) { mg->writeDocumentation(ol,scopeName,container,showEnumValues,showInline); } } ol.endMemberDocList(); }