|  | #include <Wt/WApplication>
 | 
  
    |  | #include <Wt/WBreak>
 | 
  
    |  | #include <Wt/WContainerWidget>
 | 
  
    |  | #include <Wt/WLineEdit>
 | 
  
    |  | #include <Wt/WPushButton>
 | 
  
    |  | #include <Wt/WText>
 | 
  
    |  | #include <Wt/WScrollArea>
 | 
  
    |  | #include <Wt/WScrollBar>
 | 
  
    |  | 
 | 
  
    |  | #include <stdlib.h>
 | 
  
    |  | 
 | 
  
    |  | using namespace Wt;
 | 
  
    |  | using namespace std;
 | 
  
    |  | 
 | 
  
    |  | class HelloApplication : public WApplication {
 | 
  
    |  | public:
 | 
  
    |  | 	HelloApplication(const WEnvironment& env);
 | 
  
    |  | 
 | 
  
    |  | private:
 | 
  
    |  | 	WLineEdit *edit_;
 | 
  
    |  | 	WText *greeting_;
 | 
  
    |  | 	WScrollArea *sa;
 | 
  
    |  | 	WScrollArea *sb;
 | 
  
    |  | 	WContainerWidget *a, *b;
 | 
  
    |  | 	void greet();
 | 
  
    |  | };
 | 
  
    |  | 
 | 
  
    |  | HelloApplication::HelloApplication(const WEnvironment& env) : WApplication(env) {
 | 
  
    |  | 	setTitle("Hello world");
 | 
  
    |  | 	
 | 
  
    |  | 	sa = new WScrollArea();
 | 
  
    |  | 	sb = new WScrollArea();
 | 
  
    |  | 	root()->addWidget( sa );
 | 
  
    |  | 	root()->addWidget( sb );
 | 
  
    |  | 	sa->setWidth( 100 );
 | 
  
    |  | 	sa->setHeight( 100 );
 | 
  
    |  | 	sb->setWidth( 100 );
 | 
  
    |  | 	sb->setHeight( 100 );
 | 
  
    |  | 	
 | 
  
    |  | 	sa->horizontalScrollBar()->tie( sa->verticalScrollBar(), sb->verticalScrollBar() );
 | 
  
    |  | 	
 | 
  
    |  | 	a = new WContainerWidget();
 | 
  
    |  | 	b = new WContainerWidget();
 | 
  
    |  | 	sa->setWidget( a );
 | 
  
    |  | 	sb->setWidget( b );
 | 
  
    |  | 	
 | 
  
    |  | 	for (int i=0; i<100; i++) {
 | 
  
    |  | 		stringstream ss;
 | 
  
    |  | 		ss << i << endl;
 | 
  
    |  | 		a->addWidget( new WText( ss.str() ) );
 | 
  
    |  | 		a->addWidget(new WBreak());
 | 
  
    |  | 		b->addWidget( new WText( ss.str() ) );
 | 
  
    |  | 		b->addWidget(new WBreak());
 | 
  
    |  | 	}
 | 
  
    |  | 	
 | 
  
    |  | 
 | 
  
    |  | 
 | 
  
    |  | 	edit_ = new WLineEdit( root() );
 | 
  
    |  | 	WPushButton *p = new WPushButton("set", root());
 | 
  
    |  | 	p->clicked().connect(this, &HelloApplication::greet);
 | 
  
    |  | 	edit_->enterPressed().connect(boost::bind(&HelloApplication::greet, this));
 | 
  
    |  | }
 | 
  
    |  | 
 | 
  
    |  | void HelloApplication::greet() {
 | 
  
    |  | 	 cerr << "setting value" << endl;
 | 
  
    |  | 	 sa->verticalScrollBar()->setValue( atoi(edit_->text().narrow().c_str()) );
 | 
  
    |  | }
 | 
  
    |  | 
 | 
  
    |  | WApplication *createApplication(const WEnvironment& env) {
 | 
  
    |  | 	return new HelloApplication(env);
 | 
  
    |  | }
 | 
  
    |  | 
 | 
  
    |  | int main(int argc, char **argv) {
 | 
  
    |  | 	return WRun(argc, argv, &createApplication);
 | 
  
    |  | }
 | 
  
    |  | 
 | 
  
    |  | 
 |