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

#include <LettersWidget.h>

Inheritance diagram for LettersWidget:
[legend]

Public Member Functions

 LettersWidget ()
 
virtual ~LettersWidget ()
 
void reset ()
 
Wt::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 final override
 
virtual void setScrollVisibilityEnabled (bool enabled) final override
 
virtual int scrollVisibilityMargin () const final override
 
virtual void setScrollVisibilityMargin (int margin) final override
 
virtual Signal< bool > & scrollVisibilityChanged () final override
 
virtual bool isScrollVisible () const final override
 
virtual void setThemeStyleEnabled (bool enabled) final override
 
virtual bool isThemeStyleEnabled () const final override
 
virtual std::unique_ptr< WWidgetremoveWidget (WWidget *widget)
 
std::unique_ptr< Widget > removeWidget (Widget *widget)
 
void setFocus ()
 
virtual void setFocus (bool focus)=0
 
- Public Member Functions inherited from Wt::WWidget
virtual ~WWidget ()
 
WWidgetparent () const
 
std::unique_ptr< Widget > removeWidget (Widget *widget)
 
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)
 
std::unique_ptr< Child > removeChild (Child *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 () noexcept
 
virtual ~observable ()
 
auto bindSafe (void(C::*method)(Args...)) noexcept
 
auto bindSafe (void(C::*method)(Args...) const) const noexcept
 
auto bindSafe (const Function &function) noexcept
 

Private Member Functions

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

Private Attributes

Wt::WTableimpl_ = nullptr
 
std::vector< Wt::WPushButton * > letterButtons_
 
std::vector< Wt::Signals::connection > connections_
 
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 () override
 
void setImplementation (std::unique_ptr< WWidget > widget)
 
Widget * setImplementation (std::unique_ptr< Widget > widget)
 
W * setNewImplementation (Args &&... args)
 
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 19 of file LettersWidget.h.

Constructor & Destructor Documentation

◆ LettersWidget()

LettersWidget::LettersWidget ( )

Definition at line 16 of file LettersWidget.C.

17 {
18  impl_ = setNewImplementation<WTable>();
19 
20  impl_->resize(13*30, WLength::Auto);
21 
22  for (unsigned int i = 0; i < 26; ++i) {
23  std::string c(1, 'A' + i);
24  auto character = impl_->elementAt(i / 13, i % 13)->addNew<WPushButton>(c);
25  letterButtons_.push_back(character);
26  character->resize(WLength(30), WLength::Auto);
27 
28  character->clicked().connect
29  (std::bind(&LettersWidget::processButton, this, character));
30 
31  connections_.push_back(WApplication::instance()->globalKeyPressed().connect
32  (std::bind(&LettersWidget::processButtonPushed, this, std::placeholders::_1, character)));
33  }
34 }
void processButton(Wt::WPushButton *b)
Definition: LettersWidget.C:42
std::vector< Wt::WPushButton * > letterButtons_
Definition: LettersWidget.h:31
std::vector< Wt::Signals::connection > connections_
Definition: LettersWidget.h:32
Wt::WTable * impl_
Definition: LettersWidget.h:30
void processButtonPushed(const Wt::WKeyEvent &e, Wt::WPushButton *b)
Definition: LettersWidget.C:48
Widget * addNew(Args &&...args)
WTableCell * elementAt(int row, int column)
virtual void resize(const WLength &width, const WLength &height) override

◆ ~LettersWidget()

LettersWidget::~LettersWidget ( )
virtual

Definition at line 36 of file LettersWidget.C.

37 {
38  for (auto &connection : connections_)
39  connection.disconnect();
40 }

Member Function Documentation

◆ letterPushed()

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

Definition at line 27 of file LettersWidget.h.

27 { return letterPushed_; }
Wt::Signal< char > letterPushed_
Definition: LettersWidget.h:34

◆ processButton()

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

Definition at line 42 of file LettersWidget.C.

43 {
44  b->disable();
45  letterPushed_.emit(b->text().toUTF8()[0]);
46 }
void emit(A... args) const
const WString & text() const
std::string toUTF8() const
void disable()

◆ processButtonPushed()

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

Definition at line 48 of file LettersWidget.C.

49 {
50  if (isHidden())
51  return;
52 
53  if(e.key() == static_cast<Key>(b->text().toUTF8()[0]))
54  processButton(b);
55 }
virtual bool isHidden() const override
Key key() const

◆ reset()

void LettersWidget::reset ( )

Definition at line 57 of file LettersWidget.C.

58 {
59  for (auto& letterButton : letterButtons_)
60  letterButton->enable();
61 
62  show();
63 }

Member Data Documentation

◆ connections_

std::vector<Wt::Signals::connection> LettersWidget::connections_
private

Definition at line 32 of file LettersWidget.h.

◆ impl_

Wt::WTable* LettersWidget::impl_ = nullptr
private

Definition at line 30 of file LettersWidget.h.

◆ letterButtons_

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

Definition at line 31 of file LettersWidget.h.

◆ letterPushed_

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

Definition at line 34 of file LettersWidget.h.


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