X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/cde9f08e1f2bba81294708c1d65bb869ed744e56..cecfc5e7e54067ea099334a1fbce852ca69a6b11:/utils/HelpGen/src/ripper_main.cpp diff --git a/utils/HelpGen/src/ripper_main.cpp b/utils/HelpGen/src/ripper_main.cpp new file mode 100644 index 0000000000..d5a3ce7dd5 --- /dev/null +++ b/utils/HelpGen/src/ripper_main.cpp @@ -0,0 +1,157 @@ +///////////////////////////////////////////////////////////////////////////// +// Name: No names yet. +// Purpose: Contrib. demo +// Author: Aleksandras Gluchovas +// Modified by: +// Created: 22/09/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 + +#ifdef WIN32 +#include +#endif + +#include + +#include "markup.h" // get_HTML_markup_tags() will be used + +#include "docripper.h" +#include "cjparser.h" // C++/Java will be parsed here + +/***** Main funciton *****/ + +#ifdef WIN32 + +// NOTE:: under Windows this generator parses all .h files +// int the current directory + +#include "direct.h" + + +void main(int argc, char** argv) +{ + cout << "C++/JAVA Source Documentation Generator (\"wxDocRipper\")" << endl + << "(C) 1998, Aleksandras Gluchovas (mailto:alex@soften.ktu.lt)" + << endl << endl; + + + RipperDocGen gen; + + // set up target script + gen.SetScriptMarkupTags( get_HTML_markup_tags() ); + + // setup source langauge + CJSourceParser* pParser = new CJSourceParser(); + + gen.Init( pParser ); + + // read process all files in the current directory + + struct _finddata_t c_file; // NT-specific? + long hFile; + + hFile = _findfirst( "*.h", &c_file ); + int total = 0; + + while( hFile != -1L ) + { + gen.ProcessFile( c_file.name ); + ++total; + + if ( _findnext( hFile, &c_file ) == -1L ) + break; + } + + + if ( total ) + { + cout << endl + << "*** storing source documenation into ./srcref.html ***" + << endl << endl; + + if ( !gen.SaveDocument( "srcref.html" ) ) + + cout << "\nERROR: document cannot be saved" << endl; + } + else + { + cout << "\nno .h files found in this directory - You must be running Windows now :-)" + << endl; + return; + } + + + printf( "\nTotal %d file(s) processed, done.\n", total ); +} + + +#else + +// NOTE:: on platfroms other then Windows this generator parses all files +// given from the command line + +int main(int argc, char** argv) +{ + cout << "C++/JAVA Source Documentation Generator (\"wxDocRipper\")" << endl + << "(C) 1998, Aleksandras Gluchovas (mailto:alex@soften.ktu.lt)" + << endl << endl; + + if ( argc < 2 ) + { + cout << "Usage: list of files with .h, .hpp, .cpp or .java extentions" + << endl; + return 1; + } + + int from = 1, no_dump = 0; + + if ( strcmp( argv[1], "-x" ) == 0 ) + { + from = 2; + no_dump = 1; + } + + RipperDocGen gen; + + // set up target script + gen.SetScriptMarkupTags( get_HTML_markup_tags() ); + + // setup source langauge + CJSourceParser* pParser = new CJSourceParser(); + + gen.Init( pParser ); + + for( int i = from; i != argc; ++i ) + + gen.ProcessFile( argv[i] ); + + if ( !no_dump ) + { + cout << endl + << "*** storing source documenation into ./srcref.html ***" + << endl << endl; + + if ( !gen.SaveDocument( "srcref.html" ) ) + + cout << "\nERROR: document cannot be saved" << endl; + } + + printf( "\nTotal %d file(s) processed, done.\n", argc-from ); + + return 0; +} + +#endif