Wt examples  3.3.12
Public Member Functions | Private Member Functions | Private Attributes | List of all members
ChatApplication Class Reference

A chat demo application. More...

Inheritance diagram for ChatApplication:
Inheritance graph
[legend]

Public Member Functions

 ChatApplication (const WEnvironment &env, SimpleChatServer &server)
 Create a new instance. More...
 

Private Member Functions

void addChatWidget ()
 Add another chat client. More...
 
void javaScriptTest ()
 
void emptyFunc ()
 

Private Attributes

SimpleChatServerserver_
 
Wt::WText * javaScriptError_
 
const WEnvironment & env_
 
Wt::WTimer * timer_
 

Detailed Description

A chat demo application.

Definition at line 27 of file simpleChat.C.

Constructor & Destructor Documentation

◆ ChatApplication()

ChatApplication::ChatApplication ( const WEnvironment &  env,
SimpleChatServer server 
)

Create a new instance.

Definition at line 47 of file simpleChat.C.

49  : WApplication(env),
50  server_(server),
51  env_(env)
52 {
53  setTitle("Wt Chat");
54  useStyleSheet("chatapp.css");
55 
56  messageResourceBundle().use(appRoot() + "simplechat");
57 
59 
60  root()->addWidget(new WText(WString::tr("introduction")));
61 
62  SimpleChatWidget *chatWidget =
63  new SimpleChatWidget(server_, root());
64  chatWidget->setStyleClass("chat");
65 
66  root()->addWidget(new WText(WString::tr("details")));
67 
68  WPushButton *b = new WPushButton("I'm schizophrenic ...", root());
69  b->clicked().connect(b, &WPushButton::hide);
70  b->clicked().connect(this, &ChatApplication::addChatWidget);
71 }

Member Function Documentation

◆ addChatWidget()

void ChatApplication::addChatWidget ( )
private

Add another chat client.

Definition at line 90 of file simpleChat.C.

91 {
92  SimpleChatWidget *chatWidget2 = new SimpleChatWidget(server_, root());
93  chatWidget2->setStyleClass("chat");
94 }

◆ emptyFunc()

void ChatApplication::emptyFunc ( )
private

Definition at line 87 of file simpleChat.C.

88 {}

◆ javaScriptTest()

void ChatApplication::javaScriptTest ( )
private

Definition at line 73 of file simpleChat.C.

74 {
75  if(!env_.javaScript()){
76  javaScriptError_ = new WText(WString::tr("serverpushwarning"), root());
77 
78  // The 5 second timer is a fallback for real server push. The updated
79  // server state will piggy back on the response to this timeout.
80  timer_ = new Wt::WTimer(root());
81  timer_->setInterval(5000);
82  timer_->timeout().connect(this, &ChatApplication::emptyFunc);
83  timer_->start();
84  }
85 }

Member Data Documentation

◆ env_

const WEnvironment& ChatApplication::env_
private

Definition at line 37 of file simpleChat.C.

◆ javaScriptError_

Wt::WText* ChatApplication::javaScriptError_
private

Definition at line 36 of file simpleChat.C.

◆ server_

SimpleChatServer& ChatApplication::server_
private

Definition at line 35 of file simpleChat.C.

◆ timer_

Wt::WTimer* ChatApplication::timer_
private

Definition at line 38 of file simpleChat.C.


The documentation for this class was generated from the following file:
ChatApplication::timer_
Wt::WTimer * timer_
Definition: simpleChat.C:38
ChatApplication::javaScriptTest
void javaScriptTest()
Definition: simpleChat.C:73
ChatApplication::javaScriptError_
Wt::WText * javaScriptError_
Definition: simpleChat.C:36
ChatApplication::server_
SimpleChatServer & server_
Definition: simpleChat.C:35
ChatApplication::addChatWidget
void addChatWidget()
Add another chat client.
Definition: simpleChat.C:90
SimpleChatWidget
A self-contained chat widget.
Definition: SimpleChatWidget.h:34
ChatApplication::emptyFunc
void emptyFunc()
Definition: simpleChat.C:87
ChatApplication::env_
const WEnvironment & env_
Definition: simpleChat.C:37

Generated on Fri Apr 24 2020 for the C++ Web Toolkit (Wt) by doxygen 1.8.17