|
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 |
*/
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
#ifndef PAGEDEF_H
|
|
Packit |
1c1d7e |
#define PAGEDEF_H
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
#include "definition.h"
|
|
Packit |
1c1d7e |
#include "sortdict.h"
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
class PageSDict;
|
|
Packit |
1c1d7e |
class OutputList;
|
|
Packit |
1c1d7e |
class FTextStream;
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
/** @brief A model of a page symbol. */
|
|
Packit |
1c1d7e |
class PageDef : public Definition
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
public:
|
|
Packit |
1c1d7e |
PageDef(const char *f,int l,const char *n,const char *d,const char *t);
|
|
Packit |
1c1d7e |
~PageDef();
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
// setters
|
|
Packit |
1c1d7e |
void setFileName(const char *name);
|
|
Packit |
1c1d7e |
void setShowToc(bool b);
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
// getters
|
|
Packit |
1c1d7e |
DefType definitionType() const { return TypePage; }
|
|
Packit |
1c1d7e |
bool isLinkableInProject() const
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
return /*hasDocumentation() &&*/ !isReference();
|
|
Packit |
1c1d7e |
}
|
|
Packit |
1c1d7e |
bool isLinkable() const
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
return isLinkableInProject() || isReference();
|
|
Packit |
1c1d7e |
}
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
// functions to get a uniform interface with Definitions
|
|
Packit |
1c1d7e |
QCString getOutputFileBase() const;
|
|
Packit |
1c1d7e |
QCString anchor() const { return QCString(); }
|
|
Packit |
1c1d7e |
void findSectionsInDocumentation();
|
|
Packit |
1c1d7e |
QCString title() const { return m_title; }
|
|
Packit |
1c1d7e |
GroupDef * getGroupDef() const;
|
|
Packit |
1c1d7e |
PageSDict * getSubPages() const { return m_subPageDict; }
|
|
Packit |
1c1d7e |
void addInnerCompound(Definition *d);
|
|
Packit |
1c1d7e |
bool visibleInIndex() const;
|
|
Packit |
1c1d7e |
bool documentedPage() const;
|
|
Packit |
1c1d7e |
bool hasSubPages() const;
|
|
Packit |
1c1d7e |
bool hasParentPage() const;
|
|
Packit |
1c1d7e |
bool showToc() const { return m_showToc; }
|
|
Packit |
1c1d7e |
void setPageScope(Definition *d){ m_pageScope = d; }
|
|
Packit |
1c1d7e |
Definition *getPageScope() const { return m_pageScope; }
|
|
Packit |
1c1d7e |
QCString displayName(bool=TRUE) const { return !m_title.isEmpty() ? m_title : Definition::name(); }
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
void writeDocumentation(OutputList &ol);
|
|
Packit |
1c1d7e |
void writeTagFile(FTextStream &);
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
private:
|
|
Packit |
1c1d7e |
void setNestingLevel(int l);
|
|
Packit |
1c1d7e |
void writePageDocumentation(OutputList &ol);
|
|
Packit |
1c1d7e |
QCString m_fileName;
|
|
Packit |
1c1d7e |
QCString m_title;
|
|
Packit |
1c1d7e |
PageSDict *m_subPageDict; // list of pages in the group
|
|
Packit |
1c1d7e |
Definition *m_pageScope;
|
|
Packit |
1c1d7e |
int m_nestingLevel;
|
|
Packit |
1c1d7e |
bool m_showToc;
|
|
Packit |
1c1d7e |
};
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
class PageSDict : public SDict<PageDef>
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
public:
|
|
Packit |
1c1d7e |
PageSDict(int size) : SDict<PageDef>(size) {}
|
|
Packit |
1c1d7e |
virtual ~PageSDict() {}
|
|
Packit |
1c1d7e |
private:
|
|
Packit |
1c1d7e |
int compareValues(const PageDef *i1,const PageDef *i2) const
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
return qstricmp(i1->name(),i2->name());
|
|
Packit |
1c1d7e |
}
|
|
Packit |
1c1d7e |
};
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
#endif
|
|
Packit |
1c1d7e |
|