Wt examples  3.3.8
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 ()
 
- Public Member Functions inherited from Wt::WCompositeWidget
 WCompositeWidget (WContainerWidget *parent=0)
 
 WCompositeWidget (WWidget *implementation, WContainerWidget *parent)
 
virtual void setObjectName (const std::string &name)
 
virtual std::string objectName () const
 
virtual const std::string id () const
 
virtual void setPositionScheme (PositionScheme scheme)
 
virtual PositionScheme positionScheme () const
 
virtual void setOffsets (const WLength &offset, WFlags< Side > sides=All)
 
virtual WLength offset (Side s) const
 
virtual void resize (const WLength &width, const WLength &height)
 
virtual WLength width () const
 
virtual WLength height () const
 
virtual void setMinimumSize (const WLength &width, const WLength &height)
 
virtual WLength minimumWidth () const
 
virtual WLength minimumHeight () const
 
virtual void setMaximumSize (const WLength &width, const WLength &height)
 
virtual WLength maximumWidth () const
 
virtual WLength maximumHeight () const
 
virtual void setLineHeight (const WLength &height)
 
virtual WLength lineHeight () const
 
virtual void setFloatSide (Side s)
 
virtual Side floatSide () const
 
virtual void setClearSides (WFlags< Side > sides)
 
virtual WFlags< SideclearSides () const
 
virtual void setMargin (const WLength &margin, WFlags< Side > sides=All)
 
virtual WLength margin (Side side) const
 
virtual void setHiddenKeepsGeometry (bool enabled)
 
virtual bool hiddenKeepsGeometry () const
 
virtual void setHidden (bool hidden, const WAnimation &animation=WAnimation())
 
virtual bool isHidden () const
 
virtual bool isVisible () const
 
virtual void setDisabled (bool disabled)
 
virtual bool isDisabled () const
 
virtual bool isEnabled () const
 
virtual void setPopup (bool popup)
 
virtual bool isPopup () const
 
virtual void setInline (bool isInline)
 
virtual bool isInline () const
 
virtual void setDecorationStyle (const WCssDecorationStyle &style)
 
virtual WCssDecorationStyledecorationStyle ()
 
virtual void setStyleClass (const WString &styleClass)
 
virtual WString styleClass () const
 
virtual void addStyleClass (const WString &styleClass, bool force=false)
 
virtual void removeStyleClass (const WString &styleClass, bool force=false)
 
virtual bool hasStyleClass (const WString &styleClass) const
 
virtual void setVerticalAlignment (AlignmentFlag alignment, const WLength &length=WLength::Auto)
 
virtual AlignmentFlag verticalAlignment () const
 
virtual WLength verticalAlignmentLength () const
 
virtual void setToolTip (const WString &text, TextFormat textFormat=PlainText)
 
virtual WString toolTip () const
 
virtual void setDeferredToolTip (bool enable, TextFormat textFormat=PlainText)
 
virtual void refresh ()
 
virtual void setAttributeValue (const std::string &name, const WString &value)
 
virtual WString attributeValue (const std::string &name) const
 
virtual void setJavaScriptMember (const std::string &name, const std::string &value)
 
virtual std::string javaScriptMember (const std::string &name) const
 
virtual void callJavaScriptMember (const std::string &name, const std::string &args)
 
virtual void load ()
 
virtual bool loaded () const
 
virtual void setCanReceiveFocus (bool enabled)
 
virtual bool canReceiveFocus () const
 
virtual void setFocus (bool focus)
 
virtual bool setFirstFocus ()
 
virtual bool hasFocus () const
 
virtual void setTabIndex (int index)
 
virtual int tabIndex () const
 
virtual void setId (const std::string &id)
 
virtual WWidgetfind (const std::string &name)
 
virtual WWidgetfindById (const std::string &name)
 
virtual void setSelectable (bool selectable)
 
virtual void doJavaScript (const std::string &js)
 
virtual void propagateSetEnabled (bool enabled)
 
virtual bool scrollVisibilityEnabled () const WT_CXX11ONLY(finaloverride)
 
virtual void setScrollVisibilityEnabled (bool enabled) WT_CXX11ONLY(finaloverride)
 
virtual int scrollVisibilityMargin () const WT_CXX11ONLY(finaloverride)
 
virtual void setScrollVisibilityMargin (int margin) WT_CXX11ONLY(finaloverride)
 
virtual Signal< bool > & scrollVisibilityChanged () WT_CXX11ONLY(finaloverride)
 
virtual bool isScrollVisible () const WT_CXX11ONLY(finaloverride)
 
virtual void setThemeStyleEnabled (bool enabled)
 
virtual bool isThemeStyleEnabled () const
 
- Public Member Functions inherited from Wt::WWidget
virtual ~WWidget ()
 
WWidgetparent () const
 
virtual void removeChild (WObject *child)
 
void setWidth (const WLength &width)
 
void setHeight (const WLength &height)
 
virtual void positionAt (const WWidget *widget, Orientation orientation=Vertical)
 
virtual void toggleStyleClass (const WString &styleClass, bool add, bool force=false)
 
std::string jsRef () const
 
void setFocus ()
 
virtual void acceptDrops (const std::string &mimeType, const WString &hoverStyleClass=WString())
 
virtual void stopAcceptDrops (const std::string &mimeType)
 
virtual void htmlText (std::ostream &out)
 
bool isRendered () const
 
void hide ()
 
void animateHide (const WAnimation &animation)
 
void show ()
 
void animateShow (const WAnimation &animation)
 
void enable ()
 
void disable ()
 
bool layoutSizeAware () const
 
- Public Member Functions inherited from Wt::WObject
 WObject (WObject *parent=0)
 
virtual ~WObject ()
 
void resetLearnedSlots ()
 
void resetLearnedSlot (void(T::*method)())
 
WStatelessSlot * implementStateless (void(T::*method)())
 
WStatelessSlot * implementStateless (void(T::*method)(), void(T::*undoMethod)())
 
void isNotStateless ()
 
WStatelessSlot * implementJavaScript (void(T::*method)(), const std::string &jsCode)
 
void addChild (WObject *child)
 
const std::vector< WObject * > & children () const
 
WObjectparent () const
 

Private Member Functions

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

Private Attributes

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

Additional Inherited Members

- Public Types inherited from Wt::WObject
typedef void(WObject::* Method) ()
 
- Static Public Member Functions inherited from Wt::WWidget
static WString tr (const char *key)
 
- Protected Member Functions inherited from Wt::WCompositeWidget
virtual void enableAjax ()
 
void setImplementation (WWidget *widget)
 
WWidgetimplementation ()
 
virtual int boxPadding (Orientation orientation) const
 
virtual int boxBorder (Orientation orientation) const
 
virtual void render (WFlags< RenderFlag > flags)
 
- Protected Member Functions inherited from Wt::WWidget
void setLayoutSizeAware (bool sizeAware)
 
virtual void layoutSizeChanged (int width, int height)
 
 WWidget (WContainerWidget *parent=0)
 
virtual void dropEvent (WDropEvent dropEvent)
 
void scheduleRender (WFlags< RepaintFlag > flags=0)
 
virtual WStatelessSlot * getStateless (Method method)
 
- Static Protected Member Functions inherited from Wt::WObject
static WObjectsender ()
 

Detailed Description

Definition at line 19 of file LettersWidget.h.

Constructor & Destructor Documentation

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

Definition at line 16 of file LettersWidget.C.

17  : WCompositeWidget(parent)
18 {
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 }
virtual void resize(const WLength &width, const WLength &height)
EventSignal< WMouseEvent > & clicked()
void setImplementation(WWidget *widget)
void processButton(Wt::WPushButton *b)
Definition: LettersWidget.C:38
WTableCell * elementAt(int row, int column)
std::vector< Wt::WPushButton * > letterButtons_
Definition: LettersWidget.h:30
void processButtonPushed(const Wt::WKeyEvent &e, Wt::WPushButton *b)
Definition: LettersWidget.C:44
WCompositeWidget(WContainerWidget *parent=0)
Wt::WTable * impl_
Definition: LettersWidget.h:29

Member Function Documentation

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
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 }
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
void disable()
Wt::Signal< char > letterPushed_
Definition: LettersWidget.h:32
const WString & text() const
std::string toUTF8() const
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 }
Key key() const
void processButton(Wt::WPushButton *b)
Definition: LettersWidget.C:38
const WString & text() const
std::string toUTF8() const
virtual bool isHidden() const
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
void enable()

Member Data Documentation

Wt::WTable* LettersWidget::impl_
private

Definition at line 29 of file LettersWidget.h.

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

Definition at line 30 of file LettersWidget.h.

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 Mon Sep 4 2017 for the C++ Web Toolkit (Wt) by doxygen 1.8.11