Blame src/docsets.h

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
 */
Packit 1c1d7e
Packit 1c1d7e
#ifndef DOCSETS_H
Packit 1c1d7e
#define DOCSETS_H
Packit 1c1d7e
Packit 1c1d7e
#include "sortdict.h"
Packit 1c1d7e
#include "ftextstream.h"
Packit 1c1d7e
#include "index.h"
Packit 1c1d7e
Packit 1c1d7e
class QFile;
Packit 1c1d7e
class Definition;
Packit 1c1d7e
Packit 1c1d7e
/** A class that generates docset files.
Packit 1c1d7e
 *
Packit 1c1d7e
 *  These files can be used to create context help 
Packit 1c1d7e
 *  for use within Apple's Xcode 3.0 development environment
Packit 1c1d7e
 */
Packit 1c1d7e
class DocSets  : public IndexIntf
Packit 1c1d7e
{
Packit 1c1d7e
Packit 1c1d7e
  public:
Packit 1c1d7e
    DocSets();
Packit 1c1d7e
   ~DocSets();
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
                        );
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
Packit 1c1d7e
  private:
Packit 1c1d7e
    void writeToken(FTextStream &t, const Definition *d,
Packit 1c1d7e
                    const QCString &type, const QCString &lang,
Packit 1c1d7e
                    const char *scope=0, const char *anchor=0,
Packit 1c1d7e
                    const char *decl=0);
Packit 1c1d7e
    struct NodeDef
Packit 1c1d7e
    {
Packit 1c1d7e
      NodeDef(bool d,const QCString &n,const QCString &r,
Packit 1c1d7e
                    const QCString &f,const QCString &a,int i) :
Packit 1c1d7e
                   isDir(d), name(n), ref(r), file(f), anchor(a),id(i) {}
Packit 1c1d7e
      bool isDir;
Packit 1c1d7e
      QCString name;
Packit 1c1d7e
      QCString ref;
Packit 1c1d7e
      QCString file;
Packit 1c1d7e
      QCString anchor;
Packit 1c1d7e
      int id;
Packit 1c1d7e
    };
Packit 1c1d7e
    QCString indent();
Packit 1c1d7e
    QFile *m_nf;
Packit 1c1d7e
    QFile *m_tf;
Packit 1c1d7e
    FTextStream m_nts;
Packit 1c1d7e
    FTextStream m_tts;
Packit 1c1d7e
    int m_dc;
Packit 1c1d7e
    int m_id;
Packit 1c1d7e
    QArray<bool> m_firstNode;
Packit 1c1d7e
    SDict<NodeDef> m_nodes;
Packit 1c1d7e
    SDict<void> m_scopes;
Packit 1c1d7e
};
Packit 1c1d7e
Packit 1c1d7e
#endif /* DOCSETS_H */
Packit 1c1d7e