Wt examples  3.3.1
Public Member Functions | Private Attributes | List of all members
HighScoresWidget Class Reference

#include <HighScoresWidget.h>

Inheritance diagram for HighScoresWidget:
Inheritance graph
[legend]

Public Member Functions

 HighScoresWidget (Session *session, Wt::WContainerWidget *parent=0)
 
void update ()
 
- Public Member Functions inherited from Wt::WWidget
virtual void setPositionScheme (PositionScheme scheme)=0
 
virtual PositionScheme positionScheme () const =0
 
virtual void setOffsets (const WLength &offset, WFlags< Side > sides=All)=0
 
virtual WLength offset (Side side) const =0
 
virtual void resize (const WLength &width, const WLength &height)
 
virtual WLength width () const =0
 
virtual WLength height () const =0
 
virtual void setMinimumSize (const WLength &width, const WLength &height)=0
 
virtual WLength minimumWidth () const =0
 
virtual WLength minimumHeight () const =0
 
virtual void setMaximumSize (const WLength &width, const WLength &height)=0
 
virtual WLength maximumWidth () const =0
 
virtual WLength maximumHeight () const =0
 
virtual void setLineHeight (const WLength &height)=0
 
virtual WLength lineHeight () const =0
 
virtual void setFloatSide (Side s)=0
 
virtual Side floatSide () const =0
 
virtual void setClearSides (WFlags< Side > sides)=0
 
virtual WFlags< SideclearSides () const =0
 
virtual void setMargin (const WLength &margin, WFlags< Side > sides=All)=0
 
virtual WLength margin (Side side) const =0
 
virtual void setHiddenKeepsGeometry (bool enabled)=0
 
virtual bool hiddenKeepsGeometry () const =0
 
virtual void setHidden (bool hidden, const WAnimation &animation=WAnimation())=0
 
virtual bool isHidden () const =0
 
virtual bool isVisible () const =0
 
virtual void setDisabled (bool disabled)=0
 
virtual bool isDisabled () const =0
 
virtual bool isEnabled () const =0
 
virtual void setPopup (bool popup)=0
 
virtual bool isPopup () const =0
 
virtual void setInline (bool inlined)=0
 
virtual bool isInline () const =0
 
virtual void setDecorationStyle (const WCssDecorationStyle &style)=0
 
virtual WCssDecorationStyledecorationStyle ()=0
 
virtual void setStyleClass (const WString &styleClass)=0
 
virtual WString styleClass () const =0
 
virtual void addStyleClass (const WString &styleClass, bool force=false)=0
 
virtual void removeStyleClass (const WString &styleClass, bool force=false)=0
 
virtual bool hasStyleClass (const WString &styleClass) const =0
 
virtual void setVerticalAlignment (AlignmentFlag alignment, const WLength &length=WLength::Auto)=0
 
virtual AlignmentFlag verticalAlignment () const =0
 
virtual WLength verticalAlignmentLength () const =0
 
virtual void setToolTip (const WString &text, TextFormat textFormat=PlainText)=0
 
virtual const WStringtoolTip () const =0
 
virtual void refresh ()
 
virtual void setAttributeValue (const std::string &name, const WString &value)=0
 
virtual WString attributeValue (const std::string &name) const =0
 
virtual void setJavaScriptMember (const std::string &name, const std::string &value)=0
 
virtual std::string javaScriptMember (const std::string &name) const =0
 
virtual void callJavaScriptMember (const std::string &name, const std::string &args)=0
 
virtual void load ()=0
 
virtual bool loaded () const =0
 
virtual void setTabIndex (int index)=0
 
virtual int tabIndex () const =0
 
virtual void setId (const std::string &id)=0
 
virtual WWidgetfind (const std::string &name)=0
 
virtual void setSelectable (bool selectable)=0
 
virtual void doJavaScript (const std::string &js)=0
 

Private Attributes

Sessionsession_
 

Additional Inherited Members

- Protected Member Functions inherited from Wt::WWidget
virtual void enableAjax ()=0
 
virtual void propagateSetEnabled (bool enabled)=0
 
virtual void render (WFlags< RenderFlag > flags)
 

Detailed Description

Definition at line 15 of file HighScoresWidget.h.

Constructor & Destructor Documentation

HighScoresWidget::HighScoresWidget ( Session session,
Wt::WContainerWidget parent = 0 
)

Definition at line 18 of file HighScoresWidget.C.

18  :
19  WContainerWidget(parent),
20  session_(session)
21 {
22  setContentAlignment(AlignCenter);
23  setStyleClass("highscores");
24 }
virtual void setStyleClass(const WString &styleClass)=0

Member Function Documentation

void HighScoresWidget::update ( )

Definition at line 26 of file HighScoresWidget.C.

27 {
28  clear();
29 
30  new WText("<h2>Hall of fame</h2>", this);
31 
32  int ranking = session_->findRanking();
33 
34  std::string yourScore;
35  if (ranking == 1)
36  yourScore = "Congratulations! You are currently leading the pack.";
37  else {
38  yourScore = "You are currently ranked number "
39  + boost::lexical_cast<std::string>(ranking)
40  + ". Almost there !";
41  }
42 
43  WText *score = new WText("<p>" + yourScore + "</p>", this);
44  score->addStyleClass("score");
45 
46  std::vector<User> top = session_->topUsers(20);
47 
48  WTable *table = new WTable(this);
49 
50  new WText("Rank", table->elementAt(0, 0));
51  new WText("User", table->elementAt(0, 1));
52  new WText("Games", table->elementAt(0, 2));
53  new WText("Score", table->elementAt(0, 3));
54  new WText("Last game", table->elementAt(0, 4));
55  table->setHeaderCount(1);
56 
57  int formerScore = -1;
58  int rank = 0;
59  for (unsigned i = 0; i < top.size(); i++) {
60  User u = top[i];
61 
62  if (u.score != formerScore) {
63  formerScore = u.score;
64  ++rank;
65  }
66 
67  int row = table->rowCount();
68  new WText(boost::lexical_cast<std::string>(rank),
69  table->elementAt(row, 0));
70  new WText(u.name, table->elementAt(row, 1));
71  new WText(boost::lexical_cast<std::string>(u.gamesPlayed),
72  table->elementAt(row, 2));
73  new WText(boost::lexical_cast<std::string>(u.score),
74  table->elementAt(row, 3));
75  if (!u.lastGame.isNull())
76  new WText(u.lastGame.timeTo(WDateTime::currentDateTime())
77  + " ago", table->elementAt(row, 4));
78  else
79  new WText("---", table->elementAt(row, 4));
80 
81  if (session_->login().loggedIn() && session_->userName() == u.name)
82  table->rowAt(row)->setId("self");
83  }
84 
85  WText *fineprint = new WText(tr("highscore.info"), this);
86  fineprint->addStyleClass("fineprint");
87 }
int rowCount() const
WString timeTo(const WDateTime &other, int minValue=1) const
Wt::WDateTime lastGame
Definition: User.h:30
bool loggedIn() const
int findRanking()
Definition: Session.C:192
Definition: User.h:22
int gamesPlayed
Definition: User.h:28
WTableCell * elementAt(int row, int column)
long long score
Definition: User.h:29
void setId(const std::string &id)
Wt::Auth::Login & login()
Definition: Session.h:32
std::vector< User > topUsers(int limit)
Definition: Session.C:170
std::string name
Definition: User.h:27
bool isNull() const
WTableRow * rowAt(int row)
virtual void addStyleClass(const WString &styleClass, bool force=false)=0
std::string userName() const
Definition: Session.C:148
void setHeaderCount(int count, Orientation orientation=Horizontal)

Member Data Documentation

Session* HighScoresWidget::session_
private

Definition at line 22 of file HighScoresWidget.h.


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

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