7 #include <Wt/WApplication.h> 8 #include <Wt/WContainerWidget.h> 9 #include <Wt/WEnvironment.h> 10 #include <Wt/WPushButton.h> 11 #include <Wt/WServer.h> 13 #include <Wt/WTimer.h> 67 root()->
addWidget(Wt::cpp14::make_unique<Wt::WPushButton>(
"I'm schizophrenic ..."));
80 timer_ = Wt::cpp14::make_unique<Wt::WTimer>();
81 timer_->setInterval(std::chrono::milliseconds{5000});
110 login_(this,
"login")
119 std::string defaultDiv =
"div";
125 std::unique_ptr<PopupChatWidget> chatWidgetPtr =
126 Wt::cpp14::make_unique<PopupChatWidget>(server, *div);
134 + chat +
".emit(" + chat +
", 'login', " + chat +
"User);" 135 +
"document.body.appendChild(" + chatWidget->jsRef() +
");");
137 std::cerr <<
"Missing: parameter: 'div'" << std::endl;
145 return Wt::cpp14::make_unique<ChatApplication>(env, server);
150 return Wt::cpp14::make_unique<ChatWidget>(env, server);
153 int main(
int argc,
char **argv)
155 Wt::WServer server(argc, argv, WTHTTP_CONFIGURATION);
164 std::ref(chatServer)));
167 std::ref(chatServer)),
"/chat.js");
169 if (server.
start()) {
171 std::cerr <<
"Shutting down: (signal = " << sig <<
")" << std::endl;
SimpleChatServer & server_
const std::string * getParameter(const std::string &name) const
int main(int argc, char **argv)
std::unique_ptr< Wt::WApplication > createApplication(const Wt::WEnvironment &env, SimpleChatServer &server)
WTCONNECTOR_API void stop()
void bindWidget(std::unique_ptr< WWidget > widget, const std::string &domId)
WMessageResourceBundle & messageResourceBundle()
void setTitle(const WString &title)
std::string javaScriptClass()
ChatWidget(const Wt::WEnvironment &env, SimpleChatServer &server)
void setJavaScriptClass(const std::string &className)
std::unique_ptr< Wt::WTimer > timer_
Wt::WText * javaScriptError_
Wt::Signals::connection connect(const F &function)
void addChatWidget()
Add another chat client.
ChatApplication(const Wt::WEnvironment &env, SimpleChatServer &server)
Create a new instance.
static WString tr(const char *key)
void use(const std::string &path, bool loadInMemory=true)
WT_API void addEntryPoint(EntryPointType type, ApplicationCreator callback, const std::string &path=std::string(), const std::string &favicon=std::string())
static std::string appRoot()
void useStyleSheet(const WLink &link, const std::string &media="all")
static WT_API int waitForShutdown()
const Wt::WEnvironment & env_
Wt::Signals::connection connect(const F &function)
std::unique_ptr< Wt::WApplication > createWidget(const Wt::WEnvironment &env, SimpleChatServer &server)
WContainerWidget * root() const
WTCONNECTOR_API bool start()
void doJavaScript(const std::string &javascript, bool afterLoaded=true)
void setCssTheme(const std::string &name)
WApplication(const WEnvironment &environment)