Sophie

Sophie

distrib > Mandriva > 8.2 > i586 > media > contrib > by-pkgid > 1a4654cdb333ad144ff9f7b2e16de416 > files > 31

cpp2html-1.2-3mdk.i586.rpm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN"
    "http://www.w3.org/TR/REC-html40/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type"
content="text/html; charset=iso-8859-1">
<meta name="GENERATOR" content="cpp2html 1.2
by Lorenzo Bettini, bettini@gnu.org
http://w3.newnet.it/bettini
http://www.gnu.org/software/cpp2html/cpp2html.html">
<title>source file</title>
<link rel="stylesheet" href="mono.css" type="text/css">
</head>
<body>
<pre>
<tt>
<span class="keyword">#ifndef</span> TAGS_H
<span class="keyword">#define</span> TAGS_H

<span class="keyword">#define</span> QUOTATION_MARK <span class="string">"&amp;quot;"</span>
<span class="keyword">#define</span> LESS_THAN <span class="string">"&amp;lt;"</span>
<span class="keyword">#define</span> GREATER_THAN <span class="string">"&amp;gt;"</span>
<span class="keyword">#define</span> AMPERSAND <span class="string">"&amp;amp;"</span>
<span class="keyword">#define</span> NEWLINE <span class="string">"&lt;br&gt;"</span>
<span class="keyword">#define</span> SPACE_CHAR <span class="string">" "</span>

<span class="keyword">#define</span> FONT_TAG <span class="string">"font"</span>
<span class="keyword">#define</span> COLOR_TAG <span class="string">"color"</span>
<span class="keyword">#define</span> BOLD_TAG <span class="string">"b"</span>
<span class="keyword">#define</span> ITALIC_TAG <span class="string">"i"</span>
<span class="keyword">#define</span> UNDERLINE_TAG <span class="string">"u"</span>

<span class="keyword">#define</span> ISBOLD <span class="number">0x1</span>
<span class="keyword">#define</span> ISITALIC <span class="number">0x2</span>
<span class="keyword">#define</span> ISUNDERLINE <span class="number">0x4</span>

<span class="keyword">#include</span> <span class="string">"list.h"</span>
<span class="keyword">#include</span> <span class="string">"colors.h"</span>

<span class="keyword">#include</span> <span class="string">&lt;iostream.h&gt;</span>
<span class="keyword">#include</span> <span class="string">&lt;string.h&gt;</span>

<span class="keyword">class</span> Tag {
 <span class="keyword">protected</span>:
  <span class="type">char</span> *TagName ;
  <span class="type">char</span> *color ;
  <span class="type">int</span> flags ;

 <span class="keyword">public</span>:
  Tag( <span class="type">char</span> *n ) : TagName( n ), color( <span class="number">0</span> ), flags( <span class="number">0</span> ) {}
  Tag( <span class="type">char</span> *n, <span class="type">char</span> *c ) : TagName( n ), flags( <span class="number">0</span> ) {
    <span class="keyword">if</span> ( strcmp( c, GREEN ) == <span class="number">0</span> )
      color = GREEN_C ;
    <span class="keyword">else</span> <span class="keyword">if</span> ( strcmp( c, RED ) == <span class="number">0</span> )
      color = RED_C ;
    <span class="keyword">else</span> <span class="keyword">if</span> ( strcmp( c, DARKRED ) == <span class="number">0</span> )
      color = DARKRED_C ;
    <span class="keyword">else</span> <span class="keyword">if</span> ( strcmp( c, BLUE ) == <span class="number">0</span> )
      color = BLUE_C ;
    <span class="keyword">else</span> <span class="keyword">if</span> ( strcmp( c, BROWN ) == <span class="number">0</span> )
      color = BROWN_C ;
    <span class="keyword">else</span> <span class="keyword">if</span> ( strcmp( c, PINK ) == <span class="number">0</span> )
      color = PINK_C ;
    <span class="keyword">else</span> <span class="keyword">if</span> ( strcmp( c, YELLOW ) == <span class="number">0</span> )
      color = YELLOW_C ;
    <span class="keyword">else</span> <span class="keyword">if</span> ( strcmp( c, CYAN ) == <span class="number">0</span> )
      color = CYAN_C ;
    <span class="keyword">else</span> <span class="keyword">if</span> ( strcmp( c, PURPLE ) == <span class="number">0</span> )
      color = PURPLE_C ;
    <span class="keyword">else</span> <span class="keyword">if</span> ( strcmp( c, ORANGE ) == <span class="number">0</span> )
      color = ORANGE_C ;
    <span class="keyword">else</span> <span class="keyword">if</span> ( strcmp( c, BRIGHTORANGE ) == <span class="number">0</span> )
      color = BRIGHTORANGE_C ;
    <span class="keyword">else</span> <span class="keyword">if</span> ( strcmp( c, BRIGHTGREEN ) == <span class="number">0</span> )
      color = BRIGHTGREEN_C ;
    <span class="keyword">else</span> <span class="keyword">if</span> ( strcmp( c, BLACK ) == <span class="number">0</span> )
      color = BLACK_C ;
    <span class="keyword">else</span>
      color = NULL ;
  }

  <span class="type">void</span> SetFlags( <span class="type">int</span> f ) { flags = f ; }

  <span class="type">char</span> *GetName() { <span class="keyword">return</span> TagName ; }
  <span class="type">char</span> *GetColor() { <span class="keyword">return</span> color ; }
  <span class="type">void</span> SetColor( <span class="type">char</span> *col ) { color = col ; }

  <span class="type">int</span> IsBold() { <span class="keyword">return</span> ( flags &amp; ISBOLD ) ; }
  <span class="type">int</span> IsItalic() { <span class="keyword">return</span> ( flags &amp; ISITALIC ) ; }
  <span class="type">int</span> IsUnderline() { <span class="keyword">return</span> ( flags &amp; ISUNDERLINE ) ; }

  <span class="type">void</span> Print() ;
} ;

<span class="keyword">class</span> Tags {
 <span class="keyword">protected</span>:
  List&lt;Tag *&gt; tagsList ;

 <span class="keyword">public</span>:
  Tags() {}
  <span class="type">void</span> AddTag( Tag *t ) { tagsList.Add( t ) ;  }
  Tag *GetTag( <span class="type">char</span> *name ) ;
} ;

<span class="keyword">inline</span> Tag * Tags::GetTag( <span class="type">char</span> *name ) {
  <span class="keyword">if</span> ( tagsList.Empty() )
    <span class="keyword">return</span> NULL ;
  ListNode&lt;Tag *&gt; *tag = tagsList.First() ;
  <span class="keyword">while</span> ( tag ) {
    <span class="keyword">if</span> ( strcmp( tag-&gt;Elem()-&gt;GetName(), name ) == <span class="number">0</span> )
      <span class="keyword">return</span> tag-&gt;Elem() ;
    tag = tag-&gt;Next() ;
  }
  <span class="keyword">return</span> NULL ;
}

<span class="type">void</span> setTags( Tags *t ) ;
Tag *getTag( <span class="type">char</span> *name ) ;
<span class="type">void</span> createDefaultTags() ;
Tag *newDefaultTag( <span class="type">char</span> *tag, <span class="type">char</span> *color ) ;

<span class="keyword">#endif</span>
</tt>
</pre>
</body>
</html>