/****************************************************************************** * * * * 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 "sortdict.h" #include "config.h" class PageInfo { public: PageInfo(const char *f, int l,const char *n,const char *d,const char *t) : defFileName(f), defLine(l), name(n), doc(d), title(t), todoId(0), testId(0),inGroup(0) {} // where the page definition was found QCString defFileName; int defLine; // contents of the page QCString name; QCString doc; QCString title; // external reference? if so then this is the tag file name QCString reference; // functions to get a uniform interface with Definitions QCString getOutputFileBase() const { if (Config::caseSensitiveNames) return name; else return name.lower(); } bool isReference() const { return !reference.isEmpty(); } QCString getReference() const { return reference; } // ids int todoId; int testId; // is this page part of a group GroupDef *inGroup; }; class PageSDict : public SDict { public: PageSDict(int size) : SDict(size) {} ~PageSDict() {} int compareItems(GCI i1,GCI i2) { return stricmp(((PageInfo *)i1)->name,((PageInfo *)i2)->name); } }; // typedef is to get around Solaris compile problem typedef SDict::Iterator _SDictPageInfoIterator; class PageSDictIterator : public _SDictPageInfoIterator { public: PageSDictIterator(const PageSDict &d) : _SDictPageInfoIterator(d) {} ~PageSDictIterator() {} };