return &mDeadRefTempl;
}
-string RipperDocGen::GetScopedName( spContext& ofCtx )
+wxString RipperDocGen::GetScopedName( spContext& ofCtx )
{
if ( ofCtx.IsInFile() )
return ofCtx.GetName();
else
return ofCtx.GetOutterContext()->GetName() +
- "::" + ofCtx.GetName();
+ _T("::") + ofCtx.GetName();
}
void RipperDocGen::AddToCurrentClass( ScriptSection* pSection, spContext& ctx,
if ( CheckIfUncommented( en, *mpEnumIdx ) )
return;
- string body;
+ wxString body;
body += mTags[TAG_BOLD].start;
AppendMulitilineStr( body, en.m_EnumContent );
body += mTags[TAG_BOLD].end;
- string line;
+ wxString line;
AppendHighlightedSource( line, body );
AppendComments( en, line );
if ( CheckIfUncommented( td, *mpTypeDefIdx ) )
return;
- string body;
+ wxString body;
body += mTags[TAG_BOLD].start;
body += "typdef ";
body += mTags[TAG_BOLD].end;
body += td.GetName();
body += mTags[TAG_BOLD].end;
- string line;
+ wxString line;
AppendHighlightedSource( line, body );
AppendComments( td, line );
if ( CheckIfUncommented( pd, *mpMacroIdx ) )
return;
- string body;
+ wxString body;
body += mTags[TAG_FIXED_FONT].start;
- string coloredLine = pd.m_Line;
+ wxString coloredLine = pd.m_Line;
AppendHighlightedSource( coloredLine, pd.m_Line );
AppendMulitilineStr( body, coloredLine );
return;
}
- string body;
+ wxString body;
AppendComments( cl, body );
mpCurClassSect =
void RipperDocGen::VisitAttribute( spAttribute& attr )
{
- string body;
+ wxString body;
body += mTags[TAG_BOLD].start;
body += attr.m_Type;
body += mTags[TAG_BOLD].end;
body += attr.GetName();
body += mTags[TAG_ITALIC].end;
- string line;
+ wxString line;
AppendHighlightedSource( line, body );
AppendComments( attr, line );
void RipperDocGen::VisitOperation( spOperation& op )
{
- string body;
+ wxString body;
AppendHighlightedSource( body, op.GetFullName(mTags) );
// Created: 22/09/98
// RCS-ID: $Id$
// Copyright: (c) Aleskandars Gluchovas
-// Licence: wxWindows licence
+// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
#ifndef __DOCRIPPER_G__
#include "sourcepainter.h"
#if defined( wxUSE_TEMPLATE_STL )
-
- #include <vector>
- typedef vector<ScriptTemplate*> STemplateListT;
+ #include <vector>
+
+ typedef vector<ScriptTemplate*> STemplateListT;
#else
- #include "wxstlvec.h"
+ #include "wxstlvec.h"
- typedef ScriptTemplate* ScriptTemplatePtrT;
- typedef WXSTL_VECTOR_SHALLOW_COPY(ScriptTemplatePtrT) STemplateListT;
+ typedef ScriptTemplate* ScriptTemplatePtrT;
+ typedef WXSTL_VECTOR_SHALLOW_COPY(ScriptTemplatePtrT) STemplateListT;
#endif
-// specific DocGenerator class for "Ripper",
+// specific DocGenerator class for "Ripper",
// also acts as source code visitor
class RipperDocGen : public DocGeneratorBase, public spVisitor
{
protected:
- // templates for various sections
- ScriptTemplate mTopTempl;
- ScriptTemplate mContentIdxTempl;
- ScriptTemplate mSuperContentTempl;
- ScriptTemplate mSubContentTempl;
- ScriptTemplate mOutLineTempl;
- ScriptTemplate mOutLine1Templ;
-
- // template used for corss-references
- ScriptTemplate mRefTempl;
-
- // template used to show not-existing sections
- ScriptTemplate mDeadRefTempl;
-
- // template collection for generation of class-tree
- STemplateListT mTreeTemplates;
-
- // pointers to all major index sections
- ScriptSection* mpTopIdx;
- ScriptSection* mpClassIdx;
- ScriptSection* mpEnumIdx;
- ScriptSection* mpTypeDefIdx;
- ScriptSection* mpMacroIdx;
- ScriptSection* mpGlobalVarsIdx;
- ScriptSection* mpGlobalFuncIdx;
- ScriptSection* mpConstIdx;
-
- // parser set up from user-code for sepcific language
- SourceParserBase* mpParser;
-
- // class section, which is currently being
- // assembled
- ScriptSection* mpCurClassSect;
-
- // source syntax heighlighter object
- SourcePainter mSrcPainter;
-
- // context, to which all file contexts
- // are assembled
- spContext* mpFileBinderCtx;
-
- // script tags set up from usesr code
- MarkupTagsT mTags;
+ // templates for various sections
+ ScriptTemplate mTopTempl;
+ ScriptTemplate mContentIdxTempl;
+ ScriptTemplate mSuperContentTempl;
+ ScriptTemplate mSubContentTempl;
+ ScriptTemplate mOutLineTempl;
+ ScriptTemplate mOutLine1Templ;
+
+ // template used for corss-references
+ ScriptTemplate mRefTempl;
+
+ // template used to show not-existing sections
+ ScriptTemplate mDeadRefTempl;
+
+ // template collection for generation of class-tree
+ STemplateListT mTreeTemplates;
+
+ // pointers to all major index sections
+ ScriptSection* mpTopIdx;
+ ScriptSection* mpClassIdx;
+ ScriptSection* mpEnumIdx;
+ ScriptSection* mpTypeDefIdx;
+ ScriptSection* mpMacroIdx;
+ ScriptSection* mpGlobalVarsIdx;
+ ScriptSection* mpGlobalFuncIdx;
+ ScriptSection* mpConstIdx;
+
+ // parser set up from user-code for sepcific language
+ SourceParserBase* mpParser;
+
+ // class section, which is currently being
+ // assembled
+ ScriptSection* mpCurClassSect;
+
+ // source syntax heighlighter object
+ SourcePainter mSrcPainter;
+
+ // context, to which all file contexts
+ // are assembled
+ spContext* mpFileBinderCtx;
+
+ // script tags set up from usesr code
+ MarkupTagsT mTags;
protected:
- // helpers
- void AppendComments( spContext& fromContext, string& str );
+ // helpers
+ void AppendComments( spContext& fromContext, string& str );
- void AppendMulitilineStr( string& st, string& mlStr );
+ void AppendMulitilineStr( string& st, string& mlStr );
- void AppendHighlightedSource( string& st, string source );
+ void AppendHighlightedSource( string& st, string source );
- // returns TRUE, if no comments found in the context,
- // plus, creates dummy(empty) section, and puts a
- // reference woth "dead-link" template to it in the
- // given index-section "toSect"
+ // returns true, if no comments found in the context,
+ // plus, creates dummy(empty) section, and puts a
+ // reference woth "dead-link" template to it in the
+ // given index-section "toSect"
- bool CheckIfUncommented( spContext& ctx, ScriptSection& toSect );
+ bool CheckIfUncommented( spContext& ctx, ScriptSection& toSect );
- // checks if context has any comments, then returns
- // template of normal reference, otherwise of dead reference
+ // checks if context has any comments, then returns
+ // template of normal reference, otherwise of dead reference
- ScriptTemplate* GetRefTemplFor( spContext& ctx );
+ ScriptTemplate* GetRefTemplFor( spContext& ctx );
- // adds "someClass::" perfix to the context name,
- // if it's not in the file scope (i.e. if it's not global)
+ // adds "someClass::" perfix to the context name,
+ // if it's not in the file scope (i.e. if it's not global)
- string GetScopedName( spContext& ofCtx );
+ wxString GetScopedName( spContext& ofCtx );
- // adds section to currently assembled class section
- // and places references to it from "public", "protected"
- // or "private" indexing-subsections of the class, depending
- // on the visibility of the context
+ // adds section to currently assembled class section
+ // and places references to it from "public", "protected"
+ // or "private" indexing-subsections of the class, depending
+ // on the visibility of the context
- void AddToCurrentClass( ScriptSection* pSection, spContext& ctx,
- const char* subSectionName );
+ void AddToCurrentClass( ScriptSection* pSection, spContext& ctx,
+ const char* subSectionName );
- // called, after all files are processed, to
- // resolve possible super/derived class relations,
- // and put cross references to them - where resolution was
- // successful
- void LinkSuperClassRefs();
+ // called, after all files are processed, to
+ // resolve possible super/derived class relations,
+ // and put cross references to them - where resolution was
+ // successful
+ void LinkSuperClassRefs();
- // implementations of "visiting procedures", declared in spVisitor
+ // implementations of "visiting procedures", declared in spVisitor
- virtual void VisitClass( spClass& cl );
- virtual void VisitEnumeration( spEnumeration& en );
- virtual void VisitTypeDef( spTypeDef& td );
- virtual void VisitPreprocessorLine( spPreprocessorLine& pd );
- virtual void VisitAttribute( spAttribute& attr );
- virtual void VisitOperation( spOperation& op );
+ virtual void VisitClass( spClass& cl );
+ virtual void VisitEnumeration( spEnumeration& en );
+ virtual void VisitTypeDef( spTypeDef& td );
+ virtual void VisitPreprocessorLine( spPreprocessorLine& pd );
+ virtual void VisitAttribute( spAttribute& attr );
+ virtual void VisitOperation( spOperation& op );
- // overriden member of DocGernatorBase
+ // overriden member of DocGernatorBase
- virtual bool OnSaveDocument( ScriptStream& stm );
+ virtual bool OnSaveDocument( ScriptStream& stm );
- virtual ScriptSection* GetTopSection()
- { return mpTopIdx; }
+ virtual ScriptSection* GetTopSection()
+ { return mpTopIdx; }
public:
- RipperDocGen();
- ~RipperDocGen();
-
- // should be called onece to set user-code provided,
- // parser for specific source code language
- // (NOTE:: it's the user-code's responsibility to
- // relseas memory of pParser)
-
- void Init( SourceParserBase* pParser );
-
- // should be called on each file
-
- void ProcessFile( const char* sourceFile );
+ RipperDocGen();
+ ~RipperDocGen();
+
+ // should be called onece to set user-code provided,
+ // parser for specific source code language
+ // (NOTE:: it's the user-code's responsibility to
+ // relseas memory of pParser)
+
+ void Init( SourceParserBase* pParser );
+
+ // should be called on each file
+
+ void ProcessFile( const char* sourceFile );
};