@@ -44,9 +44,21 @@ namespace {
4444 readFromCsv (f , model );
4545
4646 for (int row = 0 ; row < model -> rowCount (); ++ row )
47- for (int col = 0 ; col < model -> columnCount (); ++ col )
47+ for (int col = 0 ; col < model -> columnCount (); ++ col ) {
4848 model -> item (row , col )-> setFlags (ItemIsSelectable | ItemIsEditable );
4949
50+ /*
51+ Example of tool tips (disabled here because they are not updated
52+ when editing data)
53+ */
54+
55+ /*
56+ WString toolTip = asString(model->headerData(col)) + ": "
57+ + asString(model->item(row, col)->data(DisplayRole), "%.f");
58+ model->item(row, col)->setToolTip(toolTip);
59+ */
60+ }
61+
5062 return model ;
5163 } else {
5264 WString error (WString ::tr ("error-missing-data" ));
@@ -73,8 +85,8 @@ CategoryExample::CategoryExample(Wt::WContainerWidget *parent):
7385{
7486 new WText (WString ::tr ("category chart" ), this );
7587
76- WAbstractItemModel * model = readCsvFile (
77- WApplication :: appRoot () + "category.csv" , this );
88+ WAbstractItemModel * model = readCsvFile (WApplication :: appRoot () + "category.csv" ,
89+ this );
7890
7991 if (!model )
8092 return ;
@@ -128,7 +140,7 @@ CategoryExample::CategoryExample(Wt::WContainerWidget *parent):
128140 chart -> setPlotAreaPadding (50 , Top | Bottom );
129141
130142 /*
131- * Add all (but first) column as bar series
143+ * Add all (but first) column as bar series
132144 */
133145 for (int i = 1 ; i < model -> columnCount (); ++ i ) {
134146 WDataSeries s (i , BarSeries );
@@ -164,7 +176,7 @@ TimeSeriesExample::TimeSeriesExample(Wt::WContainerWidget *parent):
164176 for (int i = 0 ; i < model -> rowCount (); ++ i ) {
165177 WString s = asString (model -> data (i , 0 ));
166178 WDate d = WDate ::fromString (s , "dd/MM/yy" );
167- model -> setData (i , 0 , boost :: any ( d ) );
179+ model -> setData (i , 0 , d );
168180 }
169181
170182 // Show a view that allows editing of the model.
@@ -242,14 +254,14 @@ ScatterPlotExample::ScatterPlotExample(WContainerWidget *parent):
242254 new WText (WString ::tr ("scatter plot 2 "), this );
243255
244256 WStandardItemModel * model = new WStandardItemModel (40 , 2 , this );
245- model -> setHeaderData (0 , boost :: any ( WString ("X" ) ));
246- model -> setHeaderData (1 , boost :: any ( WString ("Y = sin(X)" ) ));
257+ model -> setHeaderData (0 , WString ("X" ));
258+ model -> setHeaderData (1 , WString ("Y = sin(X)" ));
247259
248260 for (unsigned i = 0 ; i < 40 ; ++ i ) {
249261 double x = (static_cast < double > (i ) - 20 ) / 4 ;
250262
251- model -> setData (i , 0 , boost :: any ( x ) );
252- model -> setData (i , 1 , boost :: any ( sin (x ) ));
263+ model -> setData (i , 0 , x );
264+ model -> setData (i , 1 , sin (x ));
253265 }
254266
255267 /*
@@ -294,29 +306,30 @@ PieExample::PieExample(WContainerWidget *parent):
294306
295307 //headers
296308 model -> insertColumns (model -> columnCount (), 2 );
297- model -> setHeaderData (0 , boost :: any ( WString ("Item" ) ));
298- model -> setHeaderData (1 , boost :: any ( WString ("Sales" ) ));
309+ model -> setHeaderData (0 , WString ("Item" ));
310+ model -> setHeaderData (1 , WString ("Sales" ));
299311
300312 //data
301313 model -> insertRows (model -> rowCount (), 6 );
302314 int row = 0 ;
303- model -> setData (row , 0 , boost ::any (WString ("Blueberry" )));
304- model -> setData (row , 1 , boost ::any (120 ));
315+ model -> setData (row , 0 , WString ("Blueberry" ));
316+ model -> setData (row , 1 , 120 );
317+ // model->setData(row, 1, WString("Blueberry"), ToolTipRole);
305318 row ++ ;
306- model -> setData (row , 0 , boost :: any ( WString ("Cherry" ) ));
307- model -> setData (row , 1 , boost :: any ( 30 ) );
319+ model -> setData (row , 0 , WString ("Cherry" ));
320+ model -> setData (row , 1 , 30 );
308321 row ++ ;
309- model -> setData (row , 0 , boost :: any ( WString ("Apple" ) ));
310- model -> setData (row , 1 , boost :: any ( 260 ) );
322+ model -> setData (row , 0 , WString ("Apple" ));
323+ model -> setData (row , 1 , 260 );
311324 row ++ ;
312- model -> setData (row , 0 , boost :: any ( WString ("Boston Cream" ) ));
313- model -> setData (row , 1 , boost :: any ( 160 ) );
325+ model -> setData (row , 0 , WString ("Boston Cream" ));
326+ model -> setData (row , 1 , 160 );
314327 row ++ ;
315- model -> setData (row , 0 , boost :: any ( WString ("Other" ) ));
316- model -> setData (row , 1 , boost :: any ( 40 ) );
328+ model -> setData (row , 0 , WString ("Other" ));
329+ model -> setData (row , 1 , 40 );
317330 row ++ ;
318- model -> setData (row , 0 , boost :: any ( WString ("Vanilla Cream" ) ));
319- model -> setData (row , 1 , boost :: any ( 120 ) );
331+ model -> setData (row , 0 , WString ("Vanilla Cream" ));
332+ model -> setData (row , 1 , 120 );
320333 row ++ ;
321334
322335 //set all items to be editable and selectable
0 commit comments