Blame src/htmlhelp.h

Packit 1c1d7e
/******************************************************************************
Packit 1c1d7e
 *
Packit 1c1d7e
 * 
Packit 1c1d7e
 *
Packit 1c1d7e
 * Copyright (C) 1997-2015 by Dimitri van Heesch.
Packit 1c1d7e
 *
Packit 1c1d7e
 * Permission to use, copy, modify, and distribute this software and its
Packit 1c1d7e
 * documentation under the terms of the GNU General Public License is hereby 
Packit 1c1d7e
 * granted. No representations are made about the suitability of this software 
Packit 1c1d7e
 * for any purpose. It is provided "as is" without express or implied warranty.
Packit 1c1d7e
 * See the GNU General Public License for more details.
Packit 1c1d7e
 *
Packit 1c1d7e
 * Documents produced by Doxygen are derivative works derived from the
Packit 1c1d7e
 * input used in their production; they are not affected by this license.
Packit 1c1d7e
 *
Packit 1c1d7e
 * The code is this file is largely based on a contribution from
Packit 1c1d7e
 * Harm van der Heijden <H.v.d.Heijden@phys.tue.nl>
Packit 1c1d7e
 * Please send thanks to him and bug reports to me :-)
Packit 1c1d7e
 */
Packit 1c1d7e
Packit 1c1d7e
#ifndef HTMLHELP_H
Packit 1c1d7e
#define HTMLHELP_H
Packit 1c1d7e
Packit 1c1d7e
#include <qstrlist.h>
Packit 1c1d7e
#include <qdict.h>
Packit 1c1d7e
#include "index.h"
Packit 1c1d7e
#include "ftextstream.h"
Packit 1c1d7e
Packit 1c1d7e
class QFile;
Packit 1c1d7e
class Definition;
Packit 1c1d7e
class HtmlHelpIndex;
Packit 1c1d7e
Packit 1c1d7e
/** A class that generated the HTML Help specific files.
Packit 1c1d7e
 *
Packit 1c1d7e
 *  These files can be used with the Microsoft HTML Help workshop
Packit 1c1d7e
 *  to generate compressed HTML files (.chm).
Packit 1c1d7e
 */
Packit 1c1d7e
class HtmlHelp  : public IndexIntf
Packit 1c1d7e
{
Packit 1c1d7e
    /*! used in imageNumber param of HTMLHelp::addContentsItem() function 
Packit 1c1d7e
        to specify document icon in tree view.  
Packit 1c1d7e
        Writes \<param name="ImageNumber" value="xx"\> in .HHC file. */
Packit 1c1d7e
    enum ImageNumber { 
Packit 1c1d7e
      BOOK_CLOSED=1,    BOOK_OPEN,
Packit 1c1d7e
      BOOK_CLOSED_NEW,  BOOK_OPEN_NEW,
Packit 1c1d7e
      FOLDER_CLOSED,    FOLDER_OPEN,
Packit 1c1d7e
      FOLDER_CLOSED_NEW,FOLDER_OPEN_NEW,
Packit 1c1d7e
      QUERY,            QUERY_NEW,
Packit 1c1d7e
      TEXT,             TEXT_NEW,
Packit 1c1d7e
      WEB_DOC,          WEB_DOC_NEW,
Packit 1c1d7e
      WEB_LINK,         WEB_LINK_NEW,
Packit 1c1d7e
      INFO,             INFO_NEW,
Packit 1c1d7e
      LINK,             LINK_NEW,
Packit 1c1d7e
      BOOKLET,          BOOKLET_NEW,
Packit 1c1d7e
      EMAIL,            EMAIL_NEW,
Packit 1c1d7e
      EMAIL2,           EMAIL2_NEW,
Packit 1c1d7e
      IMAGE,            IMAGE_NEW,
Packit 1c1d7e
      AUDIO,            AUDIO_NEW,
Packit 1c1d7e
      MUSIC,            MUSIC_NEW,
Packit 1c1d7e
      VIDEO,            VIDEO_NEW,
Packit 1c1d7e
      INDEX,            INDEX_NEW,
Packit 1c1d7e
      IDEA,             IDEA_NEW,
Packit 1c1d7e
      NOTE,             NOTE_NEW,
Packit 1c1d7e
      TOOL,             TOOL_NEW
Packit 1c1d7e
    };
Packit 1c1d7e
  public:
Packit 1c1d7e
    //static HtmlHelp *getInstance();
Packit 1c1d7e
    HtmlHelp();
Packit 1c1d7e
    ~HtmlHelp();
Packit 1c1d7e
    void initialize();
Packit 1c1d7e
    void finalize();
Packit 1c1d7e
    void incContentsDepth();
Packit 1c1d7e
    void decContentsDepth();
Packit 1c1d7e
    void addContentsItem(bool isDir,
Packit 1c1d7e
                         const char *name, 
Packit 1c1d7e
                         const char *ref, 
Packit 1c1d7e
                         const char *file,
Packit 1c1d7e
                         const char *anchor,
Packit 1c1d7e
                         bool separateIndex,
Packit 1c1d7e
                         bool addToNavIndex,
Packit 1c1d7e
                         Definition *def);
Packit 1c1d7e
    void addIndexItem(Definition *context,MemberDef *md,
Packit 1c1d7e
                      const char *sectionAnchor, const char *title);
Packit 1c1d7e
    void addIndexFile(const char *name);
Packit 1c1d7e
    void addImageFile(const char *);
Packit 1c1d7e
    void addStyleSheetFile(const char *) {}
Packit 1c1d7e
    static QCString getLanguageString();
Packit 1c1d7e
Packit 1c1d7e
  private:
Packit 1c1d7e
    friend class HtmlHelpIndex;
Packit 1c1d7e
    void createProjectFile();
Packit 1c1d7e
Packit 1c1d7e
    QFile *cf,*kf; 
Packit 1c1d7e
    FTextStream cts,kts;
Packit 1c1d7e
    HtmlHelpIndex *index;
Packit 1c1d7e
    int dc;
Packit 1c1d7e
    QStrList indexFiles;
Packit 1c1d7e
    QStrList imageFiles;
Packit 1c1d7e
    QDict<void> indexFileDict;
Packit 1c1d7e
    static HtmlHelp *theInstance;
Packit 1c1d7e
    QCString recode(const QCString &s);
Packit 1c1d7e
    void *m_fromUtf8;
Packit 1c1d7e
};
Packit 1c1d7e
Packit 1c1d7e
#endif /* HTMLHELP_H */
Packit 1c1d7e