00001 /****************************************************************************** 00002 * 00003 * $Id: section.h,v 1.7 2001/03/19 19:27:41 root Exp $ 00004 * 00005 * 00006 * Copyright (C) 1997-2008 by Dimitri van Heesch. 00007 * 00008 * Permission to use, copy, modify, and distribute this software and its 00009 * documentation under the terms of the GNU General Public License is hereby 00010 * granted. No representations are made about the suitability of this software 00011 * for any purpose. It is provided "as is" without express or implied warranty. 00012 * See the GNU General Public License for more details. 00013 * 00014 * Documents produced by Doxygen are derivative works derived from the 00015 * input used in their production; they are not affected by this license. 00016 * 00017 */ 00018 00019 #ifndef SECTION_H 00020 #define SECTION_H 00021 00022 #include "qtbc.h" 00023 #include <qlist.h> 00024 #include <qdict.h> 00025 #include "sortdict.h" 00026 00027 class Definition; 00028 00029 struct SectionInfo 00030 { 00031 enum SectionType { Page, Section, Subsection, 00032 Subsubsection, Paragraph, Anchor 00033 }; 00034 SectionInfo(const char *f,const char *l,const char *t, 00035 SectionType st,const char *r=0) : 00036 label(l), title(t), type(st), ref(r), definition(0), 00037 fileName(f), generated(FALSE) 00038 { 00039 } 00040 SectionInfo(const SectionInfo &s) 00041 { 00042 label=s.label.copy(); title=s.title.copy(); ref=s.ref.copy(); 00043 type =s.type; definition=s.definition; 00044 fileName=s.fileName.copy(); generated=s.generated; 00045 } 00046 ~SectionInfo() {} 00047 QCString label; 00048 QCString title; 00049 SectionType type; 00050 QCString ref; 00051 Definition *definition; 00052 QCString fileName; 00053 bool generated; 00054 }; 00055 00056 class SectionDict : public QDict<SectionInfo> 00057 { 00058 public: 00059 SectionDict(int size) : QDict<SectionInfo>(size) {} 00060 ~SectionDict() {} 00061 }; 00062 00063 #endif