]> git.saurik.com Git - wxWidgets.git/blobdiff - utils/HelpGen/src/ifcontext.cpp
removed old utils (helpgen, tex2rtf, helphtml, nplugin, wxprop, wxole)
[wxWidgets.git] / utils / HelpGen / src / ifcontext.cpp
diff --git a/utils/HelpGen/src/ifcontext.cpp b/utils/HelpGen/src/ifcontext.cpp
deleted file mode 100644 (file)
index d1a36e5..0000000
+++ /dev/null
@@ -1,290 +0,0 @@
-/////////////////////////////////////////////////////////////////////////////
-// Name:        No names yet.
-// Purpose:     Contrib. demo
-// Author:      Aleksandras Gluchovas
-// Modified by:
-// Created:     27/12/98
-// RCS-ID:      $Id$
-// Copyright:   (c) Aleskandars Gluchovas
-// Licence:     wxWindows licence
-/////////////////////////////////////////////////////////////////////////////
-
-// For compilers that support precompilation, includes "wx/wx.h".
-#include "wx/wxprec.h"
-
-#ifdef __BORLANDC__
-#pragma hdrstop
-#endif
-
-#ifndef WX_PRECOMP
-#include "wx/wx.h"
-#endif
-
-#include <stdio.h>
-
-#include "ifcontext.h"
-
-/***** Implementation for class spInterFileContext *****/
-
-size_t spInterFileContext::GetFileNo( const wxString& fname )
-{
-    for ( size_t i = 0; i != m_Files.size(); ++i )
-    {
-        if ( fname == m_Files[i] )
-            return i;
-    }
-
-    wxFAIL_MSG("File not found in array in function spInterFileContext::GetFileNo()");
-
-    return 0;
-}
-
-size_t spInterFileContext::GetFileNoOfContext( spContext& ctx )
-{
-    spContext* pCtx = ctx.GetEnclosingContext( SP_CTX_FILE );
-
-    // DBG:: outer-file context should be present
-    wxASSERT( pCtx && pCtx->GetType() == SP_CTX_FILE );
-
-    return GetFileNo( ((spFile*)pCtx)->m_FileName );
-}
-
-/*** public interface ***/
-
-spInterFileContext::spInterFileContext()
-{}
-
-spInterFileContext::~spInterFileContext()
-{}
-
-void spInterFileContext::AddFile( const wxString& fname, const wxString& content )
-{
-    m_Files.push_back( fname );
-    m_Contents.push_back( content );
-}
-
-void spInterFileContext::RemoveContext( spContext& ctx )
-{
-    wxASSERT( ctx.PositionIsKnown() ); // DBG:: should be checked by-user code
-
-    size_t fNo = GetFileNoOfContext( ctx );
-
-    mDeletionMarks.push_back( spBookmark( ctx.mSrcOffset, ctx.mContextLength, fNo ) );
-}
-
-void spInterFileContext::InsertBookmarkSorted( BookmarkListT& lst, spBookmark& mark )
-{
-    for( size_t i = 0; i != lst.size(); ++i )
-
-    if ( lst[i].mFrom > mark.mFrom )
-    {
-        lst.insert( &lst[i], mark );
-        return;
-    }
-
-    lst.push_back( mark );
-}
-
-void spInterFileContext::DoAppendSourceFragment( wxString& source,
-                                                 wxString& result,
-                                                 size_t  pos, size_t len )
-{
-    mFiltered.erase( mFiltered.begin(), mFiltered.end() );
-
-    size_t i;
-
-    for( i = 0; i != mDeletionMarks.size(); ++i )
-    {
-        spBookmark& mark = mDeletionMarks[i];
-
-        if ( mark.mFileNo == mCurFileNo &&
-             mark.mFrom >= pos && mark.mFrom < pos + len )
-
-        InsertBookmarkSorted( mFiltered, mark );
-    }
-
-    size_t cur = pos;
-
-    for( i = 0; i != mFiltered.size(); ++ i )
-    {
-        spBookmark& mark = mFiltered[i];
-
-        result.append( source, cur, ( (size_t)mark.mFrom - cur ) );
-
-        cur = size_t( mark.mFrom + mark.mLen );
-
-        if ( cur >= pos + len ) // check if we've overstepped the current source-fragment
-        {
-//            wxASSERT(0); // DBG:: with current imp. this should not happen
-            wxFAIL_MSG("Overstepped the current source fragment in function\nspInterFileContext::DoAppendSourceFragment()");
-            cur = pos + len; break;
-        }
-    }
-
-    result.append( source, cur, ( pos + len ) - cur );
-}
-
-void spInterFileContext::GenerateContextBody( spContext& ctx,
-                                              wxString&  source,
-                                              wxString&  result,
-                                              size_t&    lastSavedPos,
-                                              size_t&    lastKnownPos )
-{
-    if ( ctx.PositionIsKnown() )
-        lastKnownPos = ctx.mSrcOffset;
-
-    if ( ctx.IsVirtualContext() )
-    {
-        // add fragment accumulated before this context
-
-        DoAppendSourceFragment( source, result,
-                                size_t(lastSavedPos),
-                                size_t(lastKnownPos - lastSavedPos) );
-
-        // add context body
-
-        result += ctx.GetVirtualContextBody();
-
-        lastSavedPos = lastKnownPos;
-
-        if ( ctx.PositionIsKnown() )
-        {
-            if ( ctx.VitualContextHasChildren() )
-            {
-                lastKnownPos = ctx.mSrcOffset + ctx.mHeaderLength;
-
-                lastSavedPos = lastKnownPos;
-            }
-            else
-            {
-                lastKnownPos = ctx.mSrcOffset + ctx.mContextLength;
-
-                lastSavedPos = lastKnownPos;
-
-                return; // have not children
-            }
-        }
-    }
-
-    MMemberListT& lst = ctx.GetMembers();
-
-    for( size_t i = 0; i != lst.size(); ++i )
-    {
-        GenerateContextBody( *lst[i], source, result, lastSavedPos, lastKnownPos );
-    }
-
-    if ( ctx.IsVirtualContext() )
-    {
-        if ( ctx.VitualContextHasChildren() && !ctx.GetFooterOfVirtualContextBody().empty() )
-        {
-            // append the reminder space after children of the context
-
-            DoAppendSourceFragment( result, source,
-                                    size_t(lastSavedPos),
-                                    size_t(lastKnownPos - lastSavedPos) );
-
-            // add footer
-            result += ctx.GetFooterOfVirtualContextBody();
-
-            lastKnownPos = ctx.mSrcOffset + ctx.mContextLength;
-
-            lastSavedPos = lastKnownPos;
-        }
-    }
-
-    if ( ctx.PositionIsKnown() )
-
-        lastKnownPos = ctx.mSrcOffset + ctx.mContextLength;
-}
-
-void spInterFileContext::GenrateContents()
-{
-    MMemberListT& lst = GetMembers();
-
-    for( size_t f = 0; f != lst.size(); ++f )
-    {
-        wxString& fname = ((spFile*)lst[f])->m_FileName;
-
-        size_t fileNo = GetFileNo( fname );
-
-        wxString& source = m_Contents[ fileNo ];
-
-        wxString result;
-
-        size_t lastKnownPos = 0, // the begining of the file is always "known"
-               lastSavedPos = 0;
-
-        mCurFileNo = fileNo;
-
-        GenerateContextBody( *lst[f], source, result, lastSavedPos, lastKnownPos );
-
-        // the end of file is always known
-
-        lastKnownPos = m_Contents[ fileNo ].length();
-
-        // append the reminder
-
-        DoAppendSourceFragment( source, result,
-                                size_t(lastSavedPos),
-                                size_t(lastKnownPos - lastSavedPos) );
-
-        // replace original contnet with newly generated one
-
-        m_Contents[ fileNo ] = result;
-    }
-}
-
-void spInterFileContext::ParseContents( SourceParserPlugin* pPlugin )
-{
-    mDeletionMarks.erase( mDeletionMarks.begin(), mDeletionMarks.end() );
-
-    RemoveChildren(); // clean up top-level context
-
-    mParser.SetPlugin( pPlugin );
-
-    for( size_t i = 0; i != m_Files.size(); ++i )
-    {
-        wxWritableCharBuffer s(m_Contents[i].char_str());
-
-        spFile* pFCtx = mParser.Parse( s, s + m_Contents[i].length() );
-
-        pFCtx->m_FileName = m_Files[i];
-
-        AddMember( pFCtx );
-    }
-}
-
-void spInterFileContext::WriteToFiles()
-{
-    for( size_t i = 0; i != m_Files.size(); ++i )
-    {
-        FILE* fp = fopen( m_Files[i].c_str(), "w+t" );
-
-        if ( fp != NULL )
-        {
-            fwrite( m_Contents[i].c_str(), sizeof(char), m_Contents[i].length(), fp );
-
-            fclose( fp );
-        }
-    }
-}
-
-wxString spInterFileContext::GetBody( spContext* pCtx )
-{
-    wxASSERT( pCtx->PositionIsKnown() ); // DBG:: should be checked by-user code
-
-    wxString& source = m_Contents[ GetFileNoOfContext( *pCtx ) ];
-
-    return wxString( source.c_str() + pCtx->mSrcOffset, pCtx->mContextLength );
-}
-
-wxString spInterFileContext::GetHeader( spContext* pCtx )
-{
-    wxASSERT( pCtx->PositionIsKnown() );   // DBG:: should be checked by-user code
-
-    wxASSERT( pCtx->mHeaderLength != -1 ); // DBG:: -/-
-
-    wxString& source = m_Contents[ GetFileNoOfContext( *pCtx ) ];
-
-    return wxString( source.c_str() + pCtx->mSrcOffset, pCtx->mHeaderLength );
-}