/*
  docgen  Objective C Document Generator
  Copyright (C) 1995  Bill Bereza.
  
  This program is free software; you can redistribute it and/or modify
  it under the terms of the GNU General Public License as published by
  the Free Software Foundation; either version 2 of the License, or
  (at your option) any later version.
  
  This program is distributed in the hope that it will be useful,
  but WITHOUT ANY WARRANTY; without even the implied warranty of
  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  GNU General Public License for more details.
  
  You should have received a copy of the GNU General Public License
  along with this program; if not, write to the Free Software
  Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  
  Email:
  berezaw@river.it.gvsu.edu

  S-mail:
  Bill Bereza
  9526 Judson Rd.
  Ravenna, MI 49451-9427

  */
/* docgen	Objective C Document Generator
 * Copyright (c) 1994 Bill Bereza
 *
 * $Log:	HTMLFormatter.m,v $
 * Revision 1.4  95/07/26  21:46:46  berezaw
 * changed definition of formatExtension
 * 
 * Revision 1.3  95/07/23  01:12:01  berezaw
 * *** empty log message ***
 * 
 * Revision 1.2  95/07/22  18:45:10  berezaw
 * *** empty log message ***
 * 
 * Revision 1.1  95/07/22  17:29:33  berezaw
 * Initial revision
 * 
 *
 *	$Id: HTMLFormatter.m,v 1.4 95/07/26 21:46:46 berezaw Exp $
 */

#include "HTMLFormatter.h"

@implementation HTMLFormatter
/*
   This does some simple HTML formatting.
   */

+(char *)fileExtension
{
	return "html";
}

// Generic formatting commands
-(int)changeFontSize:(int)to
{
	return 0;
}

-(int)putLine:(const char *)line
{
	return [self writeFormat:"%s<P>\n", line];
}

-(int)putEof { return [self writeFormat: "</BODY></HTML>\n"]; }
-(int)makeBold { return [self writeFormat:"<STRONG>"]; }
-(int)unBold { return [self writeFormat:"</STRONG>"]; }
-(int)makeItalic { return [self writeFormat:"<EM>"]; }
-(int)unItalic { return [self writeFormat:"</EM>"]; }
-(int)changeFont:(int)to {
	return 0;
}
-(int)makeUnderline { return [self writeFormat:"<U>"]; }
-(int)unUnderline { return [self writeFormat:"</U>"]; }

// <DocgenFormatting>
-(int)putConformHeader:(const char *)line
{
	[self writeFormat:"</H3><H3>Conforms To:"];
	return [self writeFormat:"\t%s</H3>\n", line];
}

-(int)putMethodL1 { return [self writeFormat:"<H3>"]; }
-(int)putMethodL2 { return [self writeFormat:"</H3>"]; }
-(int)putHead
{
	return [self writeFormat:"<HTML><HEAD><TITLE>Objective C Class Documentation by Docgen</TITLE></HEAD><BODY>\n"];
}

-(int)putCPHead { return 0; }
-(int)putMethodDescription { return 0; }
-(int)putFont:(int)fn Char:(int)theChar
{
	return [self writeFormat:"%c", (char)theChar];
}

-(int)putStart
{
	return [self writeFormat:"<H1>"];
}

-(int)putInheritHeader
{
	return [self writeFormat:"</H1><H3>Inherits From:\t"];
}

-(int)putInheritTail:(const char *)dec
{
	[self writeFormat:"</H3><H3>Declared In:\t%s</H3>\n",dec];
	return [self writeFormat:"<H2>Class Description</H2>\n"];
}

-(int)putCategoryHeader
{	
	return [self writeFormat:"</H1><H3>Category Of:\t"];
}

-(int)putCategoryTail:(const char *)dec
{
	[self writeFormat:"</H3><H3>Declared In:\t%s</H3>\n",dec];
	return [self writeFormat:"<H2>Category Description</H2>\n"];
}

-(int)putIHeader
{
	return [self writeFormat:"<H2>Instance Variables</H2>\n"];
}

-(int)putMethodHeader:(const char *)kindof
{
	return [self writeFormat:"<H2>%s Methods</H2>\n",kindof];
}

-(int)putMethodType
{
	return [self writeFormat:"<H2>Method Types</H2>\n"];
}

-(int)putIVarDescription
{
	return 0;
}

@end
