Sophie

Sophie

distrib > Mandriva > 2010.0 > x86_64 > by-pkgid > 9ac0f970b86472ed1e748202d2848da8 > files > 121

colorer-take5-docs-0-0.beta5.4mdv2010.0.x86_64.rpm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>Colorer-take5 Library: RegionHandler Class Reference</title>
<link href="../styles/styles.css" rel="stylesheet" type="text/css">
<link href="../styles/doc.css" rel="stylesheet" type="text/css">
<link rel="icon" href="../images/logo-small-api.png"/>
</head>
<body>
<div align='center'>
<a href="../index.html">Home</a> |
<a href="modules.html">Modules</a> |
<a href="hierarchy.html">Class Hierarchy</a> |
<a href="classes.html">Alphabetical List</a> |
<a href="annotated.html">Compound List</a> |
<a href="pages.html">Related Pages</a>
</div>
<!-- Generated by Doxygen 1.4.6 -->
<h1>RegionHandler Class Reference<br>
<small>
[<a class="el" href="group__colorer.html">Colorer interfaces</a>]</small>
</h1><!-- doxytag: class="RegionHandler" --><p>Inheritance diagram for RegionHandler:
<p><center><img src="classRegionHandler.png" usemap="#RegionHandler_map" border="0" alt=""></center>
<map name="RegionHandler_map">
<area href="classBaseEditor.html" alt="BaseEditor" shape="rect" coords="0,56,174,80">
<area href="classLineRegionsSupport.html" alt="LineRegionsSupport" shape="rect" coords="184,56,358,80">
<area href="classOutliner.html" alt="Outliner" shape="rect" coords="368,56,542,80">
<area href="classLineRegionsCompactSupport.html" alt="LineRegionsCompactSupport" shape="rect" coords="184,112,358,136">
</map>
<hr><a name="_details"></a><h2>Detailed Description</h2>
Handles parse information, passed from <a class="el" href="classTextParser.html">TextParser</a>. 
<p>
<a class="el" href="classTextParser.html">TextParser</a> class generates calls of this class methods sequentially while parsing the text from top to bottom. All enterScheme and leaveScheme calls are properly enclosed, addRegion calls can inform about regions, overlapped with each other. All handler methods are called sequentially. It means, that if one of methods is called with some line number, all other calls (before endParsing event comes) can inform about events in the same, or lower line's numbers. This makes sequential tokens processing. 
<p>
<table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRegionHandler.html#f21623dfeef760b83a3fc8c13eccabdd">startParsing</a> (int lno)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Start of text parsing.  <a href="#f21623dfeef760b83a3fc8c13eccabdd"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRegionHandler.html#050b5b410d481be699f2ce9a36ac0134">endParsing</a> (int lno)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">End of text parsing.  <a href="#050b5b410d481be699f2ce9a36ac0134"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRegionHandler.html#aae8a95c202762c12c32af09a94ff375">clearLine</a> (int lno, <a class="el" href="classString.html">String</a> *line)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Clear line event.  <a href="#aae8a95c202762c12c32af09a94ff375"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRegionHandler.html#9093678c6b5f9d07cf039c7aa1b7a9de">addRegion</a> (int lno, <a class="el" href="classString.html">String</a> *line, int sx, int ex, const <a class="el" href="classRegion.html">Region</a> *region)=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Informs handler about lexical region in line.  <a href="#9093678c6b5f9d07cf039c7aa1b7a9de"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRegionHandler.html#1428836a9038c9e4406f982e93535467">enterScheme</a> (int lno, <a class="el" href="classString.html">String</a> *line, int sx, int ex, const <a class="el" href="classRegion.html">Region</a> *region, const <a class="el" href="classScheme.html">Scheme</a> *scheme)=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Informs handler about entering into specified scheme.  <a href="#1428836a9038c9e4406f982e93535467"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRegionHandler.html#93ed2663a208604996df3df91b6c7f80">leaveScheme</a> (int lno, <a class="el" href="classString.html">String</a> *line, int sx, int ex, const <a class="el" href="classRegion.html">Region</a> *region, const <a class="el" href="classScheme.html">Scheme</a> *scheme)=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Informs handler about leaveing specified scheme.  <a href="#93ed2663a208604996df3df91b6c7f80"></a><br></td></tr>
</table>
<hr><h2>Member Function Documentation</h2>
<a class="anchor" name="f21623dfeef760b83a3fc8c13eccabdd"></a><!-- doxytag: member="RegionHandler::startParsing" ref="f21623dfeef760b83a3fc8c13eccabdd" args="(int lno)" --><p>
<table class="mdTable" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top">virtual void RegionHandler::startParsing           </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">int&nbsp;</td>
          <td class="mdname1" valign="top" nowrap> <em>lno</em>          </td>
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
          <td class="md" nowrap><code> [inline, virtual]</code></td>
        </tr>
      </table>
    </td>
  </tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Start of text parsing. 
<p>
Called only once, when <a class="el" href="classTextParser.html">TextParser</a> starts parsing of the specified block of text. All other event messages comes between this call and endParsing call. <dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>lno</em>&nbsp;</td><td>Start line number </td></tr>
  </table>
</dl>

<p>
Reimplemented in <a class="el" href="classLineRegionsSupport.html#84c6aa65205edc8eb937c4b89895c895">LineRegionsSupport</a>.    </td>
  </tr>
</table>
<a class="anchor" name="050b5b410d481be699f2ce9a36ac0134"></a><!-- doxytag: member="RegionHandler::endParsing" ref="050b5b410d481be699f2ce9a36ac0134" args="(int lno)" --><p>
<table class="mdTable" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top">virtual void RegionHandler::endParsing           </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">int&nbsp;</td>
          <td class="mdname1" valign="top" nowrap> <em>lno</em>          </td>
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
          <td class="md" nowrap><code> [inline, virtual]</code></td>
        </tr>
      </table>
    </td>
  </tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
End of text parsing. 
<p>
Called only once, when <a class="el" href="classTextParser.html">TextParser</a> stops parsing of the specified block of text. <dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>lno</em>&nbsp;</td><td>End line number </td></tr>
  </table>
</dl>
    </td>
  </tr>
</table>
<a class="anchor" name="aae8a95c202762c12c32af09a94ff375"></a><!-- doxytag: member="RegionHandler::clearLine" ref="aae8a95c202762c12c32af09a94ff375" args="(int lno, String *line)" --><p>
<table class="mdTable" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top">virtual void RegionHandler::clearLine           </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">int&nbsp;</td>
          <td class="mdname" nowrap> <em>lno</em>, </td>
        </tr>
        <tr>
          <td class="md" nowrap align="right"></td>
          <td class="md"></td>
          <td class="md" nowrap><a class="el" href="classString.html">String</a> *&nbsp;</td>
          <td class="mdname" nowrap> <em>line</em></td>
        </tr>
        <tr>
          <td class="md"></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"><code> [inline, virtual]</code></td>
        </tr>
      </table>
    </td>
  </tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Clear line event. 
<p>
Called once for each parsed text line, when <a class="el" href="classTextParser.html">TextParser</a> starts to parse specified line of text. This method is called before any of the region information passed, and used often to clear internal handler structure of this line before adding new one. <dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>lno</em>&nbsp;</td><td>Line number </td></tr>
  </table>
</dl>
    </td>
  </tr>
</table>
<a class="anchor" name="9093678c6b5f9d07cf039c7aa1b7a9de"></a><!-- doxytag: member="RegionHandler::addRegion" ref="9093678c6b5f9d07cf039c7aa1b7a9de" args="(int lno, String *line, int sx, int ex, const Region *region)=0" --><p>
<table class="mdTable" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top">virtual void RegionHandler::addRegion           </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">int&nbsp;</td>
          <td class="mdname" nowrap> <em>lno</em>, </td>
        </tr>
        <tr>
          <td class="md" nowrap align="right"></td>
          <td class="md"></td>
          <td class="md" nowrap><a class="el" href="classString.html">String</a> *&nbsp;</td>
          <td class="mdname" nowrap> <em>line</em>, </td>
        </tr>
        <tr>
          <td class="md" nowrap align="right"></td>
          <td class="md"></td>
          <td class="md" nowrap>int&nbsp;</td>
          <td class="mdname" nowrap> <em>sx</em>, </td>
        </tr>
        <tr>
          <td class="md" nowrap align="right"></td>
          <td class="md"></td>
          <td class="md" nowrap>int&nbsp;</td>
          <td class="mdname" nowrap> <em>ex</em>, </td>
        </tr>
        <tr>
          <td class="md" nowrap align="right"></td>
          <td class="md"></td>
          <td class="md" nowrap>const <a class="el" href="classRegion.html">Region</a> *&nbsp;</td>
          <td class="mdname" nowrap> <em>region</em></td>
        </tr>
        <tr>
          <td class="md"></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"><code> [pure virtual]</code></td>
        </tr>
      </table>
    </td>
  </tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Informs handler about lexical region in line. 
<p>
This is a basic method, wich transfer information from parser to application. Positions of different passed regions can be overlapped. <dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>lno</em>&nbsp;</td><td>Current line number </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>sx</em>&nbsp;</td><td>Start X position of region in line </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>ex</em>&nbsp;</td><td>End X position of region in line </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>region</em>&nbsp;</td><td><a class="el" href="classRegion.html">Region</a> information </td></tr>
  </table>
</dl>
    </td>
  </tr>
</table>
<a class="anchor" name="1428836a9038c9e4406f982e93535467"></a><!-- doxytag: member="RegionHandler::enterScheme" ref="1428836a9038c9e4406f982e93535467" args="(int lno, String *line, int sx, int ex, const Region *region, const Scheme *scheme)=0" --><p>
<table class="mdTable" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top">virtual void RegionHandler::enterScheme           </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">int&nbsp;</td>
          <td class="mdname" nowrap> <em>lno</em>, </td>
        </tr>
        <tr>
          <td class="md" nowrap align="right"></td>
          <td class="md"></td>
          <td class="md" nowrap><a class="el" href="classString.html">String</a> *&nbsp;</td>
          <td class="mdname" nowrap> <em>line</em>, </td>
        </tr>
        <tr>
          <td class="md" nowrap align="right"></td>
          <td class="md"></td>
          <td class="md" nowrap>int&nbsp;</td>
          <td class="mdname" nowrap> <em>sx</em>, </td>
        </tr>
        <tr>
          <td class="md" nowrap align="right"></td>
          <td class="md"></td>
          <td class="md" nowrap>int&nbsp;</td>
          <td class="mdname" nowrap> <em>ex</em>, </td>
        </tr>
        <tr>
          <td class="md" nowrap align="right"></td>
          <td class="md"></td>
          <td class="md" nowrap>const <a class="el" href="classRegion.html">Region</a> *&nbsp;</td>
          <td class="mdname" nowrap> <em>region</em>, </td>
        </tr>
        <tr>
          <td class="md" nowrap align="right"></td>
          <td class="md"></td>
          <td class="md" nowrap>const <a class="el" href="classScheme.html">Scheme</a> *&nbsp;</td>
          <td class="mdname" nowrap> <em>scheme</em></td>
        </tr>
        <tr>
          <td class="md"></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"><code> [pure virtual]</code></td>
        </tr>
      </table>
    </td>
  </tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Informs handler about entering into specified scheme. 
<p>
Parameter <code>region</code> is used to specify scheme background region information. If text is parsed not from the first line, this method is called with fake parameters to compensate required scheme structure. <dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>lno</em>&nbsp;</td><td>Current line number </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>sx</em>&nbsp;</td><td>Start X position of region in line </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>ex</em>&nbsp;</td><td>End X position of region in line </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>region</em>&nbsp;</td><td><a class="el" href="classScheme.html">Scheme</a> <a class="el" href="classRegion.html">Region</a> information (background) </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>scheme</em>&nbsp;</td><td>Additional <a class="el" href="classScheme.html">Scheme</a> information </td></tr>
  </table>
</dl>
    </td>
  </tr>
</table>
<a class="anchor" name="93ed2663a208604996df3df91b6c7f80"></a><!-- doxytag: member="RegionHandler::leaveScheme" ref="93ed2663a208604996df3df91b6c7f80" args="(int lno, String *line, int sx, int ex, const Region *region, const Scheme *scheme)=0" --><p>
<table class="mdTable" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top">virtual void RegionHandler::leaveScheme           </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">int&nbsp;</td>
          <td class="mdname" nowrap> <em>lno</em>, </td>
        </tr>
        <tr>
          <td class="md" nowrap align="right"></td>
          <td class="md"></td>
          <td class="md" nowrap><a class="el" href="classString.html">String</a> *&nbsp;</td>
          <td class="mdname" nowrap> <em>line</em>, </td>
        </tr>
        <tr>
          <td class="md" nowrap align="right"></td>
          <td class="md"></td>
          <td class="md" nowrap>int&nbsp;</td>
          <td class="mdname" nowrap> <em>sx</em>, </td>
        </tr>
        <tr>
          <td class="md" nowrap align="right"></td>
          <td class="md"></td>
          <td class="md" nowrap>int&nbsp;</td>
          <td class="mdname" nowrap> <em>ex</em>, </td>
        </tr>
        <tr>
          <td class="md" nowrap align="right"></td>
          <td class="md"></td>
          <td class="md" nowrap>const <a class="el" href="classRegion.html">Region</a> *&nbsp;</td>
          <td class="mdname" nowrap> <em>region</em>, </td>
        </tr>
        <tr>
          <td class="md" nowrap align="right"></td>
          <td class="md"></td>
          <td class="md" nowrap>const <a class="el" href="classScheme.html">Scheme</a> *&nbsp;</td>
          <td class="mdname" nowrap> <em>scheme</em></td>
        </tr>
        <tr>
          <td class="md"></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"><code> [pure virtual]</code></td>
        </tr>
      </table>
    </td>
  </tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Informs handler about leaveing specified scheme. 
<p>
Parameter <code>region</code> is used to specify scheme background region information. If text parse process ends, but current schemes stack is not balanced (this can happends because of bad balanced structure of source text, or partial text parse) this method is <b>not</b> called for unbalanced levels. <dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>lno</em>&nbsp;</td><td>Current line number </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>sx</em>&nbsp;</td><td>Start X position of region in line </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>ex</em>&nbsp;</td><td>End X position of region in line </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>region</em>&nbsp;</td><td><a class="el" href="classScheme.html">Scheme</a> <a class="el" href="classRegion.html">Region</a> information (background) </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>scheme</em>&nbsp;</td><td>Additional <a class="el" href="classScheme.html">Scheme</a> information </td></tr>
  </table>
</dl>
    </td>
  </tr>
</table>

<br><br>
<center><small>
Colorer-take5 Library. Copyright &copy; 1999-2006 Igor Russkih.<br>
Generated at Fri Nov 24 17:13:14 2006 by doxygen 1.4.6.
</small><center>
    </BODY>
  </HTML>