diff options
author | neodarz <neodarz@neodarz.net> | 2018-08-11 20:21:34 +0200 |
---|---|---|
committer | neodarz <neodarz@neodarz.net> | 2018-08-11 20:21:34 +0200 |
commit | 0ea5fc66924303d1bf73ba283a383e2aadee02f2 (patch) | |
tree | 2568e71a7ccc44ec23b8bb3f0ff97fb6bf2ed709 /docs/doxygen/nel/type_8cpp-source.html | |
download | nevrax-website-self-hostable-0ea5fc66924303d1bf73ba283a383e2aadee02f2.tar.xz nevrax-website-self-hostable-0ea5fc66924303d1bf73ba283a383e2aadee02f2.zip |
Initial commit
Diffstat (limited to 'docs/doxygen/nel/type_8cpp-source.html')
-rw-r--r-- | docs/doxygen/nel/type_8cpp-source.html | 939 |
1 files changed, 939 insertions, 0 deletions
diff --git a/docs/doxygen/nel/type_8cpp-source.html b/docs/doxygen/nel/type_8cpp-source.html new file mode 100644 index 00000000..5f808ac8 --- /dev/null +++ b/docs/doxygen/nel/type_8cpp-source.html @@ -0,0 +1,939 @@ +<!doctype html public "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd"> +<HTML> +<HEAD> + <TITLE>nevrax.org : docs</TITLE> + <LINK REL=stylesheet TYPE="text/css" HREF="http://www.nevrax.org/inc/css/nevrax.css"> + <link href="doxygen.css" rel="stylesheet" type="text/css"> +</HEAD> +<BODY MARGINHEIGHT="0" MARGINWIDTH="0"> + +<!-- uplinks --> +<TABLE CELLSPACING=0 CELLPADDING=0 BORDER=0> + <TR> + <TD WIDTH=16><IMG SRC="http://www.nevrax.org/inc/img/pixel.gif" WIDTH="16" HEIGHT="16" BORDER=0 ALT=""></TD> + <TD WIDTH=140 BGCOLOR=#dddddd><IMG SRC="http://www.nevrax.org/inc/img/pixel.gif" WIDTH="140" HEIGHT="16" BORDER=0 ALT=""></TD> + <TD WIDTH=16><IMG SRC="http://www.nevrax.org/inc/img/pixel.gif" WIDTH="16" HEIGHT="16" BORDER=0 ALT=""></TD> + <TD><IMG width=6 height=14 SRC="http://www.nevrax.org/inc/img/reddots.gif" ALT="#" VSPACE=2 HSPACE=2 BORDER=0 ></TD><TD VALIGN=middle> <A CLASS=uplinks HREF=http://www.nevrax.org><b>Home</B></FONT></A> </TD> + <TD><IMG width=6 height=14 SRC="http://www.nevrax.org/inc/img/reddots.gif" ALT="#" VSPACE=2 HSPACE=2 BORDER=0 ></TD><TD VALIGN=middle> <A CLASS=uplinks HREF=http://www.nevrax.com><b>nevrax.com</B></FONT></A> </TD> + </TR> +</TABLE> + +<!-- banner Nevrax --> +<TABLE CELLSPACING=0 CELLPADDING=0 BORDER=0 WIDTH=100%> + <TR><TD BGCOLOR="#000000" BACKGROUND="http://www.nevrax.org/inc/img/black_banner.jpg"><A HREF="http://www.nevrax.org"><IMG SRC="http://www.nevrax.org/inc/img/nevrax.gif" WIDTH="170" HEIGHT="45" BORDER=0 ALT="Nevrax" ></A></TD></TR> +</TABLE> + +<!-- main table --> +<TABLE CELLSPACING=0 CELLPADDING=0 BORDER=0 height=100%> + <TR> + <TD WIDTH=16><IMG SRC="http://www.nevrax.org/inc/img/pixel.gif" WIDTH="16" HEIGHT="10" BORDER=0 ALT=""></TD> + <TD WIDTH=140 BGCOLOR=#dddddd VALIGN=TOP ALIGN=middle><IMG SRC="http://www.nevrax.org/inc/img/pixel.gif" WIDTH="140" HEIGHT="10" BORDER=0 ALT=""> + + <!------ Begin Box ------> + <TABLE BORDER=0 CELLSPACING=0 CELLPADDING=0 BGCOLOR=black><TR><TD><TABLE border=0 cellspacing=2 cellpadding=0 width=120><tr><TD ALIGN=middle bgcolor=black> + <FONT COLOR=white FACE="sans-serif"><B>Nevrax.org</B></FONT></TD></TR><tr><td colspan=2 bgcolor=#FFFFFF> + <TABLE cellspacing=0 cellpadding=1 border=0> + <tr><td ALIGN=middle><a class='linkbox' href="http://www.nevrax.org/news/" TITLE="Rubrique news"><img width=13 height=15 hspace=5 border=0 src=http://www.nevrax.org/inc/img/picto-news.gif ALT=#></A></td><td><a class='linkbox' href="http://www.nevrax.org/news/" TITLE="News">News</a></td></tr> + <tr><td ALIGN=middle><a class='linkbox' href="http://www.nevrax.org/mail/" TITLE="Rubrique mail"><img width=15 height=11 hspace=5 border=0 src=http://www.nevrax.org/inc/img/picto-mail.gif ALT=#></A></td><td><a class='linkbox' href="http://www.nevrax.org/mail/" TITLE="Mailing list archive">Mailing-list</a></td></tr> + <tr><td ALIGN=middle><a class='linkbox' href="http://www.nevrax.org/docs/" TITLE="Rubrique docs"><img width=14 height=16 hspace=5 border=0 src=http://www.nevrax.org/inc/img/picto-docs.gif ALT=#></A></td><td><a class='linkbox' href="http://www.nevrax.org/docs/" TITLE="Documentation">Documentation</a></td></tr> + <tr><td ALIGN=middle><a class='linkbox' href="http://www.nevrax.org/cvs/" TITLE="Rubrique cvs"><img width=13 height=17 hspace=5 border=0 src=http://www.nevrax.org/inc/img/picto-cvs.gif ALT=#></A></td><td><a class='linkbox' href="http://www.nevrax.org/cvs/" TITLE="CVS Web">CVS</a></td></tr> + <tr><td ALIGN=middle><a class='linkbox' href="http://www.nevrax.org/bugs/" TITLE="Rubrique bugs"><img width=20 height=16 hspace=5 border=0 src=http://www.nevrax.org/inc/img/picto-bugs.gif ALT=#></A></td><td><a class='linkbox' href="http://www.nevrax.org/bugs/" TITLE="Bugtracking">Bugs</a></td></tr> + <tr><td ALIGN=middle><a class='linkbox' href="http://www.nevrax.org/GPL.php3" TITLE="Rubrique license"><img width=18 height=12 hspace=5 border=0 src=http://www.nevrax.org/inc/img/picto-gpl.gif ALT=#></A></td><td><a class='linkbox' href="http://www.nevrax.org/GPL.php3" TITLE="License">License</a></td></tr> + </TABLE> + </TD></TR></TABLE></TD></TR></TABLE> + <!------ End Box ------> + + </TD> + <TD WIDTH=15><IMG SRC="http://www.nevrax.org/inc/img/pixel.gif" WIDTH="16" HEIGHT="16" BORDER=0 ALT=""></TD> + <TD ALIGN=left valign=top><IMG SRC="http://www.nevrax.org/inc/img/pixel.gif" WIDTH="140" HEIGHT="10" BORDER=0 ALT=""> + +<!-- title --> +<TABLE background="http://www.nevrax.org/inc/img/redline.gif" CELLSPACING=0 CELLPADDING=0 BORDER=0 width=100%><tr><td> +<A HREF="http://www.nevrax.org/docs/"><img src="http://www.nevrax.org/inc/img/t_docs.gif" ALT="Docs" HEIGHT=20 BORDER=0></A> +</td><td><IMG SRC="http://www.nevrax.org/inc/img/pixel.gif" WIDTH="1" HEIGHT="1" BORDER=0 ALT=""> +</td></tr></table> + + +<!-- block --> +<TABLE bgcolor="#dddddd" CELLSPACING=0 CELLPADDING=0 BORDER=0 width=100%><tr><td width=1% valign=middle><img width=6 height=14 hspace=2 vspace=2 src="http://www.nevrax.org/inc/img/reddots.gif"></TD> + <TD><B>Documentation</B></TD> + <TD ALIGN=RIGHT> </td> +</tr></table> +<!-- Generated by Doxygen 1.2.14 --> +<center> +<a class="qindex" href="index.html">Main Page</a> <a class="qindex" href="namespaces.html">Namespace List</a> <a class="qindex" href="hierarchy.html">Class Hierarchy</a> <a class="qindex" href="classes.html">Alphabetical List</a> <a class="qindex" href="annotated.html">Compound List</a> <a class="qindex" href="files.html">File List</a> <a class="qindex" href="namespacemembers.html">Namespace Members</a> <a class="qindex" href="functions.html">Compound Members</a> <a class="qindex" href="globals.html">File Members</a> <a class="qindex" href="pages.html">Related Pages</a> <a class="qindexRef" doxygen="_cgi:http://www.nevrax.org/cgi-bin/nel-search.cgi" href="http://www.nevrax.org/cgi-bin/nel-search.cgi">Search</a> </center> +<hr><h1>type.cpp</h1><a href="type_8cpp.html">Go to the documentation of this file.</a><div class="fragment"><pre>00001 +00007 <font class="comment">/* Copyright, 2000 Nevrax Ltd.</font> +00008 <font class="comment"> *</font> +00009 <font class="comment"> * This file is part of NEVRAX NEL.</font> +00010 <font class="comment"> * NEVRAX NEL is free software; you can redistribute it and/or modify</font> +00011 <font class="comment"> * it under the terms of the GNU General Public License as published by</font> +00012 <font class="comment"> * the Free Software Foundation; either version 2, or (at your option)</font> +00013 <font class="comment"> * any later version.</font> +00014 <font class="comment"></font> +00015 <font class="comment"> * NEVRAX NEL is distributed in the hope that it will be useful, but</font> +00016 <font class="comment"> * WITHOUT ANY WARRANTY; without even the implied warranty of</font> +00017 <font class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU</font> +00018 <font class="comment"> * General Public License for more details.</font> +00019 <font class="comment"></font> +00020 <font class="comment"> * You should have received a copy of the GNU General Public License</font> +00021 <font class="comment"> * along with NEVRAX NEL; see the file COPYING. If not, write to the</font> +00022 <font class="comment"> * Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,</font> +00023 <font class="comment"> * MA 02111-1307, USA.</font> +00024 <font class="comment"> */</font> +00025 +00026 +00027 <font class="preprocessor">#include "<a class="code" href="stdgeorges_8h.html">stdgeorges.h</a>"</font> +00028 +00029 <font class="preprocessor">#include "<a class="code" href="i__xml_8h.html">nel/misc/i_xml.h</a>"</font> +00030 <font class="preprocessor">#include "<a class="code" href="eval__num__expr_8h.html">nel/misc/eval_num_expr.h</a>"</font> +00031 <font class="preprocessor">#include "<a class="code" href="path_8h.html">nel/misc/path.h</a>"</font> +00032 <font class="preprocessor">#include "<a class="code" href="u__type_8h.html">nel/georges/u_type.h</a>"</font> +00033 +00034 <font class="preprocessor">#include "<a class="code" href="form_8h.html">georges/form.h</a>"</font> +00035 <font class="preprocessor">#include "<a class="code" href="form__elm_8h.html">georges/form_elm.h</a>"</font> +00036 +00037 <font class="preprocessor">#include "<a class="code" href="type_8h.html">type.h</a>"</font> +00038 +00039 <font class="keyword">using</font> <font class="keyword">namespace </font>NLMISC; +00040 <font class="keyword">using</font> <font class="keyword">namespace </font>std; +00041 +00042 <font class="keyword">namespace </font>NLGEORGES +00043 { +00044 +00045 <font class="comment">// ***************************************************************************</font> +00046 +00047 <font class="keywordtype">void</font> <a class="code" href="namespaceNLGEORGES.html#a0">warning</a> (<font class="keywordtype">bool</font> exception, <font class="keyword">const</font> <font class="keywordtype">char</font> *<a class="code" href="driver__opengl__extension__def_8h.html#a398">format</a>, ... ); +00048 +00049 <font class="comment">// ***************************************************************************</font> +00050 +<a name="l00051"></a><a class="code" href="classNLGEORGES_1_1CType.html#a0">00051</a> CType::CType () +00052 { +00053 <a class="code" href="classNLGEORGES_1_1CType.html#m1">Type</a> = <a class="code" href="classNLGEORGES_1_1UType.html#s6s0">UnsignedInt</a>; +00054 <a class="code" href="classNLGEORGES_1_1CType.html#m2">UIType</a> = <a class="code" href="classNLGEORGES_1_1CType.html#s7s0">Edit</a>; +00055 } +00056 +00057 <font class="comment">// ***************************************************************************</font> +00058 +<a name="l00059"></a><a class="code" href="classNLGEORGES_1_1CType.html#a1">00059</a> CType::~CType () +00060 { +00061 <font class="keywordtype">int</font> <a class="code" href="namespaceNLMISC.html#a294">toto</a> = 0; +00062 } +00063 +00064 <font class="comment">// ***************************************************************************</font> +00065 +<a name="l00066"></a><a class="code" href="classNLGEORGES_1_1CType.html#a2">00066</a> <font class="keywordtype">void</font> CType::write (xmlDocPtr doc, <font class="keywordtype">bool</font> georges4CVS)<font class="keyword"> const</font> +00067 <font class="keyword"></font>{ +00068 <font class="comment">// Create the first node</font> +00069 xmlNodePtr node = xmlNewDocNode (doc, NULL, (<font class="keyword">const</font> xmlChar*)<font class="stringliteral">"TYPE"</font>, NULL); +00070 xmlDocSetRootElement (doc, node); +00071 +00072 <font class="comment">// Type</font> +00073 xmlSetProp (node, (<font class="keyword">const</font> xmlChar*)<font class="stringliteral">"Type"</font>, (<font class="keyword">const</font> xmlChar*)<a class="code" href="classNLGEORGES_1_1CType.html#r0">TypeNames</a>[<a class="code" href="classNLGEORGES_1_1CType.html#m1">Type</a>]); +00074 xmlSetProp (node, (<font class="keyword">const</font> xmlChar*)<font class="stringliteral">"UI"</font>, (<font class="keyword">const</font> xmlChar*)<a class="code" href="classNLGEORGES_1_1CType.html#r1">UITypeNames</a>[<a class="code" href="classNLGEORGES_1_1CType.html#m2">UIType</a>]); +00075 +00076 <font class="comment">// Default valid</font> +00077 <font class="keywordflow">if</font> (!<a class="code" href="classNLGEORGES_1_1CType.html#m3">Default</a>.empty()) +00078 { +00079 xmlSetProp (node, (<font class="keyword">const</font> xmlChar*)<font class="stringliteral">"Default"</font>, (<font class="keyword">const</font> xmlChar*)<a class="code" href="classNLGEORGES_1_1CType.html#m3">Default</a>.c_str()); +00080 } +00081 +00082 <font class="comment">// Min valid</font> +00083 <font class="keywordflow">if</font> (!<a class="code" href="classNLGEORGES_1_1CType.html#m4">Min</a>.empty()) +00084 { +00085 xmlSetProp (node, (<font class="keyword">const</font> xmlChar*)<font class="stringliteral">"Min"</font>, (<font class="keyword">const</font> xmlChar*)<a class="code" href="classNLGEORGES_1_1CType.html#m4">Min</a>.c_str()); +00086 } +00087 +00088 <font class="comment">// Max valid</font> +00089 <font class="keywordflow">if</font> (!<a class="code" href="classNLGEORGES_1_1CType.html#m5">Max</a>.empty()) +00090 { +00091 xmlSetProp (node, (<font class="keyword">const</font> xmlChar*)<font class="stringliteral">"Max"</font>, (<font class="keyword">const</font> xmlChar*)<a class="code" href="classNLGEORGES_1_1CType.html#m5">Max</a>.c_str()); +00092 } +00093 +00094 <font class="comment">// Increment valid</font> +00095 <font class="keywordflow">if</font> (!<a class="code" href="classNLGEORGES_1_1CType.html#m6">Increment</a>.empty()) +00096 { +00097 xmlSetProp (node, (<font class="keyword">const</font> xmlChar*)<font class="stringliteral">"Increment"</font>, (<font class="keyword">const</font> xmlChar*)<a class="code" href="classNLGEORGES_1_1CType.html#m6">Increment</a>.c_str()); +00098 } +00099 +00100 <font class="comment">// Definition </font> +00101 uint def = 0; +00102 <font class="keywordflow">for</font> (def = 0; def<<a class="code" href="classNLGEORGES_1_1CType.html#m7">Definitions</a>.size(); def++) +00103 { +00104 xmlNodePtr defNode = xmlNewChild ( node, NULL, (<font class="keyword">const</font> xmlChar*)<font class="stringliteral">"DEFINITION"</font>, NULL); +00105 xmlSetProp (defNode, (<font class="keyword">const</font> xmlChar*)<font class="stringliteral">"Label"</font>, (<font class="keyword">const</font> xmlChar*)<a class="code" href="classNLGEORGES_1_1CType.html#m7">Definitions</a>[def].Label.c_str()); +00106 xmlSetProp (defNode, (<font class="keyword">const</font> xmlChar*)<font class="stringliteral">"Value"</font>, (<font class="keyword">const</font> xmlChar*)<a class="code" href="classNLGEORGES_1_1CType.html#m7">Definitions</a>[def].Value.c_str()); +00107 } +00108 +00109 <font class="comment">// Header</font> +00110 <a class="code" href="classNLGEORGES_1_1CType.html#m0">Header</a>.write (node, georges4CVS); +00111 } +00112 +00113 <font class="comment">// ***************************************************************************</font> +00114 +<a name="l00115"></a><a class="code" href="classNLGEORGES_1_1CType.html#c2">00115</a> <font class="keywordtype">void</font> CType::read (xmlNodePtr root) +00116 { +00117 <font class="comment">// Check node name</font> +00118 <font class="keywordflow">if</font> ( ((<font class="keyword">const</font> <font class="keywordtype">char</font>*)root->name == NULL) || (strcmp ((<font class="keyword">const</font> <font class="keywordtype">char</font>*)root->name, <font class="stringliteral">"TYPE"</font>) != 0) ) +00119 { +00120 <font class="comment">// Throw exception</font> +00121 <a class="code" href="classNLGEORGES_1_1CType.html#c1">warning2</a> (<font class="keyword">true</font>, <font class="stringliteral">"read"</font>, <font class="stringliteral">"XML Syntax error in block line %d, node (%s) should be TYPE."</font>, +00122 (<font class="keywordtype">int</font>)root->content, root->name); +00123 } +00124 +00125 <font class="comment">// Read the type</font> +00126 <font class="keyword">const</font> <font class="keywordtype">char</font> *<a class="code" href="driver__opengl__extension__def_8h.html#a415">value</a> = (<font class="keyword">const</font> <font class="keywordtype">char</font>*)xmlGetProp (root, (xmlChar*)<font class="stringliteral">"Type"</font>); +00127 <font class="keywordflow">if</font> (value) +00128 { +00129 <font class="comment">// Lookup type</font> +00130 uint <a class="code" href="driver__opengl__extension__def_8h.html#a373">type</a>; +00131 <font class="keywordflow">for</font> (<a class="code" href="driver__opengl__extension__def_8h.html#a373">type</a>=0; <a class="code" href="driver__opengl__extension__def_8h.html#a373">type</a><<a class="code" href="classNLGEORGES_1_1UType.html#s6s5">TypeCount</a>; <a class="code" href="driver__opengl__extension__def_8h.html#a373">type</a>++) +00132 { +00133 <font class="keywordflow">if</font> (strcmp (<a class="code" href="driver__opengl__extension__def_8h.html#a415">value</a>, <a class="code" href="classNLGEORGES_1_1CType.html#r0">TypeNames</a>[<a class="code" href="driver__opengl__extension__def_8h.html#a373">type</a>]) == 0) +00134 <font class="keywordflow">break</font>; +00135 } +00136 +00137 <font class="comment">// Type found ?</font> +00138 <font class="keywordflow">if</font> (<a class="code" href="driver__opengl__extension__def_8h.html#a373">type</a>!=<a class="code" href="classNLGEORGES_1_1UType.html#s6s5">TypeCount</a>) +00139 <a class="code" href="classNLGEORGES_1_1CType.html#m1">Type</a> = (TType)<a class="code" href="driver__opengl__extension__def_8h.html#a373">type</a>; +00140 <font class="keywordflow">else</font> +00141 { +00142 <font class="comment">// Make an error message</font> +00143 string valueStr = <a class="code" href="driver__opengl__extension__def_8h.html#a415">value</a>; +00144 +00145 <font class="comment">// Delete the value</font> +00146 xmlFree ((<font class="keywordtype">void</font>*)<a class="code" href="driver__opengl__extension__def_8h.html#a415">value</a>); +00147 +00148 <font class="comment">// Throw exception</font> +00149 <a class="code" href="classNLGEORGES_1_1CType.html#c1">warning2</a> (<font class="keyword">true</font>, <font class="stringliteral">"read"</font>, <font class="stringliteral">"XML Syntax error in TYPE block line %d, the Type value is unknown (%s)."</font>, +00150 (<font class="keywordtype">int</font>)root->content, valueStr.c_str ()); +00151 } +00152 +00153 <font class="comment">// Delete the value</font> +00154 xmlFree ((<font class="keywordtype">void</font>*)<a class="code" href="driver__opengl__extension__def_8h.html#a415">value</a>); +00155 } +00156 <font class="keywordflow">else</font> +00157 { +00158 <font class="comment">// Throw exception</font> +00159 <a class="code" href="classNLGEORGES_1_1CType.html#c1">warning2</a> (<font class="keyword">true</font>, <font class="stringliteral">"read"</font>, <font class="stringliteral">"XML Syntax error in TYPE block line %d, the Type argument was not found."</font>, +00160 (<font class="keywordtype">int</font>)root->content); +00161 } +00162 +00163 <font class="comment">// Read the UI</font> +00164 <a class="code" href="driver__opengl__extension__def_8h.html#a415">value</a> = (<font class="keyword">const</font> <font class="keywordtype">char</font>*)xmlGetProp (root, (xmlChar*)<font class="stringliteral">"UI"</font>); +00165 <font class="keywordflow">if</font> (value) +00166 { +00167 <font class="comment">// Lookup type</font> +00168 uint <a class="code" href="driver__opengl__extension__def_8h.html#a373">type</a>; +00169 <font class="keywordflow">for</font> (<a class="code" href="driver__opengl__extension__def_8h.html#a373">type</a>=0; <a class="code" href="driver__opengl__extension__def_8h.html#a373">type</a><<a class="code" href="classNLGEORGES_1_1CType.html#s7s6">UITypeCount</a>; <a class="code" href="driver__opengl__extension__def_8h.html#a373">type</a>++) +00170 { +00171 <font class="keywordflow">if</font> (strcmp (<a class="code" href="driver__opengl__extension__def_8h.html#a415">value</a>, <a class="code" href="classNLGEORGES_1_1CType.html#r1">UITypeNames</a>[<a class="code" href="driver__opengl__extension__def_8h.html#a373">type</a>]) == 0) +00172 <font class="keywordflow">break</font>; +00173 } +00174 +00175 <font class="comment">// Type found ?</font> +00176 <font class="keywordflow">if</font> (<a class="code" href="driver__opengl__extension__def_8h.html#a373">type</a>!=<a class="code" href="classNLGEORGES_1_1CType.html#s7s6">UITypeCount</a>) +00177 <a class="code" href="classNLGEORGES_1_1CType.html#m2">UIType</a> = (TUI)<a class="code" href="driver__opengl__extension__def_8h.html#a373">type</a>; +00178 <font class="keywordflow">else</font> +00179 <a class="code" href="classNLGEORGES_1_1CType.html#m2">UIType</a> = <a class="code" href="classNLGEORGES_1_1CType.html#s7s0">Edit</a>; +00180 +00181 <font class="comment">// Delete the value</font> +00182 xmlFree ((<font class="keywordtype">void</font>*)<a class="code" href="driver__opengl__extension__def_8h.html#a415">value</a>); +00183 } +00184 <font class="keywordflow">else</font> +00185 <a class="code" href="classNLGEORGES_1_1CType.html#m2">UIType</a> = <a class="code" href="classNLGEORGES_1_1CType.html#s7s0">Edit</a>; +00186 +00187 <font class="comment">// Read Default</font> +00188 <a class="code" href="driver__opengl__extension__def_8h.html#a415">value</a> = (<font class="keyword">const</font> <font class="keywordtype">char</font>*)xmlGetProp (root, (xmlChar*)<font class="stringliteral">"Default"</font>); +00189 <font class="keywordflow">if</font> (value) +00190 { +00191 <a class="code" href="classNLGEORGES_1_1CType.html#m3">Default</a> = <a class="code" href="driver__opengl__extension__def_8h.html#a415">value</a>; +00192 +00193 <font class="comment">// Delete the value</font> +00194 xmlFree ((<font class="keywordtype">void</font>*)<a class="code" href="driver__opengl__extension__def_8h.html#a415">value</a>); +00195 } +00196 <font class="keywordflow">else</font> +00197 <a class="code" href="classNLGEORGES_1_1CType.html#m3">Default</a> = <font class="stringliteral">""</font>; +00198 +00199 <font class="comment">// Read Min</font> +00200 <a class="code" href="driver__opengl__extension__def_8h.html#a415">value</a> = (<font class="keyword">const</font> <font class="keywordtype">char</font>*)xmlGetProp (root, (xmlChar*)<font class="stringliteral">"Min"</font>); +00201 <font class="keywordflow">if</font> (value) +00202 { +00203 <a class="code" href="classNLGEORGES_1_1CType.html#m4">Min</a> = <a class="code" href="driver__opengl__extension__def_8h.html#a415">value</a>; +00204 +00205 <font class="comment">// Delete the value</font> +00206 xmlFree ((<font class="keywordtype">void</font>*)<a class="code" href="driver__opengl__extension__def_8h.html#a415">value</a>); +00207 } +00208 <font class="keywordflow">else</font> +00209 <a class="code" href="classNLGEORGES_1_1CType.html#m4">Min</a> = <font class="stringliteral">""</font>; +00210 +00211 <font class="comment">// Read Max</font> +00212 <a class="code" href="driver__opengl__extension__def_8h.html#a415">value</a> = (<font class="keyword">const</font> <font class="keywordtype">char</font>*)xmlGetProp (root, (xmlChar*)<font class="stringliteral">"Max"</font>); +00213 <font class="keywordflow">if</font> (value) +00214 { +00215 <a class="code" href="classNLGEORGES_1_1CType.html#m5">Max</a> = <a class="code" href="driver__opengl__extension__def_8h.html#a415">value</a>; +00216 +00217 <font class="comment">// Delete the value</font> +00218 xmlFree ((<font class="keywordtype">void</font>*)<a class="code" href="driver__opengl__extension__def_8h.html#a415">value</a>); +00219 } +00220 <font class="keywordflow">else</font> +00221 <a class="code" href="classNLGEORGES_1_1CType.html#m5">Max</a> = <font class="stringliteral">""</font>; +00222 +00223 <font class="comment">// Read Increment</font> +00224 <a class="code" href="driver__opengl__extension__def_8h.html#a415">value</a> = (<font class="keyword">const</font> <font class="keywordtype">char</font>*)xmlGetProp (root, (xmlChar*)<font class="stringliteral">"Increment"</font>); +00225 <font class="keywordflow">if</font> (value) +00226 { +00227 <a class="code" href="classNLGEORGES_1_1CType.html#m6">Increment</a> = <a class="code" href="driver__opengl__extension__def_8h.html#a415">value</a>; +00228 +00229 <font class="comment">// Delete the value</font> +00230 xmlFree ((<font class="keywordtype">void</font>*)<a class="code" href="driver__opengl__extension__def_8h.html#a415">value</a>); +00231 } +00232 <font class="keywordflow">else</font> +00233 <a class="code" href="classNLGEORGES_1_1CType.html#m6">Increment</a> = <font class="stringliteral">""</font>; +00234 +00235 <font class="comment">// Read the definitions</font> +00236 uint childrenCount = CIXml::countChildren (root, <font class="stringliteral">"DEFINITION"</font>); +00237 +00238 <font class="comment">// Resize the array</font> +00239 <a class="code" href="classNLGEORGES_1_1CType.html#m7">Definitions</a>.resize (childrenCount); +00240 uint child=0; +00241 xmlNodePtr childPtr = CIXml::getFirstChildNode (root, <font class="stringliteral">"DEFINITION"</font>); +00242 <font class="keywordflow">while</font> (child < childrenCount) +00243 { +00244 <font class="comment">// Should not be NULL</font> +00245 <a class="code" href="debug_8h.html#a6">nlassert</a> (childPtr); +00246 +00247 <font class="comment">// Read Default</font> +00248 <font class="keyword">const</font> <font class="keywordtype">char</font> *label = (<font class="keyword">const</font> <font class="keywordtype">char</font>*)xmlGetProp (childPtr, (xmlChar*)<font class="stringliteral">"Label"</font>); +00249 <font class="keywordflow">if</font> (label) +00250 { +00251 <font class="comment">// Read Default</font> +00252 <a class="code" href="driver__opengl__extension__def_8h.html#a415">value</a> = (<font class="keyword">const</font> <font class="keywordtype">char</font>*)xmlGetProp (childPtr, (xmlChar*)<font class="stringliteral">"Value"</font>); +00253 <font class="keywordflow">if</font> (value) +00254 { +00255 <a class="code" href="classNLGEORGES_1_1CType.html#m7">Definitions</a>[child].Label = label; +00256 <a class="code" href="classNLGEORGES_1_1CType.html#m7">Definitions</a>[child].Value = <a class="code" href="driver__opengl__extension__def_8h.html#a415">value</a>; +00257 +00258 <font class="comment">// Delete the value</font> +00259 xmlFree ((<font class="keywordtype">void</font>*)<a class="code" href="driver__opengl__extension__def_8h.html#a415">value</a>); +00260 } +00261 <font class="keywordflow">else</font> +00262 { +00263 <font class="comment">// Delete the value</font> +00264 xmlFree ((<font class="keywordtype">void</font>*)label); +00265 +00266 <font class="comment">// Throw exception</font> +00267 <a class="code" href="classNLGEORGES_1_1CType.html#c1">warning2</a> (<font class="keyword">true</font>, <font class="stringliteral">"read"</font>, <font class="stringliteral">"XML Syntax error in DEFINITION block line %d, the Value argument was not found."</font>, +00268 (<font class="keywordtype">int</font>)childPtr->content); +00269 } +00270 +00271 <font class="comment">// Delete the value</font> +00272 xmlFree ((<font class="keywordtype">void</font>*)label); +00273 } +00274 <font class="keywordflow">else</font> +00275 { +00276 <font class="comment">// Throw exception</font> +00277 <a class="code" href="classNLGEORGES_1_1CType.html#c1">warning2</a> (<font class="keyword">true</font>, <font class="stringliteral">"read"</font>, <font class="stringliteral">"XML Syntax error in DEFINITION block line %d, the Label argument was not found."</font>, +00278 (<font class="keywordtype">int</font>)childPtr->content); +00279 } +00280 +00281 <font class="comment">// One more</font> +00282 child++; +00283 +00284 childPtr = CIXml::getNextChildNode (childPtr, <font class="stringliteral">"DEFINITION"</font>);; +00285 } +00286 +00287 <font class="comment">// Read the header</font> +00288 <a class="code" href="classNLGEORGES_1_1CType.html#m0">Header</a>.read (root); +00289 } +00290 +00291 <font class="comment">// ***************************************************************************</font> +00292 +<a name="l00293"></a><a class="code" href="classNLGEORGES_1_1CType.html#r0">00293</a> <font class="keyword">const</font> <font class="keywordtype">char</font> *CType::TypeNames[TypeCount]= +00294 { +00295 <font class="stringliteral">"UnsignedInt"</font>, +00296 <font class="stringliteral">"SignedInt"</font>, +00297 <font class="stringliteral">"Double"</font>, +00298 <font class="stringliteral">"String"</font>, +00299 <font class="stringliteral">"Color"</font>, +00300 }; +00301 +00302 <font class="comment">// ***************************************************************************</font> +00303 +<a name="l00304"></a><a class="code" href="classNLGEORGES_1_1CType.html#r1">00304</a> <font class="keyword">const</font> <font class="keywordtype">char</font> *CType::UITypeNames[UITypeCount]= +00305 { +00306 <font class="stringliteral">"Edit"</font>, +00307 <font class="stringliteral">"EditSpin"</font>, +00308 <font class="stringliteral">"NonEditableCombo"</font>, +00309 <font class="stringliteral">"FileBrowser"</font>, +00310 <font class="stringliteral">"BigEdit"</font>, +00311 <font class="stringliteral">"ColorEdit"</font>, +00312 }; +00313 +00314 <font class="comment">// ***************************************************************************</font> +00315 +00316 <font class="keyword">const</font> <font class="keywordtype">char</font> *CType::getTypeName (TType <a class="code" href="driver__opengl__extension__def_8h.html#a373">type</a>) +00317 { +00318 <font class="keywordflow">return</font> <a class="code" href="classNLGEORGES_1_1CType.html#r0">TypeNames</a>[<a class="code" href="driver__opengl__extension__def_8h.html#a373">type</a>]; +00319 } +00320 +00321 <font class="comment">// ***************************************************************************</font> +00322 +<a name="l00323"></a><a class="code" href="classNLGEORGES_1_1CType.html#d2">00323</a> <font class="keyword">const</font> <font class="keywordtype">char</font> *CType::getUIName (TUI <a class="code" href="driver__opengl__extension__def_8h.html#a373">type</a>) +00324 { +00325 <font class="keywordflow">return</font> <a class="code" href="classNLGEORGES_1_1CType.html#r1">UITypeNames</a>[<a class="code" href="driver__opengl__extension__def_8h.html#a373">type</a>]; +00326 } +00327 +00328 <font class="comment">// ***************************************************************************</font> +00329 +<a name="l00330"></a><a class="code" href="classNLGEORGES_1_1CMyEvalNumExpr.html">00330</a> <font class="keyword">class </font>CMyEvalNumExpr : <font class="keyword">public</font> CEvalNumExpr +00331 { +00332 <font class="keyword">public</font>: +<a name="l00333"></a><a class="code" href="classNLGEORGES_1_1CMyEvalNumExpr.html#a0">00333</a> <a class="code" href="classNLGEORGES_1_1CMyEvalNumExpr.html#a0">CMyEvalNumExpr</a> (<font class="keyword">const</font> CForm *form) +00334 { +00335 <a class="code" href="classNLGEORGES_1_1CMyEvalNumExpr.html#m0">Form</a> = form; +00336 } +<a name="l00337"></a><a class="code" href="classNLGEORGES_1_1CMyEvalNumExpr.html#a1">00337</a> <font class="keyword">virtual</font> CEvalNumExpr::TReturnState <a class="code" href="classNLGEORGES_1_1CMyEvalNumExpr.html#a1">evalValue</a> (<font class="keyword">const</font> <font class="keywordtype">char</font> *<a class="code" href="driver__opengl__extension__def_8h.html#a415">value</a>, <font class="keywordtype">double</font> &result, uint32 round) +00338 { +00339 <font class="comment">// If a form is available</font> +00340 <font class="keywordflow">if</font> (Form) +00341 { +00342 <font class="comment">// Ask for the filename ?</font> +00343 <font class="keywordflow">if</font> (strcmp (<a class="code" href="driver__opengl__extension__def_8h.html#a415">value</a>, <font class="stringliteral">"$filename"</font>) == 0) +00344 { +00345 <font class="comment">// Get the filename</font> +00346 <font class="keyword">const</font> string filename = CFile::getFilenameWithoutExtension (<a class="code" href="classNLGEORGES_1_1CMyEvalNumExpr.html#m0">Form</a>->getFilename ()); +00347 +00348 <font class="comment">// While the filename as a number</font> +00349 sint i; +00350 <font class="keywordflow">for</font> (i=filename.size ()-1; i>=0; i--) +00351 { +00352 <font class="keywordflow">if</font> ((filename[i]<<font class="charliteral">'0'</font>) || (filename[i]><font class="charliteral">'9'</font>)) +00353 <font class="keywordflow">break</font>; +00354 } +00355 +00356 <font class="comment">// Number found..</font> +00357 <font class="keywordflow">if</font> ((i >= 0) && (i<((sint)filename.size ()-1))) +00358 { +00359 i++; +00360 <font class="comment">// Set the result</font> +00361 result = atof (filename.c_str () + i); +00362 } +00363 <font class="keywordflow">else</font> +00364 { +00365 <font class="comment">// If the filename doesn't contain a number, returns 0</font> +00366 result = 0; +00367 } +00368 <font class="keywordflow">return</font> CEvalNumExpr::NoError; +00369 } +00370 <font class="keywordflow">else</font> +00371 { +00372 <font class="comment">// try to get a Form value</font> +00373 +00374 <font class="comment">// The parent Dfn</font> +00375 <font class="keyword">const</font> CFormDfn *parentDfn; +00376 <font class="keyword">const</font> CFormDfn *nodeDfn; +00377 <font class="keyword">const</font> CType *nodeType; +00378 CFormElm *node; +00379 uint parentIndex; +00380 <font class="keywordtype">bool</font> array; +00381 <font class="keywordtype">bool</font> parentVDfnArray; +00382 UFormDfn::TEntryType <a class="code" href="driver__opengl__extension__def_8h.html#a373">type</a>; +00383 +00384 <font class="comment">// Search for the node</font> +00385 <font class="keywordflow">if</font> (((<font class="keyword">const</font> CFormElm&)<a class="code" href="classNLGEORGES_1_1CMyEvalNumExpr.html#m0">Form</a>->getRootNode ()).getNodeByName (<a class="code" href="driver__opengl__extension__def_8h.html#a415">value</a>, &parentDfn, parentIndex, &nodeDfn, &nodeType, &node, <a class="code" href="driver__opengl__extension__def_8h.html#a373">type</a>, array, parentVDfnArray, <font class="keyword">false</font>, round)) +00386 { +00387 <font class="comment">// End, return the current index</font> +00388 <font class="keywordflow">if</font> (<a class="code" href="driver__opengl__extension__def_8h.html#a373">type</a> == UFormDfn::EntryType) +00389 { +00390 <font class="comment">// The atom</font> +00391 <font class="keyword">const</font> CFormElmAtom *atom = node ? safe_cast<const CFormElmAtom*> (node) : NULL; +00392 +00393 <font class="comment">// Evale</font> +00394 <a class="code" href="debug_8h.html#a6">nlassert</a> (nodeType); +00395 string <a class="code" href="driver__opengl__extension__def_8h.html#a400">res</a>; +00396 <font class="keywordflow">if</font> (nodeType->getValue (<a class="code" href="driver__opengl__extension__def_8h.html#a400">res</a>, <a class="code" href="classNLGEORGES_1_1CMyEvalNumExpr.html#m0">Form</a>, atom, *parentDfn, parentIndex, UFormElm::Eval, NULL, round, <a class="code" href="driver__opengl__extension__def_8h.html#a415">value</a>)) +00397 { +00398 <font class="keywordflow">if</font> (((<font class="keyword">const</font> CFormElm&)<a class="code" href="classNLGEORGES_1_1CMyEvalNumExpr.html#m0">Form</a>->getRootNode ()).convertValue (result, <a class="code" href="driver__opengl__extension__def_8h.html#a400">res</a>.c_str ())) +00399 { +00400 <font class="keywordflow">return</font> CEvalNumExpr::NoError; +00401 } +00402 } +00403 } +00404 } +00405 } +00406 } +00407 <font class="keywordflow">return</font> CEvalNumExpr::evalValue (<a class="code" href="driver__opengl__extension__def_8h.html#a415">value</a>, result, round); +00408 } +00409 +00410 <font class="comment">// The working form</font> +<a name="l00411"></a><a class="code" href="classNLGEORGES_1_1CMyEvalNumExpr.html#m0">00411</a> <font class="keyword">const</font> CForm *<a class="code" href="classNLGEORGES_1_1CMyEvalNumExpr.html#m0">Form</a>; +00412 }; +00413 +00414 <font class="comment">// ***************************************************************************</font> +00415 +<a name="l00416"></a><a class="code" href="type_8cpp.html#a0">00416</a> <font class="preprocessor">#define NL_TOKEN_STRING 0</font> +<a name="l00417"></a><a class="code" href="type_8cpp.html#a1">00417</a> <font class="preprocessor"></font><font class="preprocessor">#define NL_TOKEN_DOUBLE_QUOTE 1</font> +<a name="l00418"></a><a class="code" href="type_8cpp.html#a2">00418</a> <font class="preprocessor"></font><font class="preprocessor">#define NL_TOKEN_OPEN_BRACKET 2</font> +<a name="l00419"></a><a class="code" href="type_8cpp.html#a3">00419</a> <font class="preprocessor"></font><font class="preprocessor">#define NL_TOKEN_NAME 3</font> +<a name="l00420"></a><a class="code" href="type_8cpp.html#a4">00420</a> <font class="preprocessor"></font><font class="preprocessor">#define NL_TOKEN_END 4</font> +00421 <font class="preprocessor"></font> +00422 uint <a class="code" href="namespaceNLGEORGES.html#a1">getNextToken</a> (<font class="keyword">const</font> <font class="keywordtype">char</font> *startString, string &token, uint &<a class="code" href="driver__opengl__extension__def_8h.html#a378">offset</a>) +00423 { +00424 <font class="keywordflow">if</font> (startString[<a class="code" href="driver__opengl__extension__def_8h.html#a378">offset</a>] == 0) +00425 <font class="keywordflow">return</font> <a class="code" href="type_8cpp.html#a4">NL_TOKEN_END</a>; +00426 <font class="keywordflow">if</font> (startString[<a class="code" href="driver__opengl__extension__def_8h.html#a378">offset</a>] == <font class="charliteral">'"'</font>) +00427 { +00428 <a class="code" href="driver__opengl__extension__def_8h.html#a378">offset</a>++; +00429 <font class="keywordflow">return</font> <a class="code" href="type_8cpp.html#a1">NL_TOKEN_DOUBLE_QUOTE</a>; +00430 } +00431 <font class="keywordflow">if</font> (startString[<a class="code" href="driver__opengl__extension__def_8h.html#a378">offset</a>] == <font class="charliteral">'{'</font>) +00432 { +00433 <a class="code" href="driver__opengl__extension__def_8h.html#a378">offset</a>++; +00434 <font class="keywordflow">return</font> <a class="code" href="type_8cpp.html#a2">NL_TOKEN_OPEN_BRACKET</a>; +00435 } +00436 <font class="keywordflow">if</font> ( (startString[<a class="code" href="driver__opengl__extension__def_8h.html#a378">offset</a>] == <font class="charliteral">'$'</font>) && (strncmp (startString+<a class="code" href="driver__opengl__extension__def_8h.html#a378">offset</a>+1, <font class="stringliteral">"filename"</font>, 8) == 0) ) +00437 { +00438 <a class="code" href="driver__opengl__extension__def_8h.html#a378">offset</a> += 9; +00439 <font class="keywordflow">return</font> <a class="code" href="type_8cpp.html#a3">NL_TOKEN_NAME</a>; +00440 } +00441 token = <font class="stringliteral">""</font>; +00442 <font class="keywordflow">while</font> (startString[<a class="code" href="driver__opengl__extension__def_8h.html#a378">offset</a>]) +00443 { +00444 <font class="keywordflow">if</font> (startString[<a class="code" href="driver__opengl__extension__def_8h.html#a378">offset</a>] == <font class="charliteral">'\\'</font>) +00445 { +00446 <font class="keywordflow">if</font> (startString[<a class="code" href="driver__opengl__extension__def_8h.html#a378">offset</a>+1]) +00447 { +00448 token += startString[<a class="code" href="driver__opengl__extension__def_8h.html#a378">offset</a>+1]; +00449 <a class="code" href="driver__opengl__extension__def_8h.html#a378">offset</a>++; +00450 } +00451 <font class="keywordflow">else</font> +00452 { +00453 <a class="code" href="driver__opengl__extension__def_8h.html#a378">offset</a>++; +00454 <font class="keywordflow">break</font>; +00455 } +00456 } +00457 <font class="keywordflow">else</font> <font class="keywordflow">if</font> (startString[<a class="code" href="driver__opengl__extension__def_8h.html#a378">offset</a>] == <font class="charliteral">'"'</font>) +00458 <font class="keywordflow">break</font>; +00459 <font class="keywordflow">else</font> <font class="keywordflow">if</font> (startString[<a class="code" href="driver__opengl__extension__def_8h.html#a378">offset</a>] == <font class="charliteral">'{'</font>) +00460 <font class="keywordflow">break</font>; +00461 <font class="keywordflow">else</font> <font class="keywordflow">if</font> ( (startString[<a class="code" href="driver__opengl__extension__def_8h.html#a378">offset</a>] == <font class="charliteral">'$'</font>) && (strncmp (startString+<a class="code" href="driver__opengl__extension__def_8h.html#a378">offset</a>+1, <font class="stringliteral">"filename"</font>, 8) == 0) ) +00462 <font class="keywordflow">break</font>; +00463 <font class="keywordflow">else</font> +00464 token += startString[<a class="code" href="driver__opengl__extension__def_8h.html#a378">offset</a>]; +00465 <a class="code" href="driver__opengl__extension__def_8h.html#a378">offset</a>++; +00466 } +00467 <font class="keywordflow">return</font> <a class="code" href="type_8cpp.html#a0">NL_TOKEN_STRING</a>; +00468 } +00469 +00470 <font class="comment">// ***************************************************************************</font> +00471 +00472 uint <a class="code" href="namespaceNLGEORGES.html#a2">findSpecialCharacter</a> (<font class="keyword">const</font> <font class="keywordtype">char</font> *special, <font class="keywordtype">char</font> c, uint startOffset) +00473 { +00474 uint <a class="code" href="driver__opengl__extension__def_8h.html#a378">offset</a> = startOffset; +00475 <font class="keywordflow">while</font> (special[<a class="code" href="driver__opengl__extension__def_8h.html#a378">offset</a>]) +00476 { +00477 <font class="keywordflow">if</font> (special[<a class="code" href="driver__opengl__extension__def_8h.html#a378">offset</a>] == <font class="charliteral">'\\'</font>) +00478 { +00479 <font class="keywordflow">if</font> (special[<a class="code" href="driver__opengl__extension__def_8h.html#a378">offset</a>+1]) +00480 <a class="code" href="driver__opengl__extension__def_8h.html#a378">offset</a>++; +00481 <font class="keywordflow">else</font> +00482 <font class="keywordflow">break</font>; +00483 } +00484 <font class="keywordflow">else</font> +00485 { +00486 <font class="keywordflow">if</font> (special[<a class="code" href="driver__opengl__extension__def_8h.html#a378">offset</a>] == c) +00487 <font class="keywordflow">return</font> <a class="code" href="driver__opengl__extension__def_8h.html#a378">offset</a>; +00488 } +00489 <a class="code" href="driver__opengl__extension__def_8h.html#a378">offset</a>++; +00490 } +00491 <font class="keywordflow">return</font> 0xffffffff; +00492 } +00493 +00494 <font class="comment">// ***************************************************************************</font> +00495 +00496 <font class="keywordtype">void</font> <a class="code" href="namespaceNLGEORGES.html#a3">buildError</a> (<font class="keywordtype">char</font> *msg, uint <a class="code" href="driver__opengl__extension__def_8h.html#a378">offset</a>) +00497 { +00498 msg[0] = 0; +00499 <font class="keywordflow">if</font> (<a class="code" href="driver__opengl__extension__def_8h.html#a378">offset</a><512) +00500 { +00501 uint i; +00502 <font class="keywordflow">for</font> (i=0; i<<a class="code" href="driver__opengl__extension__def_8h.html#a378">offset</a>; i++) +00503 msg[i] = <font class="charliteral">'-'</font>; +00504 msg[i] = <font class="charliteral">'^'</font>; +00505 msg[i+1] = 0; +00506 } +00507 } +00508 +00509 <font class="comment">// ***************************************************************************</font> +00510 +00511 <font class="keywordtype">bool</font> CType::getValue (string &result, <font class="keyword">const</font> CForm *form, <font class="keyword">const</font> CFormElmAtom *node, <font class="keyword">const</font> CFormDfn &parentDfn, uint parentIndex, UFormElm::TEval evaluate, uint32 *where, uint32 round, <font class="keyword">const</font> <font class="keywordtype">char</font> *formName)<font class="keyword"> const</font> +00512 <font class="keyword"></font>{ +00513 <font class="comment">// Node exist ?</font> +00514 <font class="keywordflow">if</font> (node && !node->Value.empty()) +00515 { +00516 <font class="keywordflow">if</font> (where) +00517 *where = (node->Form == form) ? CFormElm::ValueForm : CFormElm::ValueParentForm; +00518 result = node->Value; +00519 } +00520 <font class="comment">// Have a default dfn value ?</font> +00521 <font class="keywordflow">else</font> +00522 { +00523 <font class="keyword">const</font> string &defDfn = parentDfn.Entries[parentIndex].Default; +00524 <font class="keywordflow">if</font> (!defDfn.empty ()) +00525 { +00526 <font class="keywordflow">if</font> (where) +00527 *where = CFormElm::ValueDefaultDfn; +00528 result = defDfn; +00529 } +00530 <font class="keywordflow">else</font> +00531 { +00532 <font class="keywordflow">if</font> (where) +00533 *where = CFormElm::ValueDefaultType; +00534 result = Default; +00535 } +00536 } +00537 +00538 <font class="comment">// evaluate the value ?</font> +00539 <font class="keywordflow">if</font> (evaluate == UFormElm::Formula) +00540 { +00541 <font class="comment">// Evaluate predefinition</font> +00542 uint i; +00543 uint predefCount = Definitions.size (); +00544 <font class="keywordflow">for</font> (i=0; i<predefCount; i++) +00545 { +00546 <font class="comment">// Ref on the value</font> +00547 <font class="keyword">const</font> CType::CDefinition &def = Definitions[i]; +00548 +00549 <font class="comment">// This predefinition ?</font> +00550 <font class="keywordflow">if</font> (def.Label == result) +00551 { +00552 result = def.Value; +00553 <font class="keywordflow">break</font>; +00554 } +00555 } +00556 } +00557 <font class="keywordflow">else</font> <font class="keywordflow">if</font> (evaluate == UFormElm::Eval) +00558 { +00559 <font class="comment">// Evaluate numerical expression</font> +00560 <font class="keywordflow">if</font> ((Type == Double) || (Type == SignedInt) || (Type == UnsignedInt) || (Type == UnsignedInt)) +00561 { +00562 <font class="comment">// Evaluate predefinition</font> +00563 uint i; +00564 uint predefCount = Definitions.size (); +00565 <font class="keywordflow">for</font> (i=0; i<predefCount; i++) +00566 { +00567 <font class="comment">// Ref on the value</font> +00568 <font class="keyword">const</font> CType::CDefinition &def = Definitions[i]; +00569 +00570 <font class="comment">// This predefinition ?</font> +00571 <font class="keywordflow">if</font> (def.Label == result) +00572 { +00573 result = def.Value; +00574 <font class="keywordflow">break</font>; +00575 } +00576 } +00577 +00578 <font class="keywordtype">double</font> <a class="code" href="driver__opengl__extension__def_8h.html#a415">value</a>; +00579 CMyEvalNumExpr expr (form); +00580 <font class="keywordtype">int</font> <a class="code" href="driver__opengl__extension__def_8h.html#a378">offset</a>; +00581 CEvalNumExpr::TReturnState error = expr.evalExpression (result.c_str (), <a class="code" href="driver__opengl__extension__def_8h.html#a415">value</a>, &<a class="code" href="driver__opengl__extension__def_8h.html#a378">offset</a>, round); +00582 <font class="keywordflow">if</font> (error == CEvalNumExpr::NoError) +00583 { +00584 <font class="comment">// To string</font> +00585 result = toString (<a class="code" href="driver__opengl__extension__def_8h.html#a415">value</a>); +00586 } +00587 <font class="keywordflow">else</font> +00588 { +00589 <font class="comment">// Build a nice error output in warning</font> +00590 <font class="keywordtype">char</font> msg[512]; +00591 <a class="code" href="namespaceNLGEORGES.html#a3">buildError</a> (msg, <a class="code" href="driver__opengl__extension__def_8h.html#a378">offset</a>); +00592 <a class="code" href="namespaceNLGEORGES.html#a0">warning</a> (<font class="keyword">false</font>, formName, form->getFilename ().c_str (), <font class="stringliteral">"getValue"</font>, <font class="stringliteral">"Syntax error in expression: %s\n%s\n%s"</font>, expr.getErrorString (error), result.c_str (), msg); +00593 <font class="keywordflow">return</font> <font class="keyword">false</font>; +00594 } +00595 } +00596 <font class="keywordflow">else</font> <font class="comment">// For strings</font> +00597 { +00598 <font class="comment">// Get next text</font> +00599 uint <a class="code" href="driver__opengl__extension__def_8h.html#a378">offset</a> = 0; +00600 string dest; +00601 <font class="keywordflow">while</font> (<a class="code" href="driver__opengl__extension__def_8h.html#a378">offset</a> < result.size ()) +00602 { +00603 string token; +00604 uint tokenType = <a class="code" href="namespaceNLGEORGES.html#a1">getNextToken</a> (result.c_str (), token, <a class="code" href="driver__opengl__extension__def_8h.html#a378">offset</a>); +00605 +00606 <font class="comment">// Bracklets, {numerical expressions} : numerical expressions to string</font> +00607 <font class="keywordflow">if</font> (tokenType == <a class="code" href="type_8cpp.html#a2">NL_TOKEN_OPEN_BRACKET</a>) +00608 { +00609 <font class="comment">// Find the second "</font> +00610 uint nextEnd = <a class="code" href="namespaceNLGEORGES.html#a2">findSpecialCharacter</a> (result.c_str (), <font class="charliteral">'}'</font>, <a class="code" href="driver__opengl__extension__def_8h.html#a378">offset</a>); +00611 <font class="keywordflow">if</font> (nextEnd == 0xffffffff) +00612 { +00613 <font class="comment">// Build a nice error output in warning</font> +00614 <font class="keywordtype">char</font> msg[512]; +00615 <a class="code" href="namespaceNLGEORGES.html#a3">buildError</a> (msg, result.size ()); +00616 <a class="code" href="namespaceNLGEORGES.html#a0">warning</a> (<font class="keyword">false</font>, formName, form->getFilename ().c_str (), <font class="stringliteral">"getValue"</font>, <font class="stringliteral">"Missing closing quote\n%s\n%s"</font>, result.c_str (), msg); +00617 <font class="keywordflow">return</font> <font class="keyword">false</font>; +00618 } +00619 <font class="keywordflow">else</font> +00620 { +00621 <font class="comment">// Zero padding</font> +00622 <font class="keywordtype">char</font> zeroPadding = 0; +00623 +00624 <font class="comment">// Format code ?</font> +00625 <font class="keywordflow">if</font> ( ( (nextEnd - <a class="code" href="driver__opengl__extension__def_8h.html#a378">offset</a>) >= 3 ) && ( result[<a class="code" href="driver__opengl__extension__def_8h.html#a378">offset</a>] == <font class="charliteral">'$'</font> ) && ( result[<a class="code" href="driver__opengl__extension__def_8h.html#a378">offset</a>+1] == <font class="charliteral">'z'</font> ) +00626 && ( result[<a class="code" href="driver__opengl__extension__def_8h.html#a378">offset</a>+2] <= <font class="charliteral">'9'</font> ) && ( result[<a class="code" href="driver__opengl__extension__def_8h.html#a378">offset</a>+2] >= <font class="charliteral">'0'</font> ) ) +00627 { +00628 <font class="comment">// Save padding</font> +00629 zeroPadding = result[<a class="code" href="driver__opengl__extension__def_8h.html#a378">offset</a>+2] - <font class="charliteral">'0'</font>; +00630 <a class="code" href="driver__opengl__extension__def_8h.html#a378">offset</a> += 3; +00631 } +00632 +00633 <font class="comment">// try to get a Form value</font> +00634 string valueName = result.substr ( <a class="code" href="driver__opengl__extension__def_8h.html#a378">offset</a>, nextEnd-<a class="code" href="driver__opengl__extension__def_8h.html#a378">offset</a> ); +00635 +00636 <font class="keywordtype">double</font> <a class="code" href="driver__opengl__extension__def_8h.html#a415">value</a>; +00637 CMyEvalNumExpr expr (form); +00638 <font class="keywordtype">int</font> offsetExpr; +00639 CEvalNumExpr::TReturnState error = expr.evalExpression (valueName.c_str (), <a class="code" href="driver__opengl__extension__def_8h.html#a415">value</a>, &offsetExpr, round); +00640 <font class="keywordflow">if</font> (error == CEvalNumExpr::NoError) +00641 { +00642 <font class="comment">// To string</font> +00643 <font class="keywordtype">char</font> <a class="code" href="driver__opengl__extension__def_8h.html#a398">format</a>[200]; +00644 <font class="keywordtype">char</font> result[200]; +00645 <a class="code" href="namespaceNLMISC.html#a211">smprintf</a> (<a class="code" href="driver__opengl__extension__def_8h.html#a398">format</a>, 200, <font class="stringliteral">"%%0%cg"</font>, zeroPadding+<font class="charliteral">'0'</font>); +00646 <a class="code" href="namespaceNLMISC.html#a211">smprintf</a> (result, 200, <a class="code" href="driver__opengl__extension__def_8h.html#a398">format</a>, <a class="code" href="driver__opengl__extension__def_8h.html#a415">value</a>); +00647 dest += result; +00648 } +00649 <font class="keywordflow">else</font> +00650 { +00651 <font class="comment">// Build a nice error output in warning</font> +00652 <font class="keywordtype">char</font> msg[512]; +00653 <a class="code" href="namespaceNLGEORGES.html#a3">buildError</a> (msg, <a class="code" href="driver__opengl__extension__def_8h.html#a378">offset</a>+offsetExpr); +00654 <a class="code" href="namespaceNLGEORGES.html#a0">warning</a> (<font class="keyword">false</font>, formName, form->getFilename ().c_str (), <font class="stringliteral">"getValue"</font>, <font class="stringliteral">"Syntax error in expression: %s\n%s\n%s"</font>, expr.getErrorString (error), result.c_str (), msg); +00655 <font class="keywordflow">return</font> <font class="keyword">false</font>; +00656 } +00657 +00658 <font class="comment">// Next offset</font> +00659 <a class="code" href="driver__opengl__extension__def_8h.html#a378">offset</a> = nextEnd + 1; +00660 } +00661 } +00662 <font class="keywordflow">else</font> <font class="keywordflow">if</font> (tokenType == <a class="code" href="type_8cpp.html#a1">NL_TOKEN_DOUBLE_QUOTE</a>) +00663 { +00664 <font class="comment">// Find the second "</font> +00665 uint nextEnd = <a class="code" href="namespaceNLGEORGES.html#a2">findSpecialCharacter</a> (result.c_str (), <font class="charliteral">'"'</font>, <a class="code" href="driver__opengl__extension__def_8h.html#a378">offset</a>); +00666 <font class="keywordflow">if</font> (nextEnd == 0xffffffff) +00667 { +00668 <font class="comment">// Build a nice error output in warning</font> +00669 <font class="keywordtype">char</font> msg[512]; +00670 <a class="code" href="namespaceNLGEORGES.html#a3">buildError</a> (msg, result.size ()); +00671 <a class="code" href="namespaceNLGEORGES.html#a0">warning</a> (<font class="keyword">false</font>, formName, form->getFilename ().c_str (), <font class="stringliteral">"getValue"</font>, <font class="stringliteral">"Missing double quote\n%s\n%s"</font>, result.c_str (), msg); +00672 <font class="keywordflow">return</font> <font class="keyword">false</font>; +00673 } +00674 <font class="keywordflow">else</font> +00675 { +00676 <font class="comment">// try to get a Form value</font> +00677 string valueName = result.substr ( <a class="code" href="driver__opengl__extension__def_8h.html#a378">offset</a>, nextEnd-<a class="code" href="driver__opengl__extension__def_8h.html#a378">offset</a> ); +00678 +00679 <font class="comment">// The parent Dfn</font> +00680 <font class="keyword">const</font> CFormDfn *parentDfn; +00681 <font class="keyword">const</font> CFormDfn *nodeDfn; +00682 <font class="keyword">const</font> CType *nodeType; +00683 CFormElm *node; +00684 uint parentIndex; +00685 <font class="keywordtype">bool</font> array; +00686 <font class="keywordtype">bool</font> parentVDfnArray; +00687 UFormDfn::TEntryType <a class="code" href="driver__opengl__extension__def_8h.html#a373">type</a>; +00688 +00689 <font class="comment">// Search for the node</font> +00690 <font class="keywordflow">if</font> (((<font class="keyword">const</font> CFormElm&)form->getRootNode ()).getNodeByName (valueName.c_str (), &parentDfn, parentIndex, &nodeDfn, &nodeType, &node, <a class="code" href="driver__opengl__extension__def_8h.html#a373">type</a>, array, parentVDfnArray, <font class="keyword">false</font>, round)) +00691 { +00692 <font class="comment">// End, return the current index</font> +00693 <font class="keywordflow">if</font> (<a class="code" href="driver__opengl__extension__def_8h.html#a373">type</a> == UFormDfn::EntryType) +00694 { +00695 <font class="comment">// The atom</font> +00696 <font class="keyword">const</font> CFormElmAtom *atom = node ? safe_cast<const CFormElmAtom*> (node) : NULL; +00697 +00698 <font class="comment">// Evale</font> +00699 <a class="code" href="debug_8h.html#a6">nlassert</a> (nodeType); +00700 string result2; +00701 <font class="keywordflow">if</font> (nodeType->getValue (result2, form, atom, *parentDfn, parentIndex, UFormElm::Eval, NULL, round, valueName.c_str ())) +00702 { +00703 dest += result2; +00704 } +00705 } +00706 <font class="keywordflow">else</font> +00707 { +00708 <font class="keywordtype">char</font> msg[512]; +00709 <a class="code" href="namespaceNLGEORGES.html#a3">buildError</a> (msg, <a class="code" href="driver__opengl__extension__def_8h.html#a378">offset</a>); +00710 <a class="code" href="namespaceNLGEORGES.html#a0">warning</a> (<font class="keyword">false</font>, formName, form->getFilename ().c_str (), <font class="stringliteral">"getValue"</font>, <font class="stringliteral">"Node is not an atom (%s)\n%s\n%s"</font>, valueName.c_str (), result.c_str (), msg); +00711 <font class="keywordflow">return</font> <font class="keyword">false</font>; +00712 } +00713 } +00714 <font class="keywordflow">else</font> +00715 <font class="keywordflow">return</font> <font class="keyword">false</font>; +00716 } +00717 +00718 <font class="comment">// Next offset</font> +00719 <a class="code" href="driver__opengl__extension__def_8h.html#a378">offset</a> = nextEnd + 1; +00720 } +00721 <font class="keywordflow">else</font> <font class="keywordflow">if</font> (tokenType == <a class="code" href="type_8cpp.html#a0">NL_TOKEN_STRING</a>) +00722 { +00723 <font class="comment">// Evaluate predefinition</font> +00724 uint i; +00725 uint predefCount = Definitions.size (); +00726 <font class="keywordflow">for</font> (i=0; i<predefCount; i++) +00727 { +00728 <font class="comment">// Ref on the value</font> +00729 <font class="keyword">const</font> CType::CDefinition &def = Definitions[i]; +00730 +00731 <font class="comment">// This predefinition ?</font> +00732 <font class="keywordflow">if</font> (def.Label == token) +00733 { +00734 token = def.Value; +00735 <font class="keywordflow">break</font>; +00736 } +00737 } +00738 +00739 <font class="comment">// Take the remaining of the string</font> +00740 dest += token; +00741 } +00742 <font class="keywordflow">else</font> <font class="keywordflow">if</font> (tokenType == <a class="code" href="type_8cpp.html#a3">NL_TOKEN_NAME</a>) +00743 { +00744 dest += form->getFilename (); +00745 } +00746 } +00747 +00748 <font class="comment">// Final result</font> +00749 result = dest; +00750 } +00751 } +00752 +00753 <font class="comment">// Ok</font> +00754 <font class="keywordflow">return</font> <font class="keyword">true</font>; +00755 } +00756 +00757 <font class="comment">// ***************************************************************************</font> +00758 +<a name="l00759"></a><a class="code" href="classNLGEORGES_1_1CType.html#d0">00759</a> <font class="keywordtype">bool</font> CType::uiCompatible (TType <a class="code" href="driver__opengl__extension__def_8h.html#a373">type</a>, TUI ui) +00760 { +00761 <font class="keywordflow">switch</font> (type) +00762 { +00763 <font class="keywordflow">case</font> <a class="code" href="classNLGEORGES_1_1UType.html#s6s0">UnsignedInt</a>: +00764 <font class="keywordflow">case</font> <a class="code" href="classNLGEORGES_1_1UType.html#s6s1">SignedInt</a>: +00765 <font class="keywordflow">case</font> <a class="code" href="classNLGEORGES_1_1UType.html#s6s2">Double</a>: +00766 <font class="keywordflow">return</font> (ui == <a class="code" href="classNLGEORGES_1_1CType.html#s7s0">Edit</a>) || (ui == <a class="code" href="classNLGEORGES_1_1CType.html#s7s1">EditSpin</a>) || (ui == <a class="code" href="classNLGEORGES_1_1CType.html#s7s2">NonEditableCombo</a>); +00767 <font class="keywordflow">case</font> <a class="code" href="classNLGEORGES_1_1UType.html#s6s3">String</a>: +00768 <font class="keywordflow">return</font> (ui == <a class="code" href="classNLGEORGES_1_1CType.html#s7s0">Edit</a>) || (ui == <a class="code" href="classNLGEORGES_1_1CType.html#s7s2">NonEditableCombo</a>) || (ui == <a class="code" href="classNLGEORGES_1_1CType.html#s7s3">FileBrowser</a>) || (ui == <a class="code" href="classNLGEORGES_1_1CType.html#s7s4">BigEdit</a>); +00769 <font class="keywordflow">case</font> <a class="code" href="classNLGEORGES_1_1UType.html#s6s4">Color</a>: +00770 <font class="keywordflow">return</font> (ui == <a class="code" href="classNLGEORGES_1_1CType.html#s7s5">ColorEdit</a>); +00771 } +00772 <font class="keywordflow">return</font> <font class="keyword">false</font>; +00773 } +00774 +00775 <font class="comment">// ***************************************************************************</font> +00776 +<a name="l00777"></a><a class="code" href="classNLGEORGES_1_1CType.html#c0">00777</a> <font class="keywordtype">void</font> CType::warning (<font class="keywordtype">bool</font> exception, <font class="keyword">const</font> <font class="keywordtype">char</font> *formName, <font class="keyword">const</font> <font class="keywordtype">char</font> *formFilename, <font class="keyword">const</font> <font class="keywordtype">char</font> *function, <font class="keyword">const</font> <font class="keywordtype">char</font> *<a class="code" href="driver__opengl__extension__def_8h.html#a398">format</a>, ... )<font class="keyword"> const</font> +00778 <font class="keyword"></font>{ +00779 <font class="comment">// Make a buffer string</font> +00780 va_list args; +00781 va_start( args, <a class="code" href="driver__opengl__extension__def_8h.html#a398">format</a> ); +00782 <font class="keywordtype">char</font> buffer[1024]; +00783 sint ret = vsnprintf( buffer, 1024, <a class="code" href="driver__opengl__extension__def_8h.html#a398">format</a>, args ); +00784 va_end( args ); +00785 +00786 <font class="comment">// Set the warning</font> +00787 <a class="code" href="namespaceNLGEORGES.html#a0">NLGEORGES::warning</a> (exception, <font class="stringliteral">"(CType::%s) In form (%s) in node (%s) : %s"</font>, function, formFilename, formName, buffer); +00788 } +00789 +00790 <font class="comment">// ***************************************************************************</font> +00791 +<a name="l00792"></a><a class="code" href="classNLGEORGES_1_1CType.html#c1">00792</a> <font class="keywordtype">void</font> CType::warning2 (<font class="keywordtype">bool</font> exception, <font class="keyword">const</font> <font class="keywordtype">char</font> *function, <font class="keyword">const</font> <font class="keywordtype">char</font> *<a class="code" href="driver__opengl__extension__def_8h.html#a398">format</a>, ... )<font class="keyword"> const</font> +00793 <font class="keyword"></font>{ +00794 <font class="comment">// Make a buffer string</font> +00795 va_list args; +00796 va_start( args, <a class="code" href="driver__opengl__extension__def_8h.html#a398">format</a> ); +00797 <font class="keywordtype">char</font> buffer[1024]; +00798 sint ret = vsnprintf( buffer, 1024, <a class="code" href="driver__opengl__extension__def_8h.html#a398">format</a>, args ); +00799 va_end( args ); +00800 +00801 <font class="comment">// Set the warning</font> +00802 <a class="code" href="namespaceNLGEORGES.html#a0">NLGEORGES::warning</a> (exception, <font class="stringliteral">"(CType::%s) : %s"</font>, function, buffer); +00803 } +00804 +00805 <font class="comment">// ***************************************************************************</font> +00806 +<a name="l00807"></a><a class="code" href="classNLGEORGES_1_1CType.html#a4">00807</a> UType::TType CType::getType ()<font class="keyword"> const</font> +00808 <font class="keyword"></font>{ +00809 <font class="keywordflow">return</font> <a class="code" href="classNLGEORGES_1_1CType.html#m1">Type</a>; +00810 } +00811 +00812 <font class="comment">// ***************************************************************************</font> +00813 +<a name="l00814"></a><a class="code" href="classNLGEORGES_1_1CType.html#a5">00814</a> <font class="keyword">const</font> string &CType::getDefault ()<font class="keyword"> const</font> +00815 <font class="keyword"></font>{ +00816 <font class="keywordflow">return</font> <a class="code" href="classNLGEORGES_1_1CType.html#m3">Default</a>; +00817 } +00818 +00819 <font class="comment">// ***************************************************************************</font> +00820 +<a name="l00821"></a><a class="code" href="classNLGEORGES_1_1CType.html#a6">00821</a> <font class="keyword">const</font> string &CType::getMin ()<font class="keyword"> const</font> +00822 <font class="keyword"></font>{ +00823 <font class="keywordflow">return</font> <a class="code" href="classNLGEORGES_1_1CType.html#m4">Min</a>; +00824 } +00825 +00826 <font class="comment">// ***************************************************************************</font> +00827 +<a name="l00828"></a><a class="code" href="classNLGEORGES_1_1CType.html#a7">00828</a> <font class="keyword">const</font> string &CType::getMax ()<font class="keyword"> const</font> +00829 <font class="keyword"></font>{ +00830 <font class="keywordflow">return</font> <a class="code" href="classNLGEORGES_1_1CType.html#m5">Max</a>; +00831 } +00832 +00833 <font class="comment">// ***************************************************************************</font> +00834 +<a name="l00835"></a><a class="code" href="classNLGEORGES_1_1CType.html#a8">00835</a> <font class="keyword">const</font> string &CType::getIncrement ()<font class="keyword"> const</font> +00836 <font class="keyword"></font>{ +00837 <font class="keywordflow">return</font> <a class="code" href="classNLGEORGES_1_1CType.html#m6">Increment</a>; +00838 } +00839 +00840 <font class="comment">// ***************************************************************************</font> +00841 +<a name="l00842"></a><a class="code" href="classNLGEORGES_1_1CType.html#a9">00842</a> uint CType::getNumDefinition ()<font class="keyword"> const</font> +00843 <font class="keyword"></font>{ +00844 <font class="keywordflow">return</font> <a class="code" href="classNLGEORGES_1_1CType.html#m7">Definitions</a>.size (); +00845 } +00846 +00847 <font class="comment">// ***************************************************************************</font> +00848 +<a name="l00849"></a><a class="code" href="classNLGEORGES_1_1CType.html#a10">00849</a> <font class="keywordtype">bool</font> CType::getDefinition (uint <a class="code" href="driver__opengl__extension__def_8h.html#a358">index</a>, std::string &label, std::string &<a class="code" href="driver__opengl__extension__def_8h.html#a415">value</a>)<font class="keyword"> const</font> +00850 <font class="keyword"></font>{ +00851 <font class="keywordflow">if</font> (<a class="code" href="driver__opengl__extension__def_8h.html#a358">index</a> < <a class="code" href="classNLGEORGES_1_1CType.html#m7">Definitions</a>.size ()) +00852 { +00853 label = <a class="code" href="classNLGEORGES_1_1CType.html#m7">Definitions</a>[<a class="code" href="driver__opengl__extension__def_8h.html#a358">index</a>].Label; +00854 <a class="code" href="driver__opengl__extension__def_8h.html#a415">value</a> = <a class="code" href="classNLGEORGES_1_1CType.html#m7">Definitions</a>[<a class="code" href="driver__opengl__extension__def_8h.html#a358">index</a>].Value; +00855 <font class="keywordflow">return</font> <font class="keyword">true</font>; +00856 } +00857 <a class="code" href="classNLGEORGES_1_1CType.html#c1">warning2</a> (<font class="keyword">false</font>, <font class="stringliteral">"getDefinition"</font>, <font class="stringliteral">"Index out of bounds (%d >= %d)"</font>, <a class="code" href="driver__opengl__extension__def_8h.html#a358">index</a>, <a class="code" href="classNLGEORGES_1_1CType.html#m7">Definitions</a>.size ()); +00858 <font class="keywordflow">return</font> <font class="keyword">false</font>; +00859 } +00860 +00861 <font class="comment">// ***************************************************************************</font> +00862 +<a name="l00863"></a><a class="code" href="classNLGEORGES_1_1CType.html#a11">00863</a> <font class="keyword">const</font> string &CType::getComment ()<font class="keyword"> const</font> +00864 <font class="keyword"></font>{ +00865 <font class="keywordflow">return</font> <a class="code" href="classNLGEORGES_1_1CType.html#m0">Header</a>.Comments; +00866 } +00867 +00868 <font class="comment">// ***************************************************************************</font> +00869 +00870 } <font class="comment">// NLGEORGES</font> +</pre></div> + +<!-- footer --> +<BR><FONT Size=+5> </FONT> +</TD> +<TD WIDTH=15><IMG SRC=http://www.nevrax.org/inc/img/pixel.gif WIDTH=15 HEIGHT=15 BORDER=0 ALT=""></TD> +</TR> +</TABLE> +</BODY> +</HTML> |