<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> <title>Wt examples: ExampleSourceViewer Class Reference</title> <link href="tabs.css" rel="stylesheet" type="text/css"/> <link href="doxygen.css" rel="stylesheet" type="text/css" /> </head> <body> <div id="top"><!-- do not remove this div! --> <div id="titlearea"> <table cellspacing="0" cellpadding="0"> <tbody> <tr style="height: 56px;"> <td style="padding-left: 0.5em;"> <div id="projectname">Wt examples  <span id="projectnumber">3.2.3</span> </div> </td> </tr> </tbody> </table> </div> <!-- Generated by Doxygen 1.7.5.1 --> <div id="navrow1" class="tabs"> <ul class="tablist"> <li><a href="index.html"><span>Main Page</span></a></li> <li><a href="modules.html"><span>Modules</span></a></li> <li><a href="namespaces.html"><span>Namespaces</span></a></li> <li class="current"><a href="annotated.html"><span>Classes</span></a></li> <li><a href="files.html"><span>Files</span></a></li> </ul> </div> <div id="navrow2" class="tabs2"> <ul class="tablist"> <li><a href="annotated.html"><span>Class List</span></a></li> <li><a href="inherits.html"><span>Class Hierarchy</span></a></li> <li><a href="functions.html"><span>Class Members</span></a></li> </ul> </div> </div> <div class="header"> <div class="summary"> <a href="#pub-methods">Public Member Functions</a> | <a href="#pri-methods">Private Member Functions</a> | <a href="#pri-attribs">Private Attributes</a> </div> <div class="headertitle"> <div class="title">ExampleSourceViewer Class Reference</div> </div> </div> <div class="contents"> <!-- doxytag: class="ExampleSourceViewer" --><!-- doxytag: inherits="Wt::WContainerWidget" --> <p>A simple widget to visualise a set of example source files. <a href="classExampleSourceViewer.html#details">More...</a></p> <p><code>#include <<a class="el" href="ExampleSourceViewer_8h_source.html">ExampleSourceViewer.h</a>></code></p> <div class="dynheader"> Inheritance diagram for ExampleSourceViewer:</div> <div class="dyncontent"> <div class="center"><img src="classExampleSourceViewer__inherit__graph.png" border="0" usemap="#ExampleSourceViewer_inherit__map" alt="Inheritance graph"/></div> <map name="ExampleSourceViewer_inherit__map" id="ExampleSourceViewer_inherit__map"> <area shape="rect" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WContainerWidget.html" title="Wt::WContainerWidget" alt="" coords="5,304,160,331"/><area shape="rect" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WInteractWidget.html" title="Wt::WInteractWidget" alt="" coords="11,229,155,256"/><area shape="rect" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WWebWidget.html" title="Wt::WWebWidget" alt="" coords="19,155,147,181"/><area shape="rect" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WWidget.html" title="Wt::WWidget" alt="" coords="33,80,132,107"/><area shape="rect" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WObject.html" title="Wt::WObject" alt="" coords="35,5,131,32"/></map> <center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div> <p><a href="classExampleSourceViewer-members.html">List of all members.</a></p> <table class="memberdecls"> <tr><td colspan="2"><h2><a name="pub-methods"></a> Public Member Functions</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classExampleSourceViewer.html#a3ab5978077589e8dbf6d8cfdb6da36d4">ExampleSourceViewer</a> (const std::string &deployPath, const std::string &examplesRoot, const std::string &examplesType)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Constructor. <a href="#a3ab5978077589e8dbf6d8cfdb6da36d4"></a><br/></td></tr> <tr><td colspan="2"><h2><a name="pri-methods"></a> Private Member Functions</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classExampleSourceViewer.html#ae10b86e9ea10445cb5f4cac95e168c82">cppTraverseDir</a> (<a class="elRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WStandardItem.html">Wt::WStandardItem</a> *<a class="elRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WWidget.html#a3461e31818c4d2f516641bdaf508312a">parent</a>, const boost::filesystem::path &path)</td></tr> <tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classExampleSourceViewer.html#abdf6cba77785ba83e5cb04b78d7f9532">javaTraverseDir</a> (<a class="elRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WStandardItem.html">Wt::WStandardItem</a> *<a class="elRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WWidget.html#a3461e31818c4d2f516641bdaf508312a">parent</a>, const boost::filesystem::path &path)</td></tr> <tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classExampleSourceViewer.html#a23473a614f1d14bfc3a1bf2c9e688712">javaTraversePackages</a> (<a class="elRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WStandardItem.html">Wt::WStandardItem</a> *<a class="elRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WWidget.html#a3461e31818c4d2f516641bdaf508312a">parent</a>, const boost::filesystem::path &srcPath, const std::string packageName)</td></tr> <tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classExampleSourceViewer.html#a7f10a65267869bb570fec25bc19348ac">showFile</a> ()</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Displayed the currently selected file. <a href="#a7f10a65267869bb570fec25bc19348ac"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classExampleSourceViewer.html#a8aeb783e81242455f97f83d259919a20">handlePathChange</a> ()</td></tr> <tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classExampleSourceViewer.html#a04710b0af789b12346a22a2f7ba2bccf">setExample</a> (const std::string &exampleDir, const std::string &example)</td></tr> <tr><td colspan="2"><h2><a name="pri-attribs"></a> Private Attributes</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="elRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WTreeView.html">Wt::WTreeView</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classExampleSourceViewer.html#a548859a1b20480151f542ebbcc82e5d0">exampleView_</a></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classSourceView.html">SourceView</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classExampleSourceViewer.html#aefc329bfd3d8f7ae11c3f452a5744ab9">sourceView_</a></td></tr> <tr><td class="memItemLeft" align="right" valign="top">std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="classExampleSourceViewer.html#a49e72c4bc9714e8fdf9fad810f0d79b1">deployPath_</a></td></tr> <tr><td class="memItemLeft" align="right" valign="top">std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="classExampleSourceViewer.html#a7e33f7d49055157d7d26d036f91d2891">examplesRoot_</a></td></tr> <tr><td class="memItemLeft" align="right" valign="top">std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="classExampleSourceViewer.html#a7aaeb2ded7907e864f3ea804f19307cd">examplesType_</a></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="elRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WStandardItemModel.html">Wt::WStandardItemModel</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classExampleSourceViewer.html#a09d648f3a6b7aa3ebeeac775f8a197cc">model_</a></td></tr> </table> <hr/><a name="details" id="details"></a><h2>Detailed Description</h2> <div class="textblock"><p>A simple widget to visualise a set of example source files. </p> <p>Definition at line <a class="el" href="ExampleSourceViewer_8h_source.html#l00021">21</a> of file <a class="el" href="ExampleSourceViewer_8h_source.html">ExampleSourceViewer.h</a>.</p> </div><hr/><h2>Constructor & Destructor Documentation</h2> <a class="anchor" id="a3ab5978077589e8dbf6d8cfdb6da36d4"></a><!-- doxytag: member="ExampleSourceViewer::ExampleSourceViewer" ref="a3ab5978077589e8dbf6d8cfdb6da36d4" args="(const std::string &deployPath, const std::string &examplesRoot, const std::string &examplesType)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">ExampleSourceViewer::ExampleSourceViewer </td> <td>(</td> <td class="paramtype">const std::string & </td> <td class="paramname"><em>deployPath</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const std::string & </td> <td class="paramname"><em>examplesRoot</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const std::string & </td> <td class="paramname"><em>examplesType</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p>Constructor. </p> <p>Definition at line <a class="el" href="ExampleSourceViewer_8C_source.html#l00071">71</a> of file <a class="el" href="ExampleSourceViewer_8C_source.html">ExampleSourceViewer.C</a>.</p> <div class="fragment"><pre class="fragment"> : <a class="code" href="classExampleSourceViewer.html#a49e72c4bc9714e8fdf9fad810f0d79b1">deployPath_</a>(deployPath), <a class="code" href="classExampleSourceViewer.html#a7e33f7d49055157d7d26d036f91d2891">examplesRoot_</a>(examplesRoot), <a class="code" href="classExampleSourceViewer.html#a7aaeb2ded7907e864f3ea804f19307cd">examplesType_</a>(examplesType) { wApp->internalPathChanged().connect (<span class="keyword">this</span>, &<a class="code" href="classExampleSourceViewer.html#a8aeb783e81242455f97f83d259919a20">ExampleSourceViewer::handlePathChange</a>); <a class="code" href="classExampleSourceViewer.html#a8aeb783e81242455f97f83d259919a20">handlePathChange</a>(); } </pre></div> </div> </div> <hr/><h2>Member Function Documentation</h2> <a class="anchor" id="ae10b86e9ea10445cb5f4cac95e168c82"></a><!-- doxytag: member="ExampleSourceViewer::cppTraverseDir" ref="ae10b86e9ea10445cb5f4cac95e168c82" args="(Wt::WStandardItem *parent, const boost::filesystem::path &path)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void ExampleSourceViewer::cppTraverseDir </td> <td>(</td> <td class="paramtype"><a class="elRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WStandardItem.html">Wt::WStandardItem</a> * </td> <td class="paramname"><em>parent</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const boost::filesystem::path & </td> <td class="paramname"><em>path</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td><code> [private]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Definition at line <a class="el" href="ExampleSourceViewer_8C_source.html#l00194">194</a> of file <a class="el" href="ExampleSourceViewer_8C_source.html">ExampleSourceViewer.C</a>.</p> <div class="fragment"><pre class="fragment">{ <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *supportedFiles[] = { <span class="stringliteral">".C"</span>, <span class="stringliteral">".cpp"</span>, <span class="stringliteral">".h"</span>, <span class="stringliteral">".css"</span>, <span class="stringliteral">".xml"</span>, <span class="stringliteral">".png"</span>, <span class="stringliteral">".gif"</span>, <span class="stringliteral">".csv"</span>, <span class="stringliteral">".ico"</span>, 0 }; <a class="code" href="classFileItem.html" title="WStandardItem which stores a file.">FileItem</a>* dir = <span class="keyword">new</span> <a class="code" href="classFileItem.html" title="WStandardItem which stores a file.">FileItem</a>(<span class="stringliteral">"/icons/yellow-folder-open.png"</span>, <a class="code" href="ExampleSourceViewer_8C.html#a90d62aee81b34c117b8f494a54bee4d4">filename</a>(path), <span class="stringliteral">""</span>); parent-><a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WStandardItem.html#abd54c7797f40c036b38300ba9cdf69b5">appendRow</a>(dir); parent = dir; <span class="keywordflow">try</span> { std::set<fs::path> paths; fs::directory_iterator end_itr; <span class="keywordflow">for</span> (fs::directory_iterator i(path); i != end_itr; ++i) paths.insert(*i); std::vector<FileItem*> classes, files; std::vector<fs::path> dirs; <span class="keywordflow">while</span> (!paths.empty()) { fs::path p = *paths.begin(); paths.erase(p); <span class="comment">// skip symbolic links and other files</span> <span class="keywordflow">if</span> (fs::is_symlink(p)) <span class="keywordflow">continue</span>; <span class="comment">// skip files with an extension we do not want to handle</span> <span class="keywordflow">if</span> (fs::is_regular(p)) { std::string ext = fs::extension(p); <span class="keywordtype">bool</span> supported = <span class="keyword">false</span>; <span class="keywordflow">for</span> (<span class="keyword">const</span> <span class="keywordtype">char</span> **s = supportedFiles; *s != 0; ++s) <span class="keywordflow">if</span> (*s == ext) { supported = <span class="keyword">true</span>; <span class="keywordflow">break</span>; } <span class="keywordflow">if</span> (!supported) <span class="keywordflow">continue</span>; } <span class="comment">// see if we have one file of a class (.C, .h)</span> fs::path companion = <a class="code" href="ExampleSourceViewer_8C.html#a0c61a4a8c171f6b23a9fc3872c2e9e5d">getCompanion</a>(p); <span class="keywordflow">if</span> (!companion.empty()) { std::set<fs::path>::iterator it_companion = paths.find(companion); <span class="keywordflow">if</span> (it_companion != paths.end()) { std::string className = <a class="code" href="ExampleSourceViewer_8C.html#a2fb90126657b786f14062b06f995583c">stem</a>(p); <a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WWebWidget.html#a6cd1b8a84c7aaf72e5d44cb47ae90e9c">escapeText</a>(className); std::string label = <span class="stringliteral">"<i>class</i> "</span> + className; <a class="code" href="classFileItem.html" title="WStandardItem which stores a file.">FileItem</a> *classItem = <span class="keyword">new</span> <a class="code" href="classFileItem.html" title="WStandardItem which stores a file.">FileItem</a>(<span class="stringliteral">"/icons/cppclass.png"</span>, label, std::string()); classItem-><a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WStandardItem.html#aedf80dfed644a525e5d726a4b6e74b94">setFlags</a>(classItem-><a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WStandardItem.html#a81bc3d55f8117f5c80edcb3c9c6b871a">flags</a>() | <a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/group__modelview.html#gga1d77c4de293aebfacbdde124de06b8b0a8ce71c5a5f185d9097b4bd596c71315e">ItemIsXHTMLText</a>); <a class="code" href="classFileItem.html" title="WStandardItem which stores a file.">FileItem</a> *header = <span class="keyword">new</span> <a class="code" href="classFileItem.html" title="WStandardItem which stores a file.">FileItem</a>(<span class="stringliteral">"/icons/document.png"</span>, <a class="code" href="ExampleSourceViewer_8C.html#a90d62aee81b34c117b8f494a54bee4d4">filename</a>(p), p.string()); <a class="code" href="classFileItem.html" title="WStandardItem which stores a file.">FileItem</a> *cpp = <span class="keyword">new</span> <a class="code" href="classFileItem.html" title="WStandardItem which stores a file.">FileItem</a>(<span class="stringliteral">"/icons/document.png"</span>, <a class="code" href="ExampleSourceViewer_8C.html#a90d62aee81b34c117b8f494a54bee4d4">filename</a>(*it_companion), (*it_companion).string()); classItem-><a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WStandardItem.html#abd54c7797f40c036b38300ba9cdf69b5">appendRow</a>(header); classItem-><a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WStandardItem.html#abd54c7797f40c036b38300ba9cdf69b5">appendRow</a>(cpp); classes.push_back(classItem); paths.erase(it_companion); } <span class="keywordflow">else</span> { <a class="code" href="classFileItem.html" title="WStandardItem which stores a file.">FileItem</a> *file = <span class="keyword">new</span> <a class="code" href="classFileItem.html" title="WStandardItem which stores a file.">FileItem</a>(<span class="stringliteral">"/icons/document.png"</span>, <a class="code" href="ExampleSourceViewer_8C.html#a90d62aee81b34c117b8f494a54bee4d4">filename</a>(p), p.string()); files.push_back(file); } } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (fs::is_directory(p)) { dirs.push_back(p); } <span class="keywordflow">else</span> { <a class="code" href="classFileItem.html" title="WStandardItem which stores a file.">FileItem</a> *file = <span class="keyword">new</span> <a class="code" href="classFileItem.html" title="WStandardItem which stores a file.">FileItem</a>(<span class="stringliteral">"/icons/document.png"</span>, <a class="code" href="ExampleSourceViewer_8C.html#a90d62aee81b34c117b8f494a54bee4d4">filename</a>(p), p.string()); files.push_back(file); } } std::sort(dirs.begin(), dirs.end(), <a class="code" href="ExampleSourceViewer_8C.html#acb92ccbf2405b113c0b8b66cec63aaae">comparePaths</a>); <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> i = 0; i < classes.size(); i++) parent-><a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WStandardItem.html#abd54c7797f40c036b38300ba9cdf69b5">appendRow</a>(classes[i]); <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> i = 0; i < files.size(); i++) parent-><a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WStandardItem.html#abd54c7797f40c036b38300ba9cdf69b5">appendRow</a>(files[i]); <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> i = 0; i < dirs.size(); i++) <a class="code" href="classExampleSourceViewer.html#ae10b86e9ea10445cb5f4cac95e168c82">cppTraverseDir</a>(parent, dirs[i]); } <span class="keywordflow">catch</span> (fs::filesystem_error& e) { std::cerr << e.what() << std::endl; } } </pre></div> </div> </div> <a class="anchor" id="a8aeb783e81242455f97f83d259919a20"></a><!-- doxytag: member="ExampleSourceViewer::handlePathChange" ref="a8aeb783e81242455f97f83d259919a20" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void ExampleSourceViewer::handlePathChange </td> <td>(</td> <td class="paramname"></td><td>)</td> <td><code> [private]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Definition at line <a class="el" href="ExampleSourceViewer_8C_source.html#l00084">84</a> of file <a class="el" href="ExampleSourceViewer_8C_source.html">ExampleSourceViewer.C</a>.</p> <div class="fragment"><pre class="fragment">{ <a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WApplication.html">WApplication</a> *app = wApp; <span class="keywordflow">if</span> (app-><a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WApplication.html#aed54bd83339bc80b3cffba9067ab1e39">internalPathMatches</a>(<a class="code" href="classExampleSourceViewer.html#a49e72c4bc9714e8fdf9fad810f0d79b1">deployPath_</a>)) { std::string example = app-><a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WApplication.html#a95e6b5e4dc9084d45e166264b10b3c46">internalPathNextPart</a>(<a class="code" href="classExampleSourceViewer.html#a49e72c4bc9714e8fdf9fad810f0d79b1">deployPath_</a>); <span class="keywordflow">if</span> (example.find(<span class="stringliteral">".."</span>) != std::string::npos || example.find(<span class="charliteral">'/'</span>) != std::string::npos || example.find(<span class="charliteral">'\\'</span>) != std::string::npos) { app-><a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WApplication.html#abd51dc659a0c68f51ed99eca1341ccb6">setInternalPathValid</a>(<span class="keyword">false</span>); <a class="code" href="classExampleSourceViewer.html#a04710b0af789b12346a22a2f7ba2bccf">setExample</a>(<span class="stringliteral">"INVALID_DIR"</span>, <span class="stringliteral">"INVALID"</span>); } <span class="keywordflow">else</span> <a class="code" href="classExampleSourceViewer.html#a04710b0af789b12346a22a2f7ba2bccf">setExample</a>(<a class="code" href="classExampleSourceViewer.html#a7e33f7d49055157d7d26d036f91d2891">examplesRoot_</a> + example, example); } } </pre></div> </div> </div> <a class="anchor" id="abdf6cba77785ba83e5cb04b78d7f9532"></a><!-- doxytag: member="ExampleSourceViewer::javaTraverseDir" ref="abdf6cba77785ba83e5cb04b78d7f9532" args="(Wt::WStandardItem *parent, const boost::filesystem::path &path)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void ExampleSourceViewer::javaTraverseDir </td> <td>(</td> <td class="paramtype"><a class="elRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WStandardItem.html">Wt::WStandardItem</a> * </td> <td class="paramname"><em>parent</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const boost::filesystem::path & </td> <td class="paramname"><em>path</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td><code> [private]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Definition at line <a class="el" href="ExampleSourceViewer_8C_source.html#l00324">324</a> of file <a class="el" href="ExampleSourceViewer_8C_source.html">ExampleSourceViewer.C</a>.</p> <div class="fragment"><pre class="fragment">{ <a class="code" href="classFileItem.html" title="WStandardItem which stores a file.">FileItem</a>* dir = <span class="keyword">new</span> <a class="code" href="classFileItem.html" title="WStandardItem which stores a file.">FileItem</a>(<span class="stringliteral">"/icons/yellow-folder-open.png"</span>, <a class="code" href="ExampleSourceViewer_8C.html#a90d62aee81b34c117b8f494a54bee4d4">filename</a>(path), <span class="stringliteral">""</span>); parent-><a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WStandardItem.html#abd54c7797f40c036b38300ba9cdf69b5">appendRow</a>(dir); parent = dir; std::vector<fs::path> files, dirs; fs::directory_iterator end_itr; <span class="keywordflow">for</span> (fs::directory_iterator i(path); i != end_itr; ++i) { fs::path p = *i; <span class="keywordflow">if</span> (fs::is_directory(p)) { <span class="keywordflow">if</span> (<a class="code" href="ExampleSourceViewer_8C.html#a90d62aee81b34c117b8f494a54bee4d4">filename</a>(p) == <span class="stringliteral">"src"</span>) { <a class="code" href="classFileItem.html" title="WStandardItem which stores a file.">FileItem</a>* dir = <span class="keyword">new</span> <a class="code" href="classFileItem.html" title="WStandardItem which stores a file.">FileItem</a>(<span class="stringliteral">"/icons/package-folder-open.png"</span>, <a class="code" href="ExampleSourceViewer_8C.html#a90d62aee81b34c117b8f494a54bee4d4">filename</a>(p), <span class="stringliteral">""</span>); parent-><a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WStandardItem.html#abd54c7797f40c036b38300ba9cdf69b5">appendRow</a>(dir); <a class="code" href="classExampleSourceViewer.html#a23473a614f1d14bfc3a1bf2c9e688712">javaTraversePackages</a>(dir, p, <span class="stringliteral">""</span>); } <span class="keywordflow">else</span> dirs.push_back(p); } <span class="keywordflow">else</span> { files.push_back(p); } } std::sort(dirs.begin(), dirs.end(), <a class="code" href="ExampleSourceViewer_8C.html#acb92ccbf2405b113c0b8b66cec63aaae">comparePaths</a>); std::sort(files.begin(), files.end(), <a class="code" href="ExampleSourceViewer_8C.html#acb92ccbf2405b113c0b8b66cec63aaae">comparePaths</a>); <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> i = 0; i < dirs.size(); i++) <a class="code" href="classExampleSourceViewer.html#abdf6cba77785ba83e5cb04b78d7f9532">javaTraverseDir</a>(parent, dirs[i]); <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> i = 0; i < files.size(); i++) { <a class="code" href="classFileItem.html" title="WStandardItem which stores a file.">FileItem</a> *file = <span class="keyword">new</span> <a class="code" href="classFileItem.html" title="WStandardItem which stores a file.">FileItem</a>(<span class="stringliteral">"/icons/document.png"</span>, <a class="code" href="ExampleSourceViewer_8C.html#a90d62aee81b34c117b8f494a54bee4d4">filename</a>(files[i]), files[i].<span class="keywordtype">string</span>()); parent-><a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WStandardItem.html#abd54c7797f40c036b38300ba9cdf69b5">appendRow</a>(file); } } </pre></div> </div> </div> <a class="anchor" id="a23473a614f1d14bfc3a1bf2c9e688712"></a><!-- doxytag: member="ExampleSourceViewer::javaTraversePackages" ref="a23473a614f1d14bfc3a1bf2c9e688712" args="(Wt::WStandardItem *parent, const boost::filesystem::path &srcPath, const std::string packageName)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void ExampleSourceViewer::javaTraversePackages </td> <td>(</td> <td class="paramtype"><a class="elRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WStandardItem.html">Wt::WStandardItem</a> * </td> <td class="paramname"><em>parent</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const boost::filesystem::path & </td> <td class="paramname"><em>srcPath</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const std::string </td> <td class="paramname"><em>packageName</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td><code> [private]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Definition at line <a class="el" href="ExampleSourceViewer_8C_source.html#l00290">290</a> of file <a class="el" href="ExampleSourceViewer_8C_source.html">ExampleSourceViewer.C</a>.</p> <div class="fragment"><pre class="fragment">{ fs::directory_iterator end_itr; <a class="code" href="classFileItem.html" title="WStandardItem which stores a file.">FileItem</a> *packageItem = 0; <span class="keywordflow">for</span> (fs::directory_iterator i(srcPath); i != end_itr; ++i) { fs::path p = *i; <span class="keywordflow">if</span> (fs::is_regular(p)) { <span class="keywordflow">if</span> (!packageItem) { packageItem = <span class="keyword">new</span> <a class="code" href="classFileItem.html" title="WStandardItem which stores a file.">FileItem</a>(<span class="stringliteral">"/icons/package.png"</span>, packageName, <span class="stringliteral">""</span>); parent-><a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WStandardItem.html#abd54c7797f40c036b38300ba9cdf69b5">appendRow</a>(packageItem); } <a class="code" href="classFileItem.html" title="WStandardItem which stores a file.">FileItem</a> *file = <span class="keyword">new</span> <a class="code" href="classFileItem.html" title="WStandardItem which stores a file.">FileItem</a>(<span class="stringliteral">"/icons/javaclass.png"</span>, <a class="code" href="ExampleSourceViewer_8C.html#a90d62aee81b34c117b8f494a54bee4d4">filename</a>(p), p.string()); packageItem-><a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WStandardItem.html#abd54c7797f40c036b38300ba9cdf69b5">appendRow</a>(file); } } <span class="keywordflow">for</span> (fs::directory_iterator i(srcPath); i != end_itr; ++i) { fs::path p = *i; <span class="keywordflow">if</span> (fs::is_directory(p)) { std::string pn = packageName; <span class="keywordflow">if</span> (!pn.empty()) pn += <span class="stringliteral">"."</span>; pn += <a class="code" href="ExampleSourceViewer_8C.html#a90d62aee81b34c117b8f494a54bee4d4">filename</a>(p); <a class="code" href="classExampleSourceViewer.html#a23473a614f1d14bfc3a1bf2c9e688712">javaTraversePackages</a>(parent, p, pn); } } } </pre></div> </div> </div> <a class="anchor" id="a04710b0af789b12346a22a2f7ba2bccf"></a><!-- doxytag: member="ExampleSourceViewer::setExample" ref="a04710b0af789b12346a22a2f7ba2bccf" args="(const std::string &exampleDir, const std::string &example)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void ExampleSourceViewer::setExample </td> <td>(</td> <td class="paramtype">const std::string & </td> <td class="paramname"><em>exampleDir</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const std::string & </td> <td class="paramname"><em>example</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td><code> [private]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Definition at line <a class="el" href="ExampleSourceViewer_8C_source.html#l00101">101</a> of file <a class="el" href="ExampleSourceViewer_8C_source.html">ExampleSourceViewer.C</a>.</p> <div class="fragment"><pre class="fragment">{ <a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WContainerWidget.html#a608f748cbdda763f1a11556ddad9fbe1">clear</a>(); <span class="keywordtype">bool</span> exists = <span class="keyword">false</span>; <span class="keywordflow">try</span> { exists = fs::exists(exampleDir); } <span class="keywordflow">catch</span> (std::exception&) { } <span class="keywordflow">if</span> (!exists) { WApplication::instance()->setInternalPathValid(<span class="keyword">false</span>); <a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WContainerWidget.html#a2cfe66d9b62940f889e99538a9f478d2">addWidget</a>(<span class="keyword">new</span> <a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WText.html">WText</a>(<span class="stringliteral">"No such example: "</span> + exampleDir)); <span class="keywordflow">return</span>; } <a class="code" href="classExampleSourceViewer.html#a09d648f3a6b7aa3ebeeac775f8a197cc">model_</a> = <span class="keyword">new</span> <a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WStandardItemModel.html">WStandardItemModel</a>(0, 1, <span class="keyword">this</span>); <span class="keywordflow">if</span> (<a class="code" href="classExampleSourceViewer.html#a7aaeb2ded7907e864f3ea804f19307cd">examplesType_</a> == <span class="stringliteral">"CPP"</span>) { <a class="code" href="classExampleSourceViewer.html#ae10b86e9ea10445cb5f4cac95e168c82">cppTraverseDir</a>(<a class="code" href="classExampleSourceViewer.html#a09d648f3a6b7aa3ebeeac775f8a197cc">model_</a>-><a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WStandardItemModel.html#a5fdc79e8100020d98a77ad3543019477">invisibleRootItem</a>(), exampleDir); } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code" href="classExampleSourceViewer.html#a7aaeb2ded7907e864f3ea804f19307cd">examplesType_</a> == <span class="stringliteral">"JAVA"</span>) { <a class="code" href="classExampleSourceViewer.html#abdf6cba77785ba83e5cb04b78d7f9532">javaTraverseDir</a>(<a class="code" href="classExampleSourceViewer.html#a09d648f3a6b7aa3ebeeac775f8a197cc">model_</a>-><a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WStandardItemModel.html#a5fdc79e8100020d98a77ad3543019477">invisibleRootItem</a>(), exampleDir); } WApplication::instance()->setTitle(<a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WWidget.html#aa651f107ec7cf080faef6c435705fc44">tr</a>(<span class="stringliteral">"srcview.title."</span> + example)); <a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WText.html">WText</a> *title = <span class="keyword">new</span> <a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WText.html">WText</a>(<a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WWidget.html#aa651f107ec7cf080faef6c435705fc44">tr</a>(<span class="stringliteral">"srcview.title."</span> + <a class="code" href="classExampleSourceViewer.html#a7aaeb2ded7907e864f3ea804f19307cd">examplesType_</a> + <span class="stringliteral">"."</span> + example)); title-><a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WText.html#a3491e55f74027b49aaf8cd25369bc0e4">setInternalPathEncoding</a>(<span class="keyword">true</span>); <a class="code" href="classExampleSourceViewer.html#a548859a1b20480151f542ebbcc82e5d0">exampleView_</a> = <span class="keyword">new</span> <a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WTreeView.html">WTreeView</a>(); <a class="code" href="classExampleSourceViewer.html#a548859a1b20480151f542ebbcc82e5d0">exampleView_</a>-><a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WTreeView.html#a4d0967483ed31b26a16a5c7620cb5d7c">setHeaderHeight</a>(0); <a class="code" href="classExampleSourceViewer.html#a548859a1b20480151f542ebbcc82e5d0">exampleView_</a>-><a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WTreeView.html#a482314306c8404d7ed941fd986e32623">resize</a>(300, WLength::Auto); <a class="code" href="classExampleSourceViewer.html#a548859a1b20480151f542ebbcc82e5d0">exampleView_</a>-><a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WAbstractItemView.html#ae1c86a0f37f97f63aed3b00fd8ffad7c">setSortingEnabled</a>(<span class="keyword">false</span>); <a class="code" href="classExampleSourceViewer.html#a548859a1b20480151f542ebbcc82e5d0">exampleView_</a>-><a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WTreeView.html#a390300f766472476e6a0df5aefaa2ef0">setModel</a>(<a class="code" href="classExampleSourceViewer.html#a09d648f3a6b7aa3ebeeac775f8a197cc">model_</a>); <a class="code" href="classExampleSourceViewer.html#a548859a1b20480151f542ebbcc82e5d0">exampleView_</a>-><a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WTreeView.html#add40d3e05352ae094f6fe2b9c879c2c7">expandToDepth</a>(1); <a class="code" href="classExampleSourceViewer.html#a548859a1b20480151f542ebbcc82e5d0">exampleView_</a>-><a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WAbstractItemView.html#af6fcd9761e2f7a3b497d3563c849d320">setSelectionMode</a>(SingleSelection); <a class="code" href="classExampleSourceViewer.html#a548859a1b20480151f542ebbcc82e5d0">exampleView_</a>-><a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WTreeView.html#a48f74194ae6bd63c08a6ff76ecb3e39c">setAlternatingRowColors</a>(<span class="keyword">false</span>); <a class="code" href="classExampleSourceViewer.html#a548859a1b20480151f542ebbcc82e5d0">exampleView_</a>-><a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WAbstractItemView.html#ada37ffbe2d470dd227c8714645f150f0">selectionChanged</a>().<a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1Signal.html#a15d1150af031537b492674ee651bf4a3">connect</a> (<span class="keyword">this</span>, &<a class="code" href="classExampleSourceViewer.html#a7f10a65267869bb570fec25bc19348ac" title="Displayed the currently selected file.">ExampleSourceViewer::showFile</a>); <a class="code" href="classExampleSourceViewer.html#aefc329bfd3d8f7ae11c3f452a5744ab9">sourceView_</a> = <span class="keyword">new</span> <a class="code" href="classSourceView.html" title="View class for source code.">SourceView</a>(<a class="code" href="classFileItem.html#ae072fe0aa9a614bfc39a9f59cf987771">FileItem::FileNameRole</a>, <a class="code" href="classFileItem.html#ae1dbc221110c06627765b421c30df2ab">FileItem::ContentsRole</a>, <a class="code" href="classFileItem.html#aa8d601340669b5628a8bac8e35ccd936">FileItem::FilePathRole</a>); <a class="code" href="classExampleSourceViewer.html#aefc329bfd3d8f7ae11c3f452a5744ab9">sourceView_</a>-><a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WWebWidget.html#afd3a3b359681111460a93d13979d17dd">setStyleClass</a>(<span class="stringliteral">"source-view"</span>); <span class="comment">/*</span> <span class="comment"> * Expand path to first file, to show something in the source viewer</span> <span class="comment"> */</span> <a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WStandardItem.html">WStandardItem</a> *w = <a class="code" href="classExampleSourceViewer.html#a09d648f3a6b7aa3ebeeac775f8a197cc">model_</a>-><a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WStandardItemModel.html#a32d755ace793c2110b0fa5d650a0d577">item</a>(0); <span class="keywordflow">do</span> { <a class="code" href="classExampleSourceViewer.html#a548859a1b20480151f542ebbcc82e5d0">exampleView_</a>-><a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WTreeView.html#a49566dd5cc8d1d0d95bad4783dd4e11a">setExpanded</a>(w-><a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WStandardItem.html#a8afc6170ff2544d385823795b4dded37">index</a>(), <span class="keyword">true</span>); <span class="keywordflow">if</span> (w-><a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WStandardItem.html#a0b025885afc1500285359821f52bb531">rowCount</a>() > 0) w = w-><a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WStandardItem.html#a874247b52596f31126882ee8ea53d3ca">child</a>(0); <span class="keywordflow">else</span> { <a class="code" href="classExampleSourceViewer.html#a548859a1b20480151f542ebbcc82e5d0">exampleView_</a>-><a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WAbstractItemView.html#a4423d5412ff1b4bc67f0a8f443f12136">select</a>(w-><a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WStandardItem.html#a8afc6170ff2544d385823795b4dded37">index</a>(), <a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/namespaceWt.html#a1ec974261fb0e2b80498473dcb6c91eda5317beeb399a97e111e7c99dee9161d5">Select</a>); w = 0; } } <span class="keywordflow">while</span> (w); <a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WVBoxLayout.html">WVBoxLayout</a> *topLayout = <span class="keyword">new</span> <a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WVBoxLayout.html">WVBoxLayout</a>(); topLayout-><a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WBoxLayout.html#a7c1ec58e25d0b7add93f5f4342844db6">addWidget</a>(title); <a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WHBoxLayout.html">WHBoxLayout</a> *gitLayout = <span class="keyword">new</span> <a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WHBoxLayout.html">WHBoxLayout</a>(); gitLayout-><a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WBoxLayout.html#a7c1ec58e25d0b7add93f5f4342844db6">addWidget</a>(<a class="code" href="classExampleSourceViewer.html#a548859a1b20480151f542ebbcc82e5d0">exampleView_</a>, 0); gitLayout-><a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WBoxLayout.html#a7c1ec58e25d0b7add93f5f4342844db6">addWidget</a>(<a class="code" href="classExampleSourceViewer.html#aefc329bfd3d8f7ae11c3f452a5744ab9">sourceView_</a>, 1); topLayout-><a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WBoxLayout.html#a062d26b432841995a0be7b7d7aac6413">addLayout</a>(gitLayout, 1); gitLayout-><a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WBoxLayout.html#ac2628c9ddfb9b6c079a8b5d5261b94c2">setResizable</a>(0); <span class="comment">/*</span> <span class="comment"> * FIXME, in plain HTML mode, we should set a minimum size to the source</span> <span class="comment"> * view, and remove this in enableAjax() ?</span> <span class="comment"> */</span> <span class="comment">// sourceView_->setHeight("100%");</span> <a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WContainerWidget.html#a1c84e0ffe330d4798f0ce217f75be08c">setLayout</a>(topLayout); <a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WWebWidget.html#afd3a3b359681111460a93d13979d17dd">setStyleClass</a>(<span class="stringliteral">"maindiv"</span>); } </pre></div> </div> </div> <a class="anchor" id="a7f10a65267869bb570fec25bc19348ac"></a><!-- doxytag: member="ExampleSourceViewer::showFile" ref="a7f10a65267869bb570fec25bc19348ac" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void ExampleSourceViewer::showFile </td> <td>(</td> <td class="paramname"></td><td>)</td> <td><code> [private]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Displayed the currently selected file. </p> <p>Definition at line <a class="el" href="ExampleSourceViewer_8C_source.html#l00365">365</a> of file <a class="el" href="ExampleSourceViewer_8C_source.html">ExampleSourceViewer.C</a>.</p> <div class="fragment"><pre class="fragment"> { <span class="keywordflow">if</span> (<a class="code" href="classExampleSourceViewer.html#a548859a1b20480151f542ebbcc82e5d0">exampleView_</a>-><a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WAbstractItemView.html#afde08bb75862592d81dc93f30ed7dcd6">selectedIndexes</a>().empty()) <span class="keywordflow">return</span>; <a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WModelIndex.html">WModelIndex</a> selected = *<a class="code" href="classExampleSourceViewer.html#a548859a1b20480151f542ebbcc82e5d0">exampleView_</a>-><a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WAbstractItemView.html#afde08bb75862592d81dc93f30ed7dcd6">selectedIndexes</a>().begin(); <span class="comment">// expand a folder when clicked</span> <span class="keywordflow">if</span> (<a class="code" href="classExampleSourceViewer.html#a548859a1b20480151f542ebbcc82e5d0">exampleView_</a>-><a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WAbstractItemView.html#abd583faed8e2fc3936d1b5545c4bbf84">model</a>()-><a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WAbstractItemModel.html#ab0709a8f71fd5df882f29bb29fd055f0">rowCount</a>(selected) > 0 && !<a class="code" href="classExampleSourceViewer.html#a548859a1b20480151f542ebbcc82e5d0">exampleView_</a>-><a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WTreeView.html#a48eac450ec46ac1eea41822bfd227e9b">isExpanded</a>(selected)) <a class="code" href="classExampleSourceViewer.html#a548859a1b20480151f542ebbcc82e5d0">exampleView_</a>-><a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WTreeView.html#a49566dd5cc8d1d0d95bad4783dd4e11a">setExpanded</a>(selected, <span class="keyword">true</span>); <span class="comment">// (for a file,) load data in source viewer</span> <a class="code" href="classExampleSourceViewer.html#aefc329bfd3d8f7ae11c3f452a5744ab9">sourceView_</a>-><a class="code" href="classSourceView.html#a10f2b88b0b8ea6b9563077e7958bc4d0" title="Sets the model index.">setIndex</a>(selected); } </pre></div> </div> </div> <hr/><h2>Member Data Documentation</h2> <a class="anchor" id="a49e72c4bc9714e8fdf9fad810f0d79b1"></a><!-- doxytag: member="ExampleSourceViewer::deployPath_" ref="a49e72c4bc9714e8fdf9fad810f0d79b1" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">std::string <a class="el" href="classExampleSourceViewer.html#a49e72c4bc9714e8fdf9fad810f0d79b1">ExampleSourceViewer::deployPath_</a><code> [private]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Definition at line <a class="el" href="ExampleSourceViewer_8h_source.html#l00034">34</a> of file <a class="el" href="ExampleSourceViewer_8h_source.html">ExampleSourceViewer.h</a>.</p> </div> </div> <a class="anchor" id="a7e33f7d49055157d7d26d036f91d2891"></a><!-- doxytag: member="ExampleSourceViewer::examplesRoot_" ref="a7e33f7d49055157d7d26d036f91d2891" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">std::string <a class="el" href="classExampleSourceViewer.html#a7e33f7d49055157d7d26d036f91d2891">ExampleSourceViewer::examplesRoot_</a><code> [private]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Definition at line <a class="el" href="ExampleSourceViewer_8h_source.html#l00035">35</a> of file <a class="el" href="ExampleSourceViewer_8h_source.html">ExampleSourceViewer.h</a>.</p> </div> </div> <a class="anchor" id="a7aaeb2ded7907e864f3ea804f19307cd"></a><!-- doxytag: member="ExampleSourceViewer::examplesType_" ref="a7aaeb2ded7907e864f3ea804f19307cd" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">std::string <a class="el" href="classExampleSourceViewer.html#a7aaeb2ded7907e864f3ea804f19307cd">ExampleSourceViewer::examplesType_</a><code> [private]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Definition at line <a class="el" href="ExampleSourceViewer_8h_source.html#l00036">36</a> of file <a class="el" href="ExampleSourceViewer_8h_source.html">ExampleSourceViewer.h</a>.</p> </div> </div> <a class="anchor" id="a548859a1b20480151f542ebbcc82e5d0"></a><!-- doxytag: member="ExampleSourceViewer::exampleView_" ref="a548859a1b20480151f542ebbcc82e5d0" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="elRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WTreeView.html">Wt::WTreeView</a>* <a class="el" href="classExampleSourceViewer.html#a548859a1b20480151f542ebbcc82e5d0">ExampleSourceViewer::exampleView_</a><code> [private]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Definition at line <a class="el" href="ExampleSourceViewer_8h_source.html#l00031">31</a> of file <a class="el" href="ExampleSourceViewer_8h_source.html">ExampleSourceViewer.h</a>.</p> </div> </div> <a class="anchor" id="a09d648f3a6b7aa3ebeeac775f8a197cc"></a><!-- doxytag: member="ExampleSourceViewer::model_" ref="a09d648f3a6b7aa3ebeeac775f8a197cc" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="elRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WStandardItemModel.html">Wt::WStandardItemModel</a>* <a class="el" href="classExampleSourceViewer.html#a09d648f3a6b7aa3ebeeac775f8a197cc">ExampleSourceViewer::model_</a><code> [private]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Definition at line <a class="el" href="ExampleSourceViewer_8h_source.html#l00038">38</a> of file <a class="el" href="ExampleSourceViewer_8h_source.html">ExampleSourceViewer.h</a>.</p> </div> </div> <a class="anchor" id="aefc329bfd3d8f7ae11c3f452a5744ab9"></a><!-- doxytag: member="ExampleSourceViewer::sourceView_" ref="aefc329bfd3d8f7ae11c3f452a5744ab9" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classSourceView.html">SourceView</a>* <a class="el" href="classExampleSourceViewer.html#aefc329bfd3d8f7ae11c3f452a5744ab9">ExampleSourceViewer::sourceView_</a><code> [private]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Definition at line <a class="el" href="ExampleSourceViewer_8h_source.html#l00032">32</a> of file <a class="el" href="ExampleSourceViewer_8h_source.html">ExampleSourceViewer.h</a>.</p> </div> </div> <hr/>The documentation for this class was generated from the following files:<ul> <li>/home/koen/project/wt/public-git/wt/examples/wt-homepage/<a class="el" href="ExampleSourceViewer_8h_source.html">ExampleSourceViewer.h</a></li> <li>/home/koen/project/wt/public-git/wt/examples/wt-homepage/<a class="el" href="ExampleSourceViewer_8C_source.html">ExampleSourceViewer.C</a></li> </ul> </div> <hr size="1"><address style="text-align: right; margin: 3px"><small> Generated on Thu Nov 1 2012 for <a href="http://www.webtoolkit.eu/wt">the C++ Web Toolkit (Wt)</a> by <a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" border="0" style="vertical-align: middle; display: inline-block; height: 2em"></a> 1.7.5.1</small></address> </body> </html>