Project

General

Profile

Bug #720 » hello.C

Christophe Delépine, 02/15/2011 04:47 PM

 
/*
* Copyright (C) 2008 Emweb bvba, Heverlee, Belgium.
*
* See the LICENSE file for terms of use.
*/

#include <Wt/WApplication>
#include <Wt/WContainerWidget>
#include <Wt/WPushButton>
#include <Wt/WLayout>
#include <Wt/WVBoxLayout>
#include <Wt/WHBoxLayout>
#include <Wt/WText>
#include <Wt/WSlider>

using namespace Wt;

class TestRedmine720 : public WApplication
{
public:
TestRedmine720(const WEnvironment& env);

private:
bool expanded_;
WContainerWidget* subcontainer_;
WPushButton* expandButton_;

void Expand();
};

TestRedmine720::TestRedmine720(const WEnvironment& env)
: WApplication(env)
{
expanded_ = true;
subcontainer_ = new WContainerWidget();
subcontainer_->addWidget(new WText("subcontainer"));
expandButton_ = new WPushButton("-");

WSlider* slider = new WSlider();
slider->resize(200, 15);

root()->setLayout(new WVBoxLayout());
root()->layout()->addWidget(expandButton_);
root()->layout()->addWidget(slider);
root()->layout()->addWidget(subcontainer_);

expandButton_->clicked().connect(this, &TestRedmine720::Expand);
}

void TestRedmine720::Expand()
{
if (!expanded_) {
root()->layout()->addWidget(subcontainer_);
expandButton_->setText("-");
}
else {
root()->layout()->removeWidget(subcontainer_);
expandButton_->setText("+");
}
expanded_ = !expanded_;
}

WApplication *createApplication(const WEnvironment& env)
{
return new TestRedmine720(env);
}

int main(int argc, char **argv)
{
return WRun(argc, argv, &createApplication);
}

(6-6/8)