My Project
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
docsets.h
Go to the documentation of this file.
1 /******************************************************************************
2  *
3  * Copyright (C) 1997-2015 by Dimitri van Heesch.
4  *
5  * Permission to use, copy, modify, and distribute this software and its
6  * documentation under the terms of the GNU General Public License is hereby
7  * granted. No representations are made about the suitability of this software
8  * for any purpose. It is provided "as is" without express or implied warranty.
9  * See the GNU General Public License for more details.
10  *
11  * Documents produced by Doxygen are derivative works derived from the
12  * input used in their production; they are not affected by this license.
13  *
14  */
15 
16 #ifndef DOCSETS_H
17 #define DOCSETS_H
18 
19 #include "sortdict.h"
20 #include "ftextstream.h"
21 #include "index.h"
22 
23 class QFile;
24 class Definition;
25 
31 class DocSets : public IndexIntf
32 {
33 
34  public:
35  DocSets();
36  ~DocSets();
37  void initialize();
38  void finalize();
39  void incContentsDepth();
40  void decContentsDepth();
41  void addContentsItem(bool isDir,
42  const char *name,
43  const char *ref,
44  const char *file,
45  const char *anchor,
46  bool separateIndex,
47  bool addToNavIndex,
48  Definition *def
49  );
50  void addIndexItem(Definition *context,MemberDef *md,
51  const char *sectionAnchor,const char *title);
52  void addIndexFile(const char *name);
53  void addImageFile(const char *) {}
54  void addStyleSheetFile(const char *) {}
55 
56  private:
57  void writeToken(FTextStream &t, const Definition *d,
58  const QCString &type, const QCString &lang,
59  const char *scope=0, const char *anchor=0,
60  const char *decl=0);
61  struct NodeDef
62  {
63  NodeDef(bool d,const QCString &n,const QCString &r,
64  const QCString &f,const QCString &a,int i) :
65  isDir(d), name(n), ref(r), file(f), anchor(a),id(i) {}
66  bool isDir;
67  QCString name;
68  QCString ref;
69  QCString file;
70  QCString anchor;
71  int id;
72  };
73  QCString indent();
74  QFile *m_nf;
75  QFile *m_tf;
78  int m_dc;
79  int m_id;
80  QArray<bool> m_firstNode;
83 };
84 
85 #endif /* DOCSETS_H */
86