Wt examples  3.3.1
LettersWidget.C
Go to the documentation of this file.
1 /*
2  * Copyright (C) 2011 Emweb bvba, Heverlee, Belgium
3  *
4  * See the LICENSE file for terms of use.
5  */
6 
7 #include "LettersWidget.h"
8 
9 #include <Wt/WPushButton>
10 #include <Wt/WTable>
11 
12 using namespace Wt;
13 
15  : WCompositeWidget(parent)
16 {
17  setImplementation(impl_ = new WTable());
18 
19  impl_->resize(13*30, WLength::Auto);
20 
21  for (unsigned int i = 0; i < 26; ++i) {
22  std::string c(1, 'A' + i);
23  WPushButton *character = new WPushButton(c,
24  impl_->elementAt(i / 13, i % 13));
25  letterButtons_.push_back(character);
26  character->resize(WLength(30), WLength::Auto);
27 
28  character->clicked().connect
29  (boost::bind(&LettersWidget::processButton, this, character));
30  }
31 }
32 
34 {
35  b->disable();
36  letterPushed_.emit(b->text().toUTF8()[0]);
37 }
38 
40 {
41  for (unsigned int i = 0; i < letterButtons_.size(); ++i)
42  letterButtons_[i]->enable();
43 
44  show();
45 }
LettersWidget(Wt::WContainerWidget *parent=0)
Definition: LettersWidget.C:14
void emit(A1 a1=NoClass::none, A2 a2=NoClass::none, A3 a3=NoClass::none, A4 a4=NoClass::none, A5 a5=NoClass::none, A6 a6=NoClass::none) const
Wt::Signal< char > letterPushed_
Definition: LettersWidget.h:32
void processButton(Wt::WPushButton *b)
Definition: LettersWidget.C:33
virtual void resize(const WLength &width, const WLength &height)
const WString & text() const
std::string toUTF8() const
WTableCell * elementAt(int row, int column)
std::vector< Wt::WPushButton * > letterButtons_
Definition: LettersWidget.h:30
Wt::WTable * impl_
Definition: LettersWidget.h:29

Generated on Wed Jun 11 2014 for the C++ Web Toolkit (Wt) by doxygen 1.8.7