|
1 /****************************************************************************** |
|
2 * |
|
3 * |
|
4 * |
|
5 * Copyright (C) 1997-2008 by Dimitri van Heesch. |
|
6 * |
|
7 * Permission to use, copy, modify, and distribute this software and its |
|
8 * documentation under the terms of the GNU General Public License is hereby |
|
9 * granted. No representations are made about the suitability of this software |
|
10 * for any purpose. It is provided "as is" without express or implied warranty. |
|
11 * See the GNU General Public License for more details. |
|
12 * |
|
13 * Documents produced by Doxygen are derivative works derived from the |
|
14 * input used in their production; they are not affected by this license. |
|
15 * |
|
16 */ |
|
17 /* |
|
18 * eclipsehelp.h |
|
19 * |
|
20 * Created on: 7.11.2009 |
|
21 * Author: ondrej |
|
22 */ |
|
23 |
|
24 #ifndef ECLIPSEHELP_H |
|
25 #define ECLIPSEHELP_H |
|
26 |
|
27 #include "qtbc.h" |
|
28 #include "index.h" |
|
29 #include <qtextstream.h> |
|
30 |
|
31 /* -- forward declarations */ |
|
32 class QFile; |
|
33 |
|
34 /*! |
|
35 * \brief Generator of Eclipse help files |
|
36 * |
|
37 * This class generates the Eclipse specific help files. |
|
38 * These files can be used to generate a help plugin readable |
|
39 * by the Eclipse IDE. |
|
40 */ |
|
41 class EclipseHelp : public IndexIntf |
|
42 { |
|
43 public: |
|
44 EclipseHelp(); |
|
45 virtual ~EclipseHelp(); |
|
46 |
|
47 /* -- index interface */ |
|
48 virtual void initialize(); |
|
49 virtual void finalize(); |
|
50 virtual void incContentsDepth(); |
|
51 virtual void decContentsDepth(); |
|
52 virtual void addContentsItem(bool isDir, const char *name, const char *ref = 0, |
|
53 const char *file = 0, const char *anchor = 0); |
|
54 virtual void addIndexItem(Definition *context,MemberDef *md, |
|
55 const char *anchor,const char *word); |
|
56 virtual void addIndexFile(const char *name); |
|
57 virtual void addImageFile(const char *name); |
|
58 virtual void addStyleSheetFile(const char *name); |
|
59 |
|
60 private: |
|
61 int m_depth; |
|
62 bool m_endtag; |
|
63 |
|
64 QFile * m_tocfile; |
|
65 QTextStream m_tocstream; |
|
66 QCString m_pathprefix; |
|
67 |
|
68 /* -- avoid copying */ |
|
69 EclipseHelp(const EclipseHelp &); |
|
70 EclipseHelp & operator = (const EclipseHelp &); |
|
71 |
|
72 /* -- formatting helpers */ |
|
73 void indent(); |
|
74 void closedTag(); |
|
75 void openedTag(); |
|
76 }; |
|
77 |
|
78 #endif /* ECLIPSEHELP_H */ |