aboutsummaryrefslogtreecommitdiff
path: root/docs/doxygen/nel/type_8cpp-source.html
diff options
context:
space:
mode:
authorneodarz <neodarz@neodarz.net>2018-08-11 20:21:34 +0200
committerneodarz <neodarz@neodarz.net>2018-08-11 20:21:34 +0200
commit0ea5fc66924303d1bf73ba283a383e2aadee02f2 (patch)
tree2568e71a7ccc44ec23b8bb3f0ff97fb6bf2ed709 /docs/doxygen/nel/type_8cpp-source.html
downloadnevrax-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.html939
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>&nbsp;<A CLASS=uplinks HREF=http://www.nevrax.org><b>Home</B></FONT></A>&nbsp;&nbsp;&nbsp;</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>&nbsp;<A CLASS=uplinks HREF=http://www.nevrax.com><b>nevrax.com</B></FONT></A>&nbsp;&nbsp;&nbsp;</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>
+&nbsp;
+
+<!-- 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>&nbsp;</td>
+</tr></table>
+<!-- Generated by Doxygen 1.2.14 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="namespaces.html">Namespace List</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="namespacemembers.html">Namespace Members</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; <a class="qindex" href="pages.html">Related Pages</a> &nbsp; <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> &nbsp; </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&lt;<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-&gt;name == NULL) || (strcmp ((<font class="keyword">const</font> <font class="keywordtype">char</font>*)root-&gt;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-&gt;content, root-&gt;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>&lt;<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-&gt;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-&gt;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>&lt;<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 &lt; 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-&gt;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-&gt;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> &amp;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>-&gt;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&gt;=0; i--)
+00351 {
+00352 <font class="keywordflow">if</font> ((filename[i]&lt;<font class="charliteral">'0'</font>) || (filename[i]&gt;<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 &gt;= 0) &amp;&amp; (i&lt;((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&amp;)<a class="code" href="classNLGEORGES_1_1CMyEvalNumExpr.html#m0">Form</a>-&gt;getRootNode ()).getNodeByName (<a class="code" href="driver__opengl__extension__def_8h.html#a415">value</a>, &amp;parentDfn, parentIndex, &amp;nodeDfn, &amp;nodeType, &amp;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&lt;const CFormElmAtom*&gt; (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-&gt;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&amp;)<a class="code" href="classNLGEORGES_1_1CMyEvalNumExpr.html#m0">Form</a>-&gt;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 &amp;token, uint &amp;<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>) &amp;&amp; (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>) &amp;&amp; (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>&lt;512)
+00500 {
+00501 uint i;
+00502 <font class="keywordflow">for</font> (i=0; i&lt;<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 &amp;result, <font class="keyword">const</font> CForm *form, <font class="keyword">const</font> CFormElmAtom *node, <font class="keyword">const</font> CFormDfn &amp;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 &amp;&amp; !node-&gt;Value.empty())
+00515 {
+00516 <font class="keywordflow">if</font> (where)
+00517 *where = (node-&gt;Form == form) ? CFormElm::ValueForm : CFormElm::ValueParentForm;
+00518 result = node-&gt;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 &amp;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&lt;predefCount; i++)
+00545 {
+00546 <font class="comment">// Ref on the value</font>
+00547 <font class="keyword">const</font> CType::CDefinition &amp;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&lt;predefCount; i++)
+00566 {
+00567 <font class="comment">// Ref on the value</font>
+00568 <font class="keyword">const</font> CType::CDefinition &amp;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>, &amp;<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-&gt;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> &lt; 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-&gt;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>) &gt;= 3 ) &amp;&amp; ( result[<a class="code" href="driver__opengl__extension__def_8h.html#a378">offset</a>] == <font class="charliteral">'$'</font> ) &amp;&amp; ( result[<a class="code" href="driver__opengl__extension__def_8h.html#a378">offset</a>+1] == <font class="charliteral">'z'</font> )
+00626 &amp;&amp; ( result[<a class="code" href="driver__opengl__extension__def_8h.html#a378">offset</a>+2] &lt;= <font class="charliteral">'9'</font> ) &amp;&amp; ( result[<a class="code" href="driver__opengl__extension__def_8h.html#a378">offset</a>+2] &gt;= <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>, &amp;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-&gt;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-&gt;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&amp;)form-&gt;getRootNode ()).getNodeByName (valueName.c_str (), &amp;parentDfn, parentIndex, &amp;nodeDfn, &amp;nodeType, &amp;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&lt;const CFormElmAtom*&gt; (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-&gt;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-&gt;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&lt;predefCount; i++)
+00727 {
+00728 <font class="comment">// Ref on the value</font>
+00729 <font class="keyword">const</font> CType::CDefinition &amp;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-&gt;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 &amp;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 &amp;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 &amp;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 &amp;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 &amp;label, std::string &amp;<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> &lt; <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 &gt;= %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 &amp;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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </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>