Wt examples  4.0.0
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 ()
 
void reset ()
 
Signal< char > & letterPushed ()
 
- Public Member Functions inherited from Wt::WCompositeWidget
 WCompositeWidget ()
 
 WCompositeWidget (std::unique_ptr< WWidget > implementation)
 
virtual std::vector< WWidget * > children () const override
 
virtual std::unique_ptr< WWidgetremoveWidget (WWidget *widget) override
 
virtual void setObjectName (const std::string &name) override
 
virtual std::string objectName () const override
 
virtual const std::string id () const override
 
virtual void setPositionScheme (PositionScheme scheme) override
 
virtual PositionScheme positionScheme () const override
 
virtual void setOffsets (const WLength &offset, WFlags< Side > sides=AllSides) override
 
virtual WLength offset (Side s) const override
 
virtual void resize (const WLength &width, const WLength &height) override
 
virtual WLength width () const override
 
virtual WLength height () const override
 
virtual void setMinimumSize (const WLength &width, const WLength &height) override
 
virtual WLength minimumWidth () const override
 
virtual WLength minimumHeight () const override
 
virtual void setMaximumSize (const WLength &width, const WLength &height) override
 
virtual WLength maximumWidth () const override
 
virtual WLength maximumHeight () const override
 
virtual void setLineHeight (const WLength &height) override
 
virtual WLength lineHeight () const override
 
virtual void setFloatSide (Side s) override
 
virtual Side floatSide () const override
 
virtual void setClearSides (WFlags< Side > sides) override
 
virtual WFlags< SideclearSides () const override
 
virtual void setMargin (const WLength &margin, WFlags< Side > sides=AllSides) override
 
virtual WLength margin (Side side) const override
 
virtual void setHiddenKeepsGeometry (bool enabled) override
 
virtual bool hiddenKeepsGeometry () const override
 
virtual void setHidden (bool hidden, const WAnimation &animation=WAnimation()) override
 
virtual bool isHidden () const override
 
virtual bool isVisible () const override
 
virtual void setDisabled (bool disabled) override
 
virtual bool isDisabled () const override
 
virtual bool isEnabled () const override
 
virtual void setPopup (bool popup) override
 
virtual bool isPopup () const override
 
virtual void setInline (bool isInline) override
 
virtual bool isInline () const override
 
virtual void setDecorationStyle (const WCssDecorationStyle &style) override
 
virtual WCssDecorationStyledecorationStyle () override
 
virtual void setStyleClass (const WString &styleClass) override
 
virtual WString styleClass () const override
 
virtual void addStyleClass (const WString &styleClass, bool force=false) override
 
virtual void removeStyleClass (const WString &styleClass, bool force=false) override
 
virtual bool hasStyleClass (const WString &styleClass) const override
 
virtual void setVerticalAlignment (AlignmentFlag alignment, const WLength &length=WLength::Auto) override
 
virtual AlignmentFlag verticalAlignment () const override
 
virtual WLength verticalAlignmentLength () const override
 
virtual void setToolTip (const WString &text, TextFormat textFormat=TextFormat::Plain) override
 
virtual WString toolTip () const override
 
virtual void setDeferredToolTip (bool enable, TextFormat textFormat=TextFormat::Plain) override
 
virtual void refresh () override
 
virtual void setAttributeValue (const std::string &name, const WString &value) override
 
virtual WString attributeValue (const std::string &name) const override
 
virtual void setJavaScriptMember (const std::string &name, const std::string &value) override
 
virtual std::string javaScriptMember (const std::string &name) const override
 
virtual void callJavaScriptMember (const std::string &name, const std::string &args) override
 
virtual void load () override
 
virtual bool loaded () const override
 
virtual void setCanReceiveFocus (bool enabled) override
 
virtual bool canReceiveFocus () const override
 
virtual void setFocus (bool focus) override
 
virtual bool setFirstFocus () override
 
virtual bool hasFocus () const override
 
virtual void setTabIndex (int index) override
 
virtual int tabIndex () const override
 
virtual void setId (const std::string &id) override
 
virtual WWidgetfind (const std::string &name) override
 
virtual WWidgetfindById (const std::string &name) override
 
virtual void setSelectable (bool selectable) override
 
virtual void doJavaScript (const std::string &js) override
 
virtual void propagateSetEnabled (bool enabled) override
 
virtual bool scrollVisibilityEnabled () const finaloverride
 
virtual void setScrollVisibilityEnabled (bool enabled) finaloverride
 
virtual int scrollVisibilityMargin () const finaloverride
 
virtual void setScrollVisibilityMargin (int margin) finaloverride
 
virtual Signal< bool > & scrollVisibilityChanged () finaloverride
 
virtual bool isScrollVisible () const finaloverride
 
virtual void setThemeStyleEnabled (bool enabled) finaloverride
 
virtual bool isThemeStyleEnabled () const finaloverride
 
- Public Member Functions inherited from Wt::WWidget
virtual ~WWidget ()
 
WWidgetparent () const
 
std::unique_ptr< WWidgetremoveFromParent ()
 
void setWidth (const WLength &width)
 
void setHeight (const WLength &height)
 
virtual void positionAt (const WWidget *widget, Orientation 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
void addChild (std::unique_ptr< WObject > child)
 
Child * addChild (std::unique_ptr< Child > child)
 
std::unique_ptr< WObjectremoveChild (WObject *child)
 
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)
 
- Public Member Functions inherited from Wt::Core::observable
 observable ()
 
virtual ~observable ()
 
auto bindSafe (void(C::*method)(Args...))
 
auto bindSafe (void(C::*method)(Args...) const) const
 
auto bindSafe (const Function &function)
 

Private Member Functions

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

Private Attributes

WTableimpl_
 
std::vector< WPushButton * > letterButtons_
 
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 () override
 
void setImplementation (std::unique_ptr< WWidget > widget)
 
WWidgetimplementation ()
 
virtual int boxPadding (Orientation orientation) const override
 
virtual int boxBorder (Orientation orientation) const override
 
virtual void render (WFlags< RenderFlag > flags) override
 
- Protected Member Functions inherited from Wt::WWidget
void setLayoutSizeAware (bool sizeAware)
 
virtual void layoutSizeChanged (int width, int height)
 
 WWidget ()
 
virtual void dropEvent (WDropEvent dropEvent)
 
void scheduleRender (WFlags< RepaintFlag > flags=None)
 
virtual WStatelessSlot * getStateless (Method method) override
 

Detailed Description

Definition at line 21 of file LettersWidget.h.

Constructor & Destructor Documentation

LettersWidget::LettersWidget ( )

Definition at line 17 of file LettersWidget.C.

19 {
20  impl_ = new WTable();
21  setImplementation(std::unique_ptr<WTable>(impl_));
22 
23  impl_->resize(13*30, WLength::Auto);
24 
25  for (unsigned int i = 0; i < 26; ++i) {
26  std::string c(1, 'A' + i);
27  WPushButton *character
28  = impl_->elementAt(i / 13, i % 13)->addWidget(cpp14::make_unique<WPushButton>(c));
29  letterButtons_.push_back(character);
30  character->resize(WLength(30), WLength::Auto);
31 
32  character->clicked().connect
33  (std::bind(&LettersWidget::processButton, this, character));
34 
35  WApplication::instance()->globalKeyPressed().connect
36  (std::bind(&LettersWidget::processButtonPushed, this, std::placeholders::_1, character));
37  }
38 }
EventSignal< WMouseEvent > & clicked()
Wt::Signals::connection connect(const F &function)
WTableCell * elementAt(int row, int column)
void processButton(WPushButton *b)
Definition: LettersWidget.C:40
void setImplementation(std::unique_ptr< WWidget > widget)
virtual void resize(const WLength &width, const WLength &height) override
void processButtonPushed(const WKeyEvent &e, WPushButton *b)
Definition: LettersWidget.C:46
std::vector< WPushButton * > letterButtons_
Definition: LettersWidget.h:32
virtual void addWidget(std::unique_ptr< WWidget > widget)
WTable * impl_
Definition: LettersWidget.h:31

Member Function Documentation

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

Definition at line 28 of file LettersWidget.h.

28 { return letterPushed_; }
Signal< char > letterPushed_
Definition: LettersWidget.h:34
void LettersWidget::processButton ( WPushButton b)
private

Definition at line 40 of file LettersWidget.C.

41 {
42  b->disable();
43  letterPushed_.emit(b->text().toUTF8()[0]);
44 }
void disable()
void emit(A...args) const
const WString & text() const
std::string toUTF8() const
Signal< char > letterPushed_
Definition: LettersWidget.h:34
void LettersWidget::processButtonPushed ( const WKeyEvent e,
WPushButton b 
)
private

Definition at line 46 of file LettersWidget.C.

47 {
48  if(isHidden())
49  return;
50 
51  if(e.key() == static_cast<Key>(b->text().toUTF8()[0]))
52  processButton(b);
53 }
Key key() const
virtual bool isHidden() const override
const WString & text() const
std::string toUTF8() const
void processButton(WPushButton *b)
Definition: LettersWidget.C:40
void LettersWidget::reset ( )

Definition at line 55 of file LettersWidget.C.

56 {
57  for (auto& letterButton : letterButtons_)
58  letterButton->enable();
59 
60  show();
61 }
std::vector< WPushButton * > letterButtons_
Definition: LettersWidget.h:32

Member Data Documentation

WTable* LettersWidget::impl_
private

Definition at line 31 of file LettersWidget.h.

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

Definition at line 32 of file LettersWidget.h.

Signal<char> LettersWidget::letterPushed_
private

Definition at line 34 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