7 #include <Wt/WApplication>
8 #include <Wt/WEnvironment>
11 #include <Wt/WVBoxLayout>
20 const std::string&
id)
26 if (Wt::WApplication::instance()->environment().agentIsIE()) {
27 if (Wt::WApplication::instance()->environment().agent()
28 == Wt::WEnvironment::IE6)
29 setPositionScheme(Wt::Absolute);
31 setPositionScheme(Wt::Fixed);
37 """var s = $('#" +
id +
"');"
38 """s.toggleClass('chat-maximized chat-minimized');"
39 + Wt::WApplication::instance()->javaScriptClass()
40 +
".layouts2.scheduleAdjust(true);"
45 setStyleClass(
"chat-widget chat-minimized");
63 n = name + boost::lexical_cast<std::string>(++tries);
72 Wt::WContainerWidget *bar =
new Wt::WContainerWidget();
73 bar->setStyleClass(
"chat-bar");
75 Wt::WText *toggleButton =
new Wt::WText();
76 toggleButton->setInline(
false);
77 toggleButton->setStyleClass(
"chat-minmax");
81 bar->addWidget(toggleButton);
83 title_ =
new Wt::WText(bar);
101 Wt::WString name =
name_;
109 name =
name_ + boost::lexical_cast<std::string>(++tries);
116 bar_->removeStyleClass(
"alert");
120 Wt::WWidget *userList,
121 Wt::WWidget *messageEdit,
122 Wt::WWidget *sendButton,
123 Wt::WWidget *logoutButton)
125 Wt::WVBoxLayout *layout =
new Wt::WVBoxLayout();
126 layout->setContentsMargins(0, 0, 0, 0);
127 layout->setSpacing(0);
131 layout->addWidget(bar);
132 bar->setMinimumSize(Wt::WLength::Auto, 20);
133 layout->addWidget(messages, 1);
134 layout->addWidget(messageEdit);
147 title_->setText(
"Thoughts? Ventilate.");
149 title_->setText(
"Chat: 1 user online");
151 title_->setText(Wt::WString(
"Chat: {1} users online").arg(count));
153 title_->setText(Wt::WString(
"Chat: <span class=\"self\">{1}</span>"
154 " <span class=\"online\">({2} user{3})</span>")
155 .arg(
userName()).arg(count).arg(count == 1 ?
"" :
"s"));
164 bar_->addStyleClass(
"alert");