Wt examples  3.3.6
Public Member Functions | Private Member Functions | Private Attributes | List of all members
LettersWidget Class Reference

#include <LettersWidget.h>

Inheritance diagram for LettersWidget:
Inheritance graph
[legend]

Public Member Functions

 LettersWidget (Wt::WContainerWidget *parent=0)
 
void reset ()
 
Wt::Signal< char > & letterPushed ()
 

Private Member Functions

void processButton (Wt::WPushButton *b)
 
void processButtonPushed (const Wt::WKeyEvent &e, Wt::WPushButton *b)
 

Private Attributes

Wt::WTable * impl_
 
std::vector< Wt::WPushButton * > letterButtons_
 
Wt::Signal< char > letterPushed_
 

Detailed Description

Definition at line 19 of file LettersWidget.h.

Constructor & Destructor Documentation

◆ LettersWidget()

LettersWidget::LettersWidget ( Wt::WContainerWidget *  parent = 0)

Definition at line 16 of file LettersWidget.C.

17  : WCompositeWidget(parent)
18 {
19  setImplementation(impl_ = new WTable());
20 
21  impl_->resize(13*30, WLength::Auto);
22 
23  for (unsigned int i = 0; i < 26; ++i) {
24  std::string c(1, 'A' + i);
25  WPushButton *character = new WPushButton(c,
26  impl_->elementAt(i / 13, i % 13));
27  letterButtons_.push_back(character);
28  character->resize(WLength(30), WLength::Auto);
29 
30  character->clicked().connect
31  (boost::bind(&LettersWidget::processButton, this, character));
32 
33  WApplication::instance()->globalKeyPressed().connect
34  (boost::bind(&LettersWidget::processButtonPushed, this, _1, character));
35  }
36 }
void processButton(Wt::WPushButton *b)
Definition: LettersWidget.C:38
std::vector< Wt::WPushButton * > letterButtons_
Definition: LettersWidget.h:30
void processButtonPushed(const Wt::WKeyEvent &e, Wt::WPushButton *b)
Definition: LettersWidget.C:44
Wt::WTable * impl_
Definition: LettersWidget.h:29

Member Function Documentation

◆ letterPushed()

Wt::Signal<char>& LettersWidget::letterPushed ( )
inline

Definition at line 26 of file LettersWidget.h.

26 { return letterPushed_; }
Wt::Signal< char > letterPushed_
Definition: LettersWidget.h:32

◆ processButton()

void LettersWidget::processButton ( Wt::WPushButton *  b)
private

Definition at line 38 of file LettersWidget.C.

39 {
40  b->disable();
41  letterPushed_.emit(b->text().toUTF8()[0]);
42 }
Wt::Signal< char > letterPushed_
Definition: LettersWidget.h:32

◆ processButtonPushed()

void LettersWidget::processButtonPushed ( const Wt::WKeyEvent &  e,
Wt::WPushButton *  b 
)
private

Definition at line 44 of file LettersWidget.C.

45 {
46  if(isHidden())
47  return;
48 
49  if(e.key() == b->text().toUTF8()[0])
50  processButton(b);
51 }
void processButton(Wt::WPushButton *b)
Definition: LettersWidget.C:38

◆ reset()

void LettersWidget::reset ( )

Definition at line 53 of file LettersWidget.C.

54 {
55  for (unsigned int i = 0; i < letterButtons_.size(); ++i)
56  letterButtons_[i]->enable();
57 
58  show();
59 }
std::vector< Wt::WPushButton * > letterButtons_
Definition: LettersWidget.h:30

Member Data Documentation

◆ impl_

Wt::WTable* LettersWidget::impl_
private

Definition at line 29 of file LettersWidget.h.

◆ letterButtons_

std::vector<Wt::WPushButton *> LettersWidget::letterButtons_
private

Definition at line 30 of file LettersWidget.h.

◆ letterPushed_

Wt::Signal<char> LettersWidget::letterPushed_
private

Definition at line 32 of file LettersWidget.h.


The documentation for this class was generated from the following files:

Generated on Thu Jan 12 2017 for the C++ Web Toolkit (Wt) by doxygen 1.8.13