htmlhelp.h

Go to the documentation of this file.
00001 /******************************************************************************
00002  *
00003  * $Id: htmlhelp.h,v 1.7 2001/03/19 19:27:40 root Exp $
00004  *
00005  * Copyright (C) 1997-2008 by Dimitri van Heesch.
00006  *
00007  * Permission to use, copy, modify, and distribute this software and its
00008  * documentation under the terms of the GNU General Public License is hereby 
00009  * granted. No representations are made about the suitability of this software 
00010  * for any purpose. It is provided "as is" without express or implied warranty.
00011  * See the GNU General Public License for more details.
00012  *
00013  * Documents produced by Doxygen are derivative works derived from the
00014  * input used in their production; they are not affected by this license.
00015  *
00016  * The code is this file is largely based on a contribution from
00017  * Harm van der Heijden <H.v.d.Heijden@phys.tue.nl>
00018  * Please send thanks to him and bug reports to me :-)
00019  */
00020 
00021 #ifndef HTMLHELP_H
00022 #define HTMLHELP_H
00023 
00024 #include "qtbc.h"
00025 #include <qtextstream.h>
00026 #include <qstrlist.h>
00027 #include "index.h"
00028 
00029 class QFile;
00030 class HtmlHelpIndex;
00031 
00036 class HtmlHelp  : public IndexIntf
00037 {
00041     enum ImageNumber { 
00042       BOOK_CLOSED=1,    BOOK_OPEN,
00043       BOOK_CLOSED_NEW,  BOOK_OPEN_NEW,
00044       FOLDER_CLOSED,    FOLDER_OPEN,
00045       FOLDER_CLOSED_NEW,FOLDER_OPEN_NEW,
00046       QUERY,            QUERY_NEW,
00047       TEXT,             TEXT_NEW,
00048       WEB_DOC,          WEB_DOC_NEW,
00049       WEB_LINK,         WEB_LINK_NEW,
00050       INFO,             INFO_NEW,
00051       LINK,             LINK_NEW,
00052       BOOKLET,          BOOKLET_NEW,
00053       EMAIL,            EMAIL_NEW,
00054       EMAIL2,           EMAIL2_NEW,
00055       IMAGE,            IMAGE_NEW,
00056       AUDIO,            AUDIO_NEW,
00057       MUSIC,            MUSIC_NEW,
00058       VIDEO,            VIDEO_NEW,
00059       INDEX,            INDEX_NEW,
00060       IDEA,             IDEA_NEW,
00061       NOTE,             NOTE_NEW,
00062       TOOL,             TOOL_NEW
00063     };
00064   public:
00065     //static HtmlHelp *getInstance();
00066     HtmlHelp();
00067     void initialize();
00068     void finalize();
00069     void incContentsDepth();
00070     void decContentsDepth();
00071     void addContentsItem(bool isDir,
00072                          const char *name, 
00073                          const char *ref = 0, 
00074                          const char *file = 0,
00075                          const char *anchor = 0);
00076     void addIndexItem(const char *level1, const char *level2, 
00077                       const char *contRef, const char *memRef,
00078                       const char *anchor,const MemberDef *md);
00079     void addIndexFile(const char *name);
00080 
00081   private:
00082     void createProjectFile();
00083 
00084     QFile *cf,*kf; 
00085     QTextStream cts,kts;
00086     HtmlHelpIndex *index;
00087     int dc;
00088     QStrList indexFiles;
00089     QDict<void> indexFileDict;
00090     static HtmlHelp *theInstance;
00091 };
00092 
00093 #endif /* HTMLHELP_H */
00094 



Generated on Mon Mar 31 10:58:39 2008 by  doxygen 1.5.1