Sophie

Sophie

distrib > Fedora > 18 > x86_64 > by-pkgid > b3a1f4d91c26f535919e39e25606614a > files > 29

wt-doc-3.2.3-1.fc18.noarch.rpm

<!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: /home/koen/project/wt/public-git/wt/examples/charts/ChartsExample.C Source File</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
   &#160;<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&#160;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><a href="annotated.html"><span>Classes</span></a></li>
      <li class="current"><a href="files.html"><span>Files</span></a></li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="files.html"><span>File&#160;List</span></a></li>
      <li><a href="globals.html"><span>File&#160;Members</span></a></li>
    </ul>
  </div>
<div class="header">
  <div class="headertitle">
<div class="title">/home/koen/project/wt/public-git/wt/examples/charts/ChartsExample.C</div>  </div>
</div>
<div class="contents">
<a href="ChartsExample_8C.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/*</span>
<a name="l00002"></a>00002 <span class="comment"> * Copyright (C) 2008 Emweb bvba, Kessel-Lo, Belgium.</span>
<a name="l00003"></a>00003 <span class="comment"> *</span>
<a name="l00004"></a>00004 <span class="comment"> * See the LICENSE file for terms of use.</span>
<a name="l00005"></a>00005 <span class="comment"> */</span>
<a name="l00006"></a>00006 
<a name="l00007"></a>00007 <span class="preprocessor">#include &lt;math.h&gt;</span>
<a name="l00008"></a>00008 <span class="preprocessor">#include &lt;fstream&gt;</span>
<a name="l00009"></a>00009 
<a name="l00010"></a>00010 <span class="preprocessor">#include &quot;<a class="code" href="ChartsExample_8h.html">ChartsExample.h</a>&quot;</span>
<a name="l00011"></a>00011 <span class="preprocessor">#include &quot;<a class="code" href="ChartConfig_8h.html">ChartConfig.h</a>&quot;</span>
<a name="l00012"></a>00012 <span class="preprocessor">#include &quot;CsvUtil.h&quot;</span>
<a name="l00013"></a>00013 
<a name="l00014"></a>00014 <span class="preprocessor">#include &lt;Wt/WApplication&gt;</span>
<a name="l00015"></a>00015 <span class="preprocessor">#include &lt;Wt/WDate&gt;</span>
<a name="l00016"></a>00016 <span class="preprocessor">#include &lt;Wt/WEnvironment&gt;</span>
<a name="l00017"></a>00017 <span class="preprocessor">#include &lt;Wt/WItemDelegate&gt;</span>
<a name="l00018"></a>00018 <span class="preprocessor">#include &lt;Wt/WStandardItemModel&gt;</span>
<a name="l00019"></a>00019 <span class="preprocessor">#include &lt;Wt/WText&gt;</span>
<a name="l00020"></a>00020 
<a name="l00021"></a>00021 <span class="preprocessor">#include &lt;Wt/WBorderLayout&gt;</span>
<a name="l00022"></a>00022 <span class="preprocessor">#include &lt;Wt/WFitLayout&gt;</span>
<a name="l00023"></a>00023 
<a name="l00024"></a>00024 <span class="preprocessor">#include &lt;Wt/WStandardItem&gt;</span>
<a name="l00025"></a>00025 <span class="preprocessor">#include &lt;Wt/WTableView&gt;</span>
<a name="l00026"></a>00026 
<a name="l00027"></a>00027 <span class="preprocessor">#include &lt;Wt/Chart/WCartesianChart&gt;</span>
<a name="l00028"></a>00028 <span class="preprocessor">#include &lt;Wt/Chart/WPieChart&gt;</span>
<a name="l00029"></a>00029 
<a name="l00030"></a>00030 <span class="keyword">using namespace </span>Wt;
<a name="l00031"></a>00031 <span class="keyword">using namespace </span>Wt::Chart;
<a name="l00032"></a>00032 <span class="keyword">namespace </span>{
<a name="l00033"></a>00033 
<a name="l00034"></a>00034   <span class="comment">/*</span>
<a name="l00035"></a>00035 <span class="comment">   * Reads a CSV file as an (editable) standard item model.</span>
<a name="l00036"></a>00036 <span class="comment">   */</span>
<a name="l00037"></a>00037   <a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WAbstractItemModel.html">WAbstractItemModel</a> *readCsvFile(<span class="keyword">const</span> std::string &amp;fname,
<a name="l00038"></a>00038                                   <a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WContainerWidget.html">WContainerWidget</a> *parent)
<a name="l00039"></a>00039   {
<a name="l00040"></a>00040     <a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WStandardItemModel.html">WStandardItemModel</a> *model = <span class="keyword">new</span> <a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WStandardItemModel.html">WStandardItemModel</a>(0, 0, parent);
<a name="l00041"></a>00041     std::ifstream f(fname.c_str());
<a name="l00042"></a>00042 
<a name="l00043"></a>00043     <span class="keywordflow">if</span> (f) {
<a name="l00044"></a>00044       <a class="code" href="group__chartsexample.html#ga1ce51cd14c57073cb7839d5e05b59c65" title="Utility function that reads a model from a CSV file.">readFromCsv</a>(f, model);
<a name="l00045"></a>00045 
<a name="l00046"></a>00046       <span class="keywordflow">for</span> (<span class="keywordtype">int</span> row = 0; row &lt; model-&gt;<a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WAbstractItemModel.html#ab0709a8f71fd5df882f29bb29fd055f0">rowCount</a>(); ++row)
<a name="l00047"></a>00047         <span class="keywordflow">for</span> (<span class="keywordtype">int</span> col = 0; col &lt; model-&gt;<a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WAbstractItemModel.html#abcf7912a95a0a60f8e9b1c37d30b8383">columnCount</a>(); ++col) {
<a name="l00048"></a>00048           model-&gt;<a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WStandardItemModel.html#a32d755ace793c2110b0fa5d650a0d577">item</a>(row, col)-&gt;<a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WStandardItem.html#aedf80dfed644a525e5d726a4b6e74b94">setFlags</a>(<a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/group__modelview.html#gga1d77c4de293aebfacbdde124de06b8b0a77f858c86a06358abdcc64e4f9d03e40">ItemIsSelectable</a> | <a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/group__modelview.html#gga1d77c4de293aebfacbdde124de06b8b0a8664c482d721bbcb73539a924c7a9fab">ItemIsEditable</a>);
<a name="l00049"></a>00049 
<a name="l00050"></a>00050           <span class="comment">/*</span>
<a name="l00051"></a>00051 <span class="comment">            Example of tool tips (disabled here because they are not updated</span>
<a name="l00052"></a>00052 <span class="comment">            when editing data)</span>
<a name="l00053"></a>00053 <span class="comment">           */</span>
<a name="l00054"></a>00054 
<a name="l00055"></a>00055           <span class="comment">/*</span>
<a name="l00056"></a>00056 <span class="comment">          WString toolTip = asString(model-&gt;headerData(col)) + &quot;: &quot;</span>
<a name="l00057"></a>00057 <span class="comment">            + asString(model-&gt;item(row, col)-&gt;data(DisplayRole), &quot;%.f&quot;);</span>
<a name="l00058"></a>00058 <span class="comment">          model-&gt;item(row, col)-&gt;setToolTip(toolTip);</span>
<a name="l00059"></a>00059 <span class="comment">           */</span>
<a name="l00060"></a>00060         }
<a name="l00061"></a>00061 
<a name="l00062"></a>00062       <span class="keywordflow">return</span> model;
<a name="l00063"></a>00063     } <span class="keywordflow">else</span> {
<a name="l00064"></a>00064       <a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WString.html">WString</a> error(<a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WString.html#a0afc7dc0f9897456d71b569a86ca26c1">WString::tr</a>(<span class="stringliteral">&quot;error-missing-data&quot;</span>));
<a name="l00065"></a>00065       error.arg(fname, <a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WString.html#a55b820090cc9d15753301df90e35fd52a92c04a55980fec5344377e55b271cfd0">UTF8</a>);
<a name="l00066"></a>00066       <span class="keyword">new</span> <a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WText.html">WText</a>(error, parent);
<a name="l00067"></a>00067       <span class="keywordflow">return</span> 0;
<a name="l00068"></a>00068     }
<a name="l00069"></a>00069   }
<a name="l00070"></a>00070 }
<a name="l00071"></a>00071 
<a name="l00072"></a><a class="code" href="classChartsExample.html#ad23e2aadfb8bbab5cb2c6aaf9fd25389">00072</a> <a class="code" href="classChartsExample.html#ad23e2aadfb8bbab5cb2c6aaf9fd25389" title="Constructor.">ChartsExample::ChartsExample</a>(<a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WContainerWidget.html">WContainerWidget</a> *root)
<a name="l00073"></a>00073   : <a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WContainerWidget.html">WContainerWidget</a>(root)
<a name="l00074"></a>00074 {
<a name="l00075"></a>00075   <span class="keyword">new</span> <a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WText.html">WText</a>(WString::tr(<span class="stringliteral">&quot;introduction&quot;</span>), <span class="keyword">this</span>);
<a name="l00076"></a>00076 
<a name="l00077"></a>00077   <span class="keyword">new</span> <a class="code" href="classCategoryExample.html" title="A Widget that demonstrates a category chart.">CategoryExample</a>(<span class="keyword">this</span>);
<a name="l00078"></a>00078   <span class="keyword">new</span> <a class="code" href="classTimeSeriesExample.html" title="A widget that demonstrates a times series chart.">TimeSeriesExample</a>(<span class="keyword">this</span>);
<a name="l00079"></a>00079   <span class="keyword">new</span> <a class="code" href="classScatterPlotExample.html" title="A Widget that demonstrates a scatter plot.">ScatterPlotExample</a>(<span class="keyword">this</span>);
<a name="l00080"></a>00080   <span class="keyword">new</span> <a class="code" href="classPieExample.html" title="A Widget that demonstrates a Pie chart.">PieExample</a>(<span class="keyword">this</span>);
<a name="l00081"></a>00081 }
<a name="l00082"></a>00082 
<a name="l00083"></a><a class="code" href="classCategoryExample.html#ad1918a1ab288d28676e215be15919769">00083</a> <a class="code" href="classCategoryExample.html#ad1918a1ab288d28676e215be15919769" title="Creates the category chart example.">CategoryExample::CategoryExample</a>(<a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WContainerWidget.html">Wt::WContainerWidget</a> *parent):
<a name="l00084"></a>00084   <a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WContainerWidget.html">WContainerWidget</a>(parent)
<a name="l00085"></a>00085 {
<a name="l00086"></a>00086   <span class="keyword">new</span> <a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WText.html">WText</a>(WString::tr(<span class="stringliteral">&quot;category chart&quot;</span>), <span class="keyword">this</span>);
<a name="l00087"></a>00087 
<a name="l00088"></a>00088   <a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WAbstractItemModel.html">WAbstractItemModel</a> *model
<a name="l00089"></a>00089     = readCsvFile(WApplication::appRoot() + <span class="stringliteral">&quot;category.csv&quot;</span>, <span class="keyword">this</span>);
<a name="l00090"></a>00090 
<a name="l00091"></a>00091   <span class="keywordflow">if</span> (!model)
<a name="l00092"></a>00092     <span class="keywordflow">return</span>;
<a name="l00093"></a>00093 
<a name="l00094"></a>00094   <span class="comment">// Show a view that allows editing of the model.</span>
<a name="l00095"></a>00095   <a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WContainerWidget.html">WContainerWidget</a> *w = <span class="keyword">new</span> <a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WContainerWidget.html#a520ba6e52a36a7f2efbef1a31a69e898">WContainerWidget</a>(<span class="keyword">this</span>);
<a name="l00096"></a>00096   <a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WTableView.html">WTableView</a> *table = <span class="keyword">new</span> <a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WTableView.html">WTableView</a>(w);
<a name="l00097"></a>00097 
<a name="l00098"></a>00098   table-&gt;<a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WCompositeWidget.html#addf49ace29b76331067c86bc4ae6ac38">setMargin</a>(10, <a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/namespaceWt.html#a5a6f4636bcc6ab3c075165d249b3a5a3a68b058364f8c2380c1d369a321f22f92">Top</a> | <a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/namespaceWt.html#a5a6f4636bcc6ab3c075165d249b3a5a3a87ae7d3cb692a5a4e8f18a7fea93a8a8">Bottom</a>);
<a name="l00099"></a>00099   table-&gt;<a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WCompositeWidget.html#addf49ace29b76331067c86bc4ae6ac38">setMargin</a>(WLength::Auto, <a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/namespaceWt.html#a5a6f4636bcc6ab3c075165d249b3a5a3a6568fecac7c7d7223afaed240bcfdd9e">Left</a> | <a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/namespaceWt.html#a5a6f4636bcc6ab3c075165d249b3a5a3acf431c3ce5eb6f14c0390feb14a68004">Right</a>);
<a name="l00100"></a>00100 
<a name="l00101"></a>00101   table-&gt;<a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WTableView.html#a2e3629fbaee86da21c77c4583efb79ed">setModel</a>(model);
<a name="l00102"></a>00102   table-&gt;<a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WAbstractItemView.html#ae1c86a0f37f97f63aed3b00fd8ffad7c">setSortingEnabled</a>(<span class="keyword">true</span>);
<a name="l00103"></a>00103   table-&gt;<a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WAbstractItemView.html#a4fe24c3ed80cc59f6bed2ed7795bc127">setColumnResizeEnabled</a>(<span class="keyword">true</span>);
<a name="l00104"></a>00104   <span class="comment">// table-&gt;setSelectionMode(ExtendedSelection);</span>
<a name="l00105"></a>00105   table-&gt;<a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WTableView.html#afbc128d312f1d5aa75c65352cb43e4ca">setAlternatingRowColors</a>(<span class="keyword">true</span>);
<a name="l00106"></a>00106   table-&gt;<a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WAbstractItemView.html#aafd2a6edd366b620c71d9b3a89ed6590">setColumnAlignment</a>(0, <a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/namespaceWt.html#ab8f772c69bc8180c31f9e4f4593b143fa121104cdbb5db77c7d038813a93998e5">AlignCenter</a>);
<a name="l00107"></a>00107   table-&gt;<a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WAbstractItemView.html#a036e6a392c5e38470326d71157140d1a">setHeaderAlignment</a>(0, <a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/namespaceWt.html#ab8f772c69bc8180c31f9e4f4593b143fa121104cdbb5db77c7d038813a93998e5">AlignCenter</a>);
<a name="l00108"></a>00108   table-&gt;<a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WTableView.html#ab17c45b65e38c22c0230062696c36e61">setRowHeight</a>(22);
<a name="l00109"></a>00109 
<a name="l00110"></a>00110   <span class="comment">// Editing does not really work without Ajax, it would require an</span>
<a name="l00111"></a>00111   <span class="comment">// additional button somewhere to confirm the edited value.</span>
<a name="l00112"></a>00112   <span class="keywordflow">if</span> (WApplication::instance()-&gt;environment().ajax()) {
<a name="l00113"></a>00113     table-&gt;<a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WTableView.html#a921a3a6c489b584b261c6b7c7bf720d8">resize</a>(600, 20 + 5*22);
<a name="l00114"></a>00114     table-&gt;<a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WAbstractItemView.html#a93d2efc8642a6b9c55b35b7665a13da5">setEditTriggers</a>(WAbstractItemView::SingleClicked);
<a name="l00115"></a>00115   } <span class="keywordflow">else</span> {
<a name="l00116"></a>00116     table-&gt;<a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WTableView.html#a921a3a6c489b584b261c6b7c7bf720d8">resize</a>(600, WLength::Auto);
<a name="l00117"></a>00117     table-&gt;<a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WAbstractItemView.html#a93d2efc8642a6b9c55b35b7665a13da5">setEditTriggers</a>(WAbstractItemView::NoEditTrigger);
<a name="l00118"></a>00118   }
<a name="l00119"></a>00119 
<a name="l00120"></a>00120   <span class="comment">// We use a single delegate for all items which rounds values to</span>
<a name="l00121"></a>00121   <span class="comment">// the closest integer value.</span>
<a name="l00122"></a>00122   <a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WItemDelegate.html">WItemDelegate</a> *delegate = <span class="keyword">new</span> <a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WItemDelegate.html">WItemDelegate</a>(<span class="keyword">this</span>);
<a name="l00123"></a>00123   delegate-&gt;<a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WItemDelegate.html#ad886d265dc00b95d9fb90c022a6322f9">setTextFormat</a>(<span class="stringliteral">&quot;%.f&quot;</span>);
<a name="l00124"></a>00124   table-&gt;<a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WAbstractItemView.html#a2954ce5999e6ca683fef576777973496">setItemDelegate</a>(delegate);
<a name="l00125"></a>00125 
<a name="l00126"></a>00126   table-&gt;<a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WTableView.html#af37d27044e96919e2fa6af4e25f3ef67">setColumnWidth</a>(0, 80);
<a name="l00127"></a>00127   <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 1; i &lt; model-&gt;<a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WAbstractItemModel.html#abcf7912a95a0a60f8e9b1c37d30b8383">columnCount</a>(); ++i)
<a name="l00128"></a>00128     table-&gt;<a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WTableView.html#af37d27044e96919e2fa6af4e25f3ef67">setColumnWidth</a>(i, 120);
<a name="l00129"></a>00129 
<a name="l00130"></a>00130   <span class="comment">/*</span>
<a name="l00131"></a>00131 <span class="comment">   * Create the category chart.</span>
<a name="l00132"></a>00132 <span class="comment">   */</span>
<a name="l00133"></a>00133   <a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1Chart_1_1WCartesianChart.html">WCartesianChart</a> *chart = <span class="keyword">new</span> <a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1Chart_1_1WCartesianChart.html">WCartesianChart</a>(<span class="keyword">this</span>);
<a name="l00134"></a>00134   <span class="comment">// chart-&gt;setPreferredMethod(WPaintedWidget::PngImage);</span>
<a name="l00135"></a>00135   chart-&gt;<a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1Chart_1_1WAbstractChart.html#aa23d116689e939301470398df8ad5c8b">setModel</a>(model);        <span class="comment">// set the model</span>
<a name="l00136"></a>00136   chart-&gt;<a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1Chart_1_1WCartesianChart.html#a6c954fa4ed6d73f00ee973bfe3af5ed0">setXSeriesColumn</a>(0);    <span class="comment">// set the column that holds the categories</span>
<a name="l00137"></a>00137   chart-&gt;<a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1Chart_1_1WCartesianChart.html#a26c3d97f4884da079e01e7b50447a915">setLegendEnabled</a>(<span class="keyword">true</span>); <span class="comment">// enable the legend</span>
<a name="l00138"></a>00138 
<a name="l00139"></a>00139   <span class="comment">// Provide space for the X and Y axis and title. </span>
<a name="l00140"></a>00140   chart-&gt;<a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1Chart_1_1WAbstractChart.html#ace6ea85014f731c7034e4215710a8a48">setPlotAreaPadding</a>(80, <a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/namespaceWt.html#a5a6f4636bcc6ab3c075165d249b3a5a3a6568fecac7c7d7223afaed240bcfdd9e">Left</a>);
<a name="l00141"></a>00141   chart-&gt;<a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1Chart_1_1WAbstractChart.html#ace6ea85014f731c7034e4215710a8a48">setPlotAreaPadding</a>(40, <a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/namespaceWt.html#a5a6f4636bcc6ab3c075165d249b3a5a3a68b058364f8c2380c1d369a321f22f92">Top</a> | <a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/namespaceWt.html#a5a6f4636bcc6ab3c075165d249b3a5a3a87ae7d3cb692a5a4e8f18a7fea93a8a8">Bottom</a>);
<a name="l00142"></a>00142 
<a name="l00143"></a>00143   <span class="comment">/*</span>
<a name="l00144"></a>00144 <span class="comment">   * Add all (but first) column as bar series</span>
<a name="l00145"></a>00145 <span class="comment">   */</span>
<a name="l00146"></a>00146   <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 1; i &lt; model-&gt;<a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WAbstractItemModel.html#abcf7912a95a0a60f8e9b1c37d30b8383">columnCount</a>(); ++i) {
<a name="l00147"></a>00147     <a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1Chart_1_1WDataSeries.html">WDataSeries</a> s(i, <a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/group__charts.html#gga44d64e4a9d08c7ef69648f4a9c3e4053a6751dbd7ed4600a4befa967107a6dde8">BarSeries</a>);
<a name="l00148"></a>00148     s.<a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1Chart_1_1WDataSeries.html#a683e2c2d0d4b94631be803600b519e9a">setShadow</a>(<a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WShadow.html">WShadow</a>(3, 3, <a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WColor.html">WColor</a>(0, 0, 0, 127), 3));
<a name="l00149"></a>00149     chart-&gt;<a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1Chart_1_1WCartesianChart.html#afa4ac6588e6e2e0dd93320c3a0541d46">addSeries</a>(s);
<a name="l00150"></a>00150   }
<a name="l00151"></a>00151 
<a name="l00152"></a>00152   chart-&gt;<a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WPaintedWidget.html#aa57b940110d240951d0e3a6d03390319">resize</a>(800, 400);
<a name="l00153"></a>00153 
<a name="l00154"></a>00154   chart-&gt;<a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WWebWidget.html#a9795c18e926b26b97fcbabc62a1dd4e3">setMargin</a>(10, <a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/namespaceWt.html#a5a6f4636bcc6ab3c075165d249b3a5a3a68b058364f8c2380c1d369a321f22f92">Top</a> | <a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/namespaceWt.html#a5a6f4636bcc6ab3c075165d249b3a5a3a87ae7d3cb692a5a4e8f18a7fea93a8a8">Bottom</a>);
<a name="l00155"></a>00155   chart-&gt;<a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WWebWidget.html#a9795c18e926b26b97fcbabc62a1dd4e3">setMargin</a>(WLength::Auto, <a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/namespaceWt.html#a5a6f4636bcc6ab3c075165d249b3a5a3a6568fecac7c7d7223afaed240bcfdd9e">Left</a> | <a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/namespaceWt.html#a5a6f4636bcc6ab3c075165d249b3a5a3acf431c3ce5eb6f14c0390feb14a68004">Right</a>);
<a name="l00156"></a>00156 
<a name="l00157"></a>00157   <span class="comment">/*</span>
<a name="l00158"></a>00158 <span class="comment">   * Provide a widget to manipulate chart properties</span>
<a name="l00159"></a>00159 <span class="comment">   */</span>
<a name="l00160"></a>00160   <span class="keyword">new</span> <a class="code" href="classChartConfig.html" title="A class that allows configuration of a cartesian chart.">ChartConfig</a>(chart, <span class="keyword">this</span>);
<a name="l00161"></a>00161 }
<a name="l00162"></a>00162 
<a name="l00163"></a><a class="code" href="classTimeSeriesExample.html#a696c3e952d1f9b4ed3bdbf415f1634a5">00163</a> <a class="code" href="classTimeSeriesExample.html#a696c3e952d1f9b4ed3bdbf415f1634a5" title="Creates the time series scatter plot example.">TimeSeriesExample::TimeSeriesExample</a>(<a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WContainerWidget.html">Wt::WContainerWidget</a> *parent):
<a name="l00164"></a>00164   <a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WContainerWidget.html">WContainerWidget</a>(parent)
<a name="l00165"></a>00165 {
<a name="l00166"></a>00166   <span class="keyword">new</span> <a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WText.html">WText</a>(WString::tr(<span class="stringliteral">&quot;scatter plot&quot;</span>), <span class="keyword">this</span>);
<a name="l00167"></a>00167 
<a name="l00168"></a>00168   <a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WAbstractItemModel.html">WAbstractItemModel</a> *model = readCsvFile(
<a name="l00169"></a>00169     WApplication::appRoot() + <span class="stringliteral">&quot;timeseries.csv&quot;</span>, <span class="keyword">this</span>);
<a name="l00170"></a>00170 
<a name="l00171"></a>00171   <span class="keywordflow">if</span> (!model)
<a name="l00172"></a>00172     <span class="keywordflow">return</span>;
<a name="l00173"></a>00173 
<a name="l00174"></a>00174   <span class="comment">/*</span>
<a name="l00175"></a>00175 <span class="comment">   * Parses the first column as dates, to be able to use a date scale</span>
<a name="l00176"></a>00176 <span class="comment">   */</span>
<a name="l00177"></a>00177   <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 0; i &lt; model-&gt;<a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WAbstractItemModel.html#ab0709a8f71fd5df882f29bb29fd055f0">rowCount</a>(); ++i) {
<a name="l00178"></a>00178     <a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WString.html">WString</a> s = <a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/group__modelview.html#ga57b5cadd177847f51eaeb0cee23782c1">asString</a>(model-&gt;<a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WAbstractItemModel.html#a9112b74d160f916ef75fb6c1c09dd8fe">data</a>(i, 0));
<a name="l00179"></a>00179     <a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WDate.html">WDate</a> d = WDate::fromString(s, <span class="stringliteral">&quot;dd/MM/yy&quot;</span>);
<a name="l00180"></a>00180     model-&gt;<a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WAbstractItemModel.html#a70856db8c322be8c7f397a932165a943">setData</a>(i, 0, d);
<a name="l00181"></a>00181   }
<a name="l00182"></a>00182 
<a name="l00183"></a>00183   <span class="comment">// Show a view that allows editing of the model.</span>
<a name="l00184"></a>00184   <a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WContainerWidget.html">WContainerWidget</a> *w = <span class="keyword">new</span> <a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WContainerWidget.html#a520ba6e52a36a7f2efbef1a31a69e898">WContainerWidget</a>(<span class="keyword">this</span>);
<a name="l00185"></a>00185   <a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WTableView.html">WTableView</a> *table = <span class="keyword">new</span> <a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WTableView.html">WTableView</a>(w);
<a name="l00186"></a>00186 
<a name="l00187"></a>00187   table-&gt;<a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WCompositeWidget.html#addf49ace29b76331067c86bc4ae6ac38">setMargin</a>(10, <a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/namespaceWt.html#a5a6f4636bcc6ab3c075165d249b3a5a3a68b058364f8c2380c1d369a321f22f92">Top</a> | <a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/namespaceWt.html#a5a6f4636bcc6ab3c075165d249b3a5a3a87ae7d3cb692a5a4e8f18a7fea93a8a8">Bottom</a>);
<a name="l00188"></a>00188   table-&gt;<a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WCompositeWidget.html#addf49ace29b76331067c86bc4ae6ac38">setMargin</a>(WLength::Auto, <a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/namespaceWt.html#a5a6f4636bcc6ab3c075165d249b3a5a3a6568fecac7c7d7223afaed240bcfdd9e">Left</a> | <a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/namespaceWt.html#a5a6f4636bcc6ab3c075165d249b3a5a3acf431c3ce5eb6f14c0390feb14a68004">Right</a>);
<a name="l00189"></a>00189 
<a name="l00190"></a>00190   table-&gt;<a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WTableView.html#a2e3629fbaee86da21c77c4583efb79ed">setModel</a>(model);
<a name="l00191"></a>00191   table-&gt;<a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WAbstractItemView.html#ae1c86a0f37f97f63aed3b00fd8ffad7c">setSortingEnabled</a>(<span class="keyword">false</span>); <span class="comment">// Does not make much sense for time series</span>
<a name="l00192"></a>00192   table-&gt;<a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WAbstractItemView.html#a4fe24c3ed80cc59f6bed2ed7795bc127">setColumnResizeEnabled</a>(<span class="keyword">true</span>);
<a name="l00193"></a>00193   table-&gt;<a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WAbstractItemView.html#af6fcd9761e2f7a3b497d3563c849d320">setSelectionMode</a>(<a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/namespaceWt.html#a74b3f7eb1689a3cbf0ea514ffd20bcccab681964d34d71d850361461bafc46891">NoSelection</a>);
<a name="l00194"></a>00194   table-&gt;<a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WTableView.html#afbc128d312f1d5aa75c65352cb43e4ca">setAlternatingRowColors</a>(<span class="keyword">true</span>);
<a name="l00195"></a>00195   table-&gt;<a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WAbstractItemView.html#aafd2a6edd366b620c71d9b3a89ed6590">setColumnAlignment</a>(0, <a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/namespaceWt.html#ab8f772c69bc8180c31f9e4f4593b143fa121104cdbb5db77c7d038813a93998e5">AlignCenter</a>);
<a name="l00196"></a>00196   table-&gt;<a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WAbstractItemView.html#a036e6a392c5e38470326d71157140d1a">setHeaderAlignment</a>(0, <a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/namespaceWt.html#ab8f772c69bc8180c31f9e4f4593b143fa121104cdbb5db77c7d038813a93998e5">AlignCenter</a>);
<a name="l00197"></a>00197   table-&gt;<a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WTableView.html#ab17c45b65e38c22c0230062696c36e61">setRowHeight</a>(22);
<a name="l00198"></a>00198 
<a name="l00199"></a>00199   <span class="comment">// Editing does not really work without Ajax, it would require an</span>
<a name="l00200"></a>00200   <span class="comment">// additional button somewhere to confirm the edited value.</span>
<a name="l00201"></a>00201   <span class="keywordflow">if</span> (WApplication::instance()-&gt;environment().ajax()) {
<a name="l00202"></a>00202     table-&gt;<a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WTableView.html#a921a3a6c489b584b261c6b7c7bf720d8">resize</a>(800, 20 + 5*22);
<a name="l00203"></a>00203     table-&gt;<a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WAbstractItemView.html#a93d2efc8642a6b9c55b35b7665a13da5">setEditTriggers</a>(WAbstractItemView::SingleClicked);
<a name="l00204"></a>00204   } <span class="keywordflow">else</span> {
<a name="l00205"></a>00205     table-&gt;<a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WTableView.html#a921a3a6c489b584b261c6b7c7bf720d8">resize</a>(800, 20 + 5*22 + 25);
<a name="l00206"></a>00206     table-&gt;<a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WAbstractItemView.html#a93d2efc8642a6b9c55b35b7665a13da5">setEditTriggers</a>(WAbstractItemView::NoEditTrigger);
<a name="l00207"></a>00207   }
<a name="l00208"></a>00208 
<a name="l00209"></a>00209   <a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WItemDelegate.html">WItemDelegate</a> *delegate = <span class="keyword">new</span> <a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WItemDelegate.html">WItemDelegate</a>(<span class="keyword">this</span>);
<a name="l00210"></a>00210   delegate-&gt;<a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WItemDelegate.html#ad886d265dc00b95d9fb90c022a6322f9">setTextFormat</a>(<span class="stringliteral">&quot;%.1f&quot;</span>);
<a name="l00211"></a>00211   table-&gt;<a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WAbstractItemView.html#a2954ce5999e6ca683fef576777973496">setItemDelegate</a>(delegate);
<a name="l00212"></a>00212   table-&gt;<a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WAbstractItemView.html#a574bc36ec752012ba4a613e0e11e064e">setItemDelegateForColumn</a>(0, <span class="keyword">new</span> <a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WItemDelegate.html">WItemDelegate</a>(<span class="keyword">this</span>));
<a name="l00213"></a>00213 
<a name="l00214"></a>00214   table-&gt;<a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WTableView.html#af37d27044e96919e2fa6af4e25f3ef67">setColumnWidth</a>(0, 80);
<a name="l00215"></a>00215   <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 1; i &lt; model-&gt;<a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WAbstractItemModel.html#abcf7912a95a0a60f8e9b1c37d30b8383">columnCount</a>(); ++i)
<a name="l00216"></a>00216     table-&gt;<a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WTableView.html#af37d27044e96919e2fa6af4e25f3ef67">setColumnWidth</a>(i, 90);
<a name="l00217"></a>00217 
<a name="l00218"></a>00218   <span class="comment">/*</span>
<a name="l00219"></a>00219 <span class="comment">   * Create the scatter plot.</span>
<a name="l00220"></a>00220 <span class="comment">   */</span>
<a name="l00221"></a>00221   <a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1Chart_1_1WCartesianChart.html">WCartesianChart</a> *chart = <span class="keyword">new</span> <a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1Chart_1_1WCartesianChart.html">WCartesianChart</a>(<span class="keyword">this</span>);
<a name="l00222"></a>00222   <span class="comment">//chart-&gt;setPreferredMethod(WPaintedWidget::PngImage);</span>
<a name="l00223"></a>00223   <span class="comment">//chart-&gt;setBackground(gray);</span>
<a name="l00224"></a>00224   chart-&gt;<a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1Chart_1_1WAbstractChart.html#aa23d116689e939301470398df8ad5c8b">setModel</a>(model);        <span class="comment">// set the model</span>
<a name="l00225"></a>00225   chart-&gt;<a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1Chart_1_1WCartesianChart.html#a6c954fa4ed6d73f00ee973bfe3af5ed0">setXSeriesColumn</a>(0);    <span class="comment">// set the column that holds the X data</span>
<a name="l00226"></a>00226   chart-&gt;<a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1Chart_1_1WCartesianChart.html#a26c3d97f4884da079e01e7b50447a915">setLegendEnabled</a>(<span class="keyword">true</span>); <span class="comment">// enable the legend</span>
<a name="l00227"></a>00227 
<a name="l00228"></a>00228   chart-&gt;<a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1Chart_1_1WCartesianChart.html#a02775290965d59ffba03da574925e387">setType</a>(<a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/group__charts.html#gga8d63464f873580c77508e1c0c26cbfeaa6ddab43d32242eb28831938a1e469a1f">ScatterPlot</a>);            <span class="comment">// set type to ScatterPlot</span>
<a name="l00229"></a>00229   chart-&gt;<a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1Chart_1_1WCartesianChart.html#af966d6ee6b2e43e6b26e794459005375">axis</a>(<a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/group__charts.html#ggaddb678f67fbd9f374fcee0922f158c9fa2a592919e6cbd94bf09e1259559499b5">XAxis</a>).<a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1Chart_1_1WAxis.html#ab067037b83d1d663535250968a1776d8">setScale</a>(<a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/group__charts.html#ggadfcaed8cd6ff52f5747f7df48f2eeab6aaa627030efa552170a889d7a80a65a12">DateScale</a>); <span class="comment">// set scale of X axis to DateScale</span>
<a name="l00230"></a>00230 
<a name="l00231"></a>00231   <span class="comment">// Provide space for the X and Y axis and title. </span>
<a name="l00232"></a>00232   chart-&gt;<a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1Chart_1_1WAbstractChart.html#ace6ea85014f731c7034e4215710a8a48">setPlotAreaPadding</a>(80, <a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/namespaceWt.html#a5a6f4636bcc6ab3c075165d249b3a5a3a6568fecac7c7d7223afaed240bcfdd9e">Left</a>);
<a name="l00233"></a>00233   chart-&gt;<a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1Chart_1_1WAbstractChart.html#ace6ea85014f731c7034e4215710a8a48">setPlotAreaPadding</a>(40, <a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/namespaceWt.html#a5a6f4636bcc6ab3c075165d249b3a5a3a68b058364f8c2380c1d369a321f22f92">Top</a> | <a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/namespaceWt.html#a5a6f4636bcc6ab3c075165d249b3a5a3a87ae7d3cb692a5a4e8f18a7fea93a8a8">Bottom</a>);
<a name="l00234"></a>00234 
<a name="l00235"></a>00235   <span class="comment">/*</span>
<a name="l00236"></a>00236 <span class="comment">   * Add first two columns as line series</span>
<a name="l00237"></a>00237 <span class="comment">   */</span>
<a name="l00238"></a>00238   <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 1; i &lt; 3; ++i) {
<a name="l00239"></a>00239     <a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1Chart_1_1WDataSeries.html">WDataSeries</a> s(i, <a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/group__charts.html#gga44d64e4a9d08c7ef69648f4a9c3e4053a2582c20d00d806d8a175e2f5c0207591">LineSeries</a>);
<a name="l00240"></a>00240     s.<a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1Chart_1_1WDataSeries.html#a683e2c2d0d4b94631be803600b519e9a">setShadow</a>(<a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WShadow.html">WShadow</a>(3, 3, <a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WColor.html">WColor</a>(0, 0, 0, 127), 3));
<a name="l00241"></a>00241     chart-&gt;<a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1Chart_1_1WCartesianChart.html#afa4ac6588e6e2e0dd93320c3a0541d46">addSeries</a>(s);
<a name="l00242"></a>00242   }
<a name="l00243"></a>00243 
<a name="l00244"></a>00244   chart-&gt;<a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WPaintedWidget.html#aa57b940110d240951d0e3a6d03390319">resize</a>(800, 400); <span class="comment">// WPaintedWidget must be given explicit size</span>
<a name="l00245"></a>00245 
<a name="l00246"></a>00246   chart-&gt;<a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WWebWidget.html#a9795c18e926b26b97fcbabc62a1dd4e3">setMargin</a>(10, <a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/namespaceWt.html#a5a6f4636bcc6ab3c075165d249b3a5a3a68b058364f8c2380c1d369a321f22f92">Top</a> | <a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/namespaceWt.html#a5a6f4636bcc6ab3c075165d249b3a5a3a87ae7d3cb692a5a4e8f18a7fea93a8a8">Bottom</a>);            <span class="comment">// add margin vertically</span>
<a name="l00247"></a>00247   chart-&gt;<a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WWebWidget.html#a9795c18e926b26b97fcbabc62a1dd4e3">setMargin</a>(WLength::Auto, <a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/namespaceWt.html#a5a6f4636bcc6ab3c075165d249b3a5a3a6568fecac7c7d7223afaed240bcfdd9e">Left</a> | <a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/namespaceWt.html#a5a6f4636bcc6ab3c075165d249b3a5a3acf431c3ce5eb6f14c0390feb14a68004">Right</a>); <span class="comment">// center horizontally</span>
<a name="l00248"></a>00248 
<a name="l00249"></a>00249   <span class="keyword">new</span> <a class="code" href="classChartConfig.html" title="A class that allows configuration of a cartesian chart.">ChartConfig</a>(chart, <span class="keyword">this</span>);
<a name="l00250"></a>00250 }
<a name="l00251"></a>00251 
<a name="l00252"></a><a class="code" href="classScatterPlotExample.html#a75f30afe584a342437d901217fd232db">00252</a> <a class="code" href="classScatterPlotExample.html#a75f30afe584a342437d901217fd232db" title="Creates the scatter plot example.">ScatterPlotExample::ScatterPlotExample</a>(<a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WContainerWidget.html">WContainerWidget</a> *parent):
<a name="l00253"></a>00253   <a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WContainerWidget.html">WContainerWidget</a>(parent)
<a name="l00254"></a>00254 {
<a name="l00255"></a>00255   <span class="keyword">new</span> <a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WText.html">WText</a>(WString::tr(<span class="stringliteral">&quot;scatter plot 2&quot;</span>), <span class="keyword">this</span>);
<a name="l00256"></a>00256 
<a name="l00257"></a>00257   <a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WStandardItemModel.html">WStandardItemModel</a> *model = <span class="keyword">new</span> <a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WStandardItemModel.html">WStandardItemModel</a>(40, 2, <span class="keyword">this</span>);
<a name="l00258"></a>00258   model-&gt;<a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WAbstractItemModel.html#a57f5d417f933440db0d38ece7dd370f4">setHeaderData</a>(0, <a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WString.html">WString</a>(<span class="stringliteral">&quot;X&quot;</span>));
<a name="l00259"></a>00259   model-&gt;<a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WAbstractItemModel.html#a57f5d417f933440db0d38ece7dd370f4">setHeaderData</a>(1, <a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WString.html">WString</a>(<span class="stringliteral">&quot;Y = sin(X)&quot;</span>));
<a name="l00260"></a>00260 
<a name="l00261"></a>00261   <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> i = 0; i &lt; 40; ++i) {
<a name="l00262"></a>00262     <span class="keywordtype">double</span> x = (<span class="keyword">static_cast&lt;</span><span class="keywordtype">double</span><span class="keyword">&gt;</span>(i) - 20) / 4;
<a name="l00263"></a>00263 
<a name="l00264"></a>00264     model-&gt;<a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WAbstractItemModel.html#a70856db8c322be8c7f397a932165a943">setData</a>(i, 0, x);
<a name="l00265"></a>00265     model-&gt;<a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WAbstractItemModel.html#a70856db8c322be8c7f397a932165a943">setData</a>(i, 1, sin(x));
<a name="l00266"></a>00266   }
<a name="l00267"></a>00267  
<a name="l00268"></a>00268   <span class="comment">/*</span>
<a name="l00269"></a>00269 <span class="comment">   * Create the scatter plot.</span>
<a name="l00270"></a>00270 <span class="comment">   */</span>
<a name="l00271"></a>00271   <a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1Chart_1_1WCartesianChart.html">WCartesianChart</a> *chart = <span class="keyword">new</span> <a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1Chart_1_1WCartesianChart.html">WCartesianChart</a>(<span class="keyword">this</span>);
<a name="l00272"></a>00272   chart-&gt;<a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1Chart_1_1WAbstractChart.html#aa23d116689e939301470398df8ad5c8b">setModel</a>(model);        <span class="comment">// set the model</span>
<a name="l00273"></a>00273   chart-&gt;<a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1Chart_1_1WCartesianChart.html#a6c954fa4ed6d73f00ee973bfe3af5ed0">setXSeriesColumn</a>(0);    <span class="comment">// set the column that holds the X data</span>
<a name="l00274"></a>00274   chart-&gt;<a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1Chart_1_1WCartesianChart.html#a26c3d97f4884da079e01e7b50447a915">setLegendEnabled</a>(<span class="keyword">true</span>); <span class="comment">// enable the legend</span>
<a name="l00275"></a>00275 
<a name="l00276"></a>00276   chart-&gt;<a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1Chart_1_1WCartesianChart.html#a02775290965d59ffba03da574925e387">setType</a>(<a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/group__charts.html#gga8d63464f873580c77508e1c0c26cbfeaa6ddab43d32242eb28831938a1e469a1f">ScatterPlot</a>);   <span class="comment">// set type to ScatterPlot</span>
<a name="l00277"></a>00277 
<a name="l00278"></a>00278   <span class="comment">// Typically, for mathematical functions, you want the axes to cross</span>
<a name="l00279"></a>00279   <span class="comment">// at the 0 mark:</span>
<a name="l00280"></a>00280   chart-&gt;<a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1Chart_1_1WCartesianChart.html#af966d6ee6b2e43e6b26e794459005375">axis</a>(<a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/group__charts.html#ggaddb678f67fbd9f374fcee0922f158c9fa2a592919e6cbd94bf09e1259559499b5">XAxis</a>).<a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1Chart_1_1WAxis.html#a6dab2f46117b85a4a6f439e4f194ee82">setLocation</a>(<a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/group__charts.html#gga77eb6d0cefa4a012950ea972b471b849af2e58ce3483a5ec496f65fb808ce72b9">ZeroValue</a>);
<a name="l00281"></a>00281   chart-&gt;<a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1Chart_1_1WCartesianChart.html#af966d6ee6b2e43e6b26e794459005375">axis</a>(<a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/group__charts.html#ggaddb678f67fbd9f374fcee0922f158c9fa2e1017fdef77b4663715c3d7663a4db4">YAxis</a>).<a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1Chart_1_1WAxis.html#a6dab2f46117b85a4a6f439e4f194ee82">setLocation</a>(<a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/group__charts.html#gga77eb6d0cefa4a012950ea972b471b849af2e58ce3483a5ec496f65fb808ce72b9">ZeroValue</a>);
<a name="l00282"></a>00282 
<a name="l00283"></a>00283   <span class="comment">// Provide space for the X and Y axis and title. </span>
<a name="l00284"></a>00284   chart-&gt;<a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1Chart_1_1WAbstractChart.html#ace6ea85014f731c7034e4215710a8a48">setPlotAreaPadding</a>(80, <a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/namespaceWt.html#a5a6f4636bcc6ab3c075165d249b3a5a3a6568fecac7c7d7223afaed240bcfdd9e">Left</a>);
<a name="l00285"></a>00285   chart-&gt;<a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1Chart_1_1WAbstractChart.html#ace6ea85014f731c7034e4215710a8a48">setPlotAreaPadding</a>(40, <a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/namespaceWt.html#a5a6f4636bcc6ab3c075165d249b3a5a3a68b058364f8c2380c1d369a321f22f92">Top</a> | <a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/namespaceWt.html#a5a6f4636bcc6ab3c075165d249b3a5a3a87ae7d3cb692a5a4e8f18a7fea93a8a8">Bottom</a>);
<a name="l00286"></a>00286 
<a name="l00287"></a>00287   <span class="comment">// Add the curves</span>
<a name="l00288"></a>00288   <a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1Chart_1_1WDataSeries.html">WDataSeries</a> s(1, <a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/group__charts.html#gga44d64e4a9d08c7ef69648f4a9c3e4053a805880e23c0292fb7a66b2cda2a2f5bf">CurveSeries</a>);
<a name="l00289"></a>00289   s.<a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1Chart_1_1WDataSeries.html#a683e2c2d0d4b94631be803600b519e9a">setShadow</a>(<a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WShadow.html">WShadow</a>(3, 3, <a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WColor.html">WColor</a>(0, 0, 0, 127), 3));
<a name="l00290"></a>00290   chart-&gt;<a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1Chart_1_1WCartesianChart.html#afa4ac6588e6e2e0dd93320c3a0541d46">addSeries</a>(s);
<a name="l00291"></a>00291 
<a name="l00292"></a>00292   chart-&gt;<a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WPaintedWidget.html#aa57b940110d240951d0e3a6d03390319">resize</a>(800, 300); <span class="comment">// WPaintedWidget must be given explicit size</span>
<a name="l00293"></a>00293 
<a name="l00294"></a>00294   chart-&gt;<a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WWebWidget.html#a9795c18e926b26b97fcbabc62a1dd4e3">setMargin</a>(10, <a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/namespaceWt.html#a5a6f4636bcc6ab3c075165d249b3a5a3a68b058364f8c2380c1d369a321f22f92">Top</a> | <a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/namespaceWt.html#a5a6f4636bcc6ab3c075165d249b3a5a3a87ae7d3cb692a5a4e8f18a7fea93a8a8">Bottom</a>);            <span class="comment">// add margin vertically</span>
<a name="l00295"></a>00295   chart-&gt;<a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WWebWidget.html#a9795c18e926b26b97fcbabc62a1dd4e3">setMargin</a>(WLength::Auto, <a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/namespaceWt.html#a5a6f4636bcc6ab3c075165d249b3a5a3a6568fecac7c7d7223afaed240bcfdd9e">Left</a> | <a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/namespaceWt.html#a5a6f4636bcc6ab3c075165d249b3a5a3acf431c3ce5eb6f14c0390feb14a68004">Right</a>); <span class="comment">// center horizontally</span>
<a name="l00296"></a>00296 
<a name="l00297"></a>00297   <a class="code" href="classChartConfig.html" title="A class that allows configuration of a cartesian chart.">ChartConfig</a> *config = <span class="keyword">new</span> <a class="code" href="classChartConfig.html" title="A class that allows configuration of a cartesian chart.">ChartConfig</a>(chart, <span class="keyword">this</span>);
<a name="l00298"></a>00298   config-&gt;<a class="code" href="classChartConfig.html#a5f4ddb33c53dc6907dcf73c2598ad0fa">setValueFill</a>(<a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/group__charts.html#gga7236e5b04bdb6f393162842982b4d1a0a50b16db97a187f9acccdbeecf8732ff0">ZeroValueFill</a>);
<a name="l00299"></a>00299 }
<a name="l00300"></a>00300 
<a name="l00301"></a><a class="code" href="classPieExample.html#a23e7441e0e0e19e4dda48ee17bf651ca">00301</a> <a class="code" href="classPieExample.html#a23e7441e0e0e19e4dda48ee17bf651ca" title="Creates the pie chart example.">PieExample::PieExample</a>(<a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WContainerWidget.html">WContainerWidget</a> *parent):
<a name="l00302"></a>00302   <a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WContainerWidget.html">WContainerWidget</a>(parent)
<a name="l00303"></a>00303 {
<a name="l00304"></a>00304   <span class="keyword">new</span> <a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WText.html">WText</a>(WString::tr(<span class="stringliteral">&quot;pie chart&quot;</span>), <span class="keyword">this</span>);
<a name="l00305"></a>00305 
<a name="l00306"></a>00306   <a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WStandardItemModel.html">WStandardItemModel</a> *model = <span class="keyword">new</span> <a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WStandardItemModel.html">WStandardItemModel</a>(<span class="keyword">this</span>);
<a name="l00307"></a>00307   
<a name="l00308"></a>00308   <span class="comment">//headers</span>
<a name="l00309"></a>00309   model-&gt;<a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WAbstractItemModel.html#a1eded9eb68b9247ae2ff371f74a5e5f2">insertColumns</a>(model-&gt;<a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WAbstractItemModel.html#abcf7912a95a0a60f8e9b1c37d30b8383">columnCount</a>(), 2);
<a name="l00310"></a>00310   model-&gt;<a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WAbstractItemModel.html#a57f5d417f933440db0d38ece7dd370f4">setHeaderData</a>(0, <a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WString.html">WString</a>(<span class="stringliteral">&quot;Item&quot;</span>));
<a name="l00311"></a>00311   model-&gt;<a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WAbstractItemModel.html#a57f5d417f933440db0d38ece7dd370f4">setHeaderData</a>(1, <a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WString.html">WString</a>(<span class="stringliteral">&quot;Sales&quot;</span>));
<a name="l00312"></a>00312 
<a name="l00313"></a>00313   <span class="comment">//data</span>
<a name="l00314"></a>00314   model-&gt;<a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WAbstractItemModel.html#abcafc38dc24fd9edf70eafe834ca411d">insertRows</a>(model-&gt;<a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WAbstractItemModel.html#ab0709a8f71fd5df882f29bb29fd055f0">rowCount</a>(), 6);
<a name="l00315"></a>00315   <span class="keywordtype">int</span> row = 0;
<a name="l00316"></a>00316   model-&gt;<a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WAbstractItemModel.html#a70856db8c322be8c7f397a932165a943">setData</a>(row, 0, <a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WString.html">WString</a>(<span class="stringliteral">&quot;Blueberry&quot;</span>));
<a name="l00317"></a>00317   model-&gt;<a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WAbstractItemModel.html#a70856db8c322be8c7f397a932165a943">setData</a>(row, 1, 120);
<a name="l00318"></a>00318   <span class="comment">// model-&gt;setData(row, 1, WString(&quot;Blueberry&quot;), ToolTipRole);</span>
<a name="l00319"></a>00319   row++;
<a name="l00320"></a>00320   model-&gt;<a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WAbstractItemModel.html#a70856db8c322be8c7f397a932165a943">setData</a>(row, 0, <a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WString.html">WString</a>(<span class="stringliteral">&quot;Cherry&quot;</span>));
<a name="l00321"></a>00321   model-&gt;<a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WAbstractItemModel.html#a70856db8c322be8c7f397a932165a943">setData</a>(row, 1, 30);
<a name="l00322"></a>00322   row++;
<a name="l00323"></a>00323   model-&gt;<a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WAbstractItemModel.html#a70856db8c322be8c7f397a932165a943">setData</a>(row, 0, <a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WString.html">WString</a>(<span class="stringliteral">&quot;Apple&quot;</span>));
<a name="l00324"></a>00324   model-&gt;<a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WAbstractItemModel.html#a70856db8c322be8c7f397a932165a943">setData</a>(row, 1, 260);
<a name="l00325"></a>00325   row++;
<a name="l00326"></a>00326   model-&gt;<a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WAbstractItemModel.html#a70856db8c322be8c7f397a932165a943">setData</a>(row, 0, <a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WString.html">WString</a>(<span class="stringliteral">&quot;Boston Cream&quot;</span>));
<a name="l00327"></a>00327   model-&gt;<a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WAbstractItemModel.html#a70856db8c322be8c7f397a932165a943">setData</a>(row, 1, 160);
<a name="l00328"></a>00328   row++;
<a name="l00329"></a>00329   model-&gt;<a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WAbstractItemModel.html#a70856db8c322be8c7f397a932165a943">setData</a>(row, 0, <a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WString.html">WString</a>(<span class="stringliteral">&quot;Other&quot;</span>));
<a name="l00330"></a>00330   model-&gt;<a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WAbstractItemModel.html#a70856db8c322be8c7f397a932165a943">setData</a>(row, 1, 40);
<a name="l00331"></a>00331   row++;
<a name="l00332"></a>00332   model-&gt;<a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WAbstractItemModel.html#a70856db8c322be8c7f397a932165a943">setData</a>(row, 0, <a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WString.html">WString</a>(<span class="stringliteral">&quot;Vanilla Cream&quot;</span>));
<a name="l00333"></a>00333   model-&gt;<a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WAbstractItemModel.html#a70856db8c322be8c7f397a932165a943">setData</a>(row, 1, 120);
<a name="l00334"></a>00334   row++;
<a name="l00335"></a>00335 
<a name="l00336"></a>00336   <span class="comment">//set all items to be editable and selectable</span>
<a name="l00337"></a>00337   <span class="keywordflow">for</span> (<span class="keywordtype">int</span> row = 0; row &lt; model-&gt;<a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WAbstractItemModel.html#ab0709a8f71fd5df882f29bb29fd055f0">rowCount</a>(); ++row)
<a name="l00338"></a>00338     <span class="keywordflow">for</span> (<span class="keywordtype">int</span> col = 0; col &lt; model-&gt;<a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WAbstractItemModel.html#abcf7912a95a0a60f8e9b1c37d30b8383">columnCount</a>(); ++col)
<a name="l00339"></a>00339       model-&gt;<a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WStandardItemModel.html#a32d755ace793c2110b0fa5d650a0d577">item</a>(row, col)-&gt;<a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WStandardItem.html#aedf80dfed644a525e5d726a4b6e74b94">setFlags</a>(<a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/group__modelview.html#gga1d77c4de293aebfacbdde124de06b8b0a77f858c86a06358abdcc64e4f9d03e40">ItemIsSelectable</a> | <a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/group__modelview.html#gga1d77c4de293aebfacbdde124de06b8b0a8664c482d721bbcb73539a924c7a9fab">ItemIsEditable</a>);
<a name="l00340"></a>00340 
<a name="l00341"></a>00341   <a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WContainerWidget.html">WContainerWidget</a> *w = <span class="keyword">new</span> <a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WContainerWidget.html#a520ba6e52a36a7f2efbef1a31a69e898">WContainerWidget</a>(<span class="keyword">this</span>);
<a name="l00342"></a>00342   <a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WTableView.html">WTableView</a>* table = <span class="keyword">new</span> <a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WTableView.html">WTableView</a>(w);
<a name="l00343"></a>00343 
<a name="l00344"></a>00344   table-&gt;<a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WCompositeWidget.html#addf49ace29b76331067c86bc4ae6ac38">setMargin</a>(10, <a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/namespaceWt.html#a5a6f4636bcc6ab3c075165d249b3a5a3a68b058364f8c2380c1d369a321f22f92">Top</a> | <a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/namespaceWt.html#a5a6f4636bcc6ab3c075165d249b3a5a3a87ae7d3cb692a5a4e8f18a7fea93a8a8">Bottom</a>);
<a name="l00345"></a>00345   table-&gt;<a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WCompositeWidget.html#addf49ace29b76331067c86bc4ae6ac38">setMargin</a>(WLength::Auto, <a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/namespaceWt.html#a5a6f4636bcc6ab3c075165d249b3a5a3a6568fecac7c7d7223afaed240bcfdd9e">Left</a> | <a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/namespaceWt.html#a5a6f4636bcc6ab3c075165d249b3a5a3acf431c3ce5eb6f14c0390feb14a68004">Right</a>);
<a name="l00346"></a>00346   table-&gt;<a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WAbstractItemView.html#ae1c86a0f37f97f63aed3b00fd8ffad7c">setSortingEnabled</a>(<span class="keyword">true</span>);
<a name="l00347"></a>00347   table-&gt;<a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WTableView.html#a2e3629fbaee86da21c77c4583efb79ed">setModel</a>(model);
<a name="l00348"></a>00348   table-&gt;<a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WTableView.html#af37d27044e96919e2fa6af4e25f3ef67">setColumnWidth</a>(1, 100);
<a name="l00349"></a>00349   table-&gt;<a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WTableView.html#ab17c45b65e38c22c0230062696c36e61">setRowHeight</a>(22);
<a name="l00350"></a>00350 
<a name="l00351"></a>00351   <span class="keywordflow">if</span> (WApplication::instance()-&gt;environment().ajax()) {
<a name="l00352"></a>00352     table-&gt;<a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WTableView.html#a921a3a6c489b584b261c6b7c7bf720d8">resize</a>(150 + 100 + 14, 20 + 6 * 22);
<a name="l00353"></a>00353     table-&gt;<a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WAbstractItemView.html#a93d2efc8642a6b9c55b35b7665a13da5">setEditTriggers</a>(WAbstractItemView::SingleClicked);
<a name="l00354"></a>00354   } <span class="keywordflow">else</span> {
<a name="l00355"></a>00355     table-&gt;<a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WTableView.html#a921a3a6c489b584b261c6b7c7bf720d8">resize</a>(150 + 100 + 14, WLength::Auto);
<a name="l00356"></a>00356     table-&gt;<a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WAbstractItemView.html#a93d2efc8642a6b9c55b35b7665a13da5">setEditTriggers</a>(WAbstractItemView::NoEditTrigger);    
<a name="l00357"></a>00357   }
<a name="l00358"></a>00358 
<a name="l00359"></a>00359   <span class="comment">/*</span>
<a name="l00360"></a>00360 <span class="comment">   * Create the pie chart.</span>
<a name="l00361"></a>00361 <span class="comment">   */</span>
<a name="l00362"></a>00362   <a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1Chart_1_1WPieChart.html">WPieChart</a> *chart = <span class="keyword">new</span> <a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1Chart_1_1WPieChart.html">WPieChart</a>(<span class="keyword">this</span>);
<a name="l00363"></a>00363   chart-&gt;<a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1Chart_1_1WAbstractChart.html#aa23d116689e939301470398df8ad5c8b">setModel</a>(model);       <span class="comment">// set the model</span>
<a name="l00364"></a>00364   chart-&gt;<a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1Chart_1_1WPieChart.html#aa40bfd3f2095106f8081596b235de4c6">setLabelsColumn</a>(0);    <span class="comment">// set the column that holds the labels</span>
<a name="l00365"></a>00365   chart-&gt;<a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1Chart_1_1WPieChart.html#a3692ea22a1417e599e9358b0ed5a723d">setDataColumn</a>(1);      <span class="comment">// set the column that holds the data</span>
<a name="l00366"></a>00366 
<a name="l00367"></a>00367   <span class="comment">// configure location and type of labels</span>
<a name="l00368"></a>00368   chart-&gt;<a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1Chart_1_1WPieChart.html#a89324f6159e5893e1ddd368718d00e5d">setDisplayLabels</a>(<a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/group__charts.html#gga9345394a8eeda6800d8a24c5df44d983a88861128e109b6a63e76a311dc57e408">Outside</a> | <a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/group__charts.html#gga9345394a8eeda6800d8a24c5df44d983a60df9add81425373c20fafe8c4e40b0e">TextLabel</a> | <a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/group__charts.html#gga9345394a8eeda6800d8a24c5df44d983a307741727c5ef5e33efcd347a0853e50">TextPercentage</a>);
<a name="l00369"></a>00369 
<a name="l00370"></a>00370   <span class="comment">// enable a 3D and shadow effect</span>
<a name="l00371"></a>00371   chart-&gt;<a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1Chart_1_1WPieChart.html#ae36d57f4c2801cb8599a1bc99e340a24">setPerspectiveEnabled</a>(<span class="keyword">true</span>, 0.2);
<a name="l00372"></a>00372   chart-&gt;<a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1Chart_1_1WPieChart.html#a74b91c0514247ba9ea91b53fbae795f7">setShadowEnabled</a>(<span class="keyword">true</span>);
<a name="l00373"></a>00373 
<a name="l00374"></a>00374   <span class="comment">// explode the first item</span>
<a name="l00375"></a>00375   chart-&gt;<a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1Chart_1_1WPieChart.html#a4a2bfe0c147b5433d340d49351b5032c">setExplode</a>(0, 0.3);
<a name="l00376"></a>00376 
<a name="l00377"></a>00377   chart-&gt;<a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WPaintedWidget.html#aa57b940110d240951d0e3a6d03390319">resize</a>(800, 300); <span class="comment">// WPaintedWidget must be given an explicit size</span>
<a name="l00378"></a>00378 
<a name="l00379"></a>00379   chart-&gt;<a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WWebWidget.html#a9795c18e926b26b97fcbabc62a1dd4e3">setMargin</a>(10, <a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/namespaceWt.html#a5a6f4636bcc6ab3c075165d249b3a5a3a68b058364f8c2380c1d369a321f22f92">Top</a> | <a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/namespaceWt.html#a5a6f4636bcc6ab3c075165d249b3a5a3a87ae7d3cb692a5a4e8f18a7fea93a8a8">Bottom</a>);            <span class="comment">// add margin vertically</span>
<a name="l00380"></a>00380   chart-&gt;<a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WWebWidget.html#a9795c18e926b26b97fcbabc62a1dd4e3">setMargin</a>(WLength::Auto, <a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/namespaceWt.html#a5a6f4636bcc6ab3c075165d249b3a5a3a6568fecac7c7d7223afaed240bcfdd9e">Left</a> | <a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/namespaceWt.html#a5a6f4636bcc6ab3c075165d249b3a5a3acf431c3ce5eb6f14c0390feb14a68004">Right</a>); <span class="comment">// center horizontally</span>
<a name="l00381"></a>00381 }
<a name="l00382"></a>00382 
</pre></div></div>
</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&nbsp;<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>