| 
    
       #include <Wt/WApplication>
 
     | 
  
  
     | 
    
       #include <Wt/WContainerWidget>
 
     | 
  
  
     | 
    
       #include <Wt/WPushButton>
 
     | 
  
  
     | 
    
       #include <Wt/WDialog>
 
     | 
  
  
     | 
    
       #include <Wt/WEnvironment>
 
     | 
  
  
     | 
    
       #include <Wt/WText>
 
     | 
  
  
     | 
    
       
     | 
  
  
     | 
    
       using namespace Wt;
 
     | 
  
  
     | 
    
       
     | 
  
  
     | 
    
       class TestApplication : public WApplication
 
     | 
  
  
     | 
    
       {
 
     | 
  
  
     | 
    
       	public:
 
     | 
  
  
     | 
    
       		TestApplication(const WEnvironment& env);
 
     | 
  
  
     | 
    
       
     | 
  
  
     | 
    
       	private:
 
     | 
  
  
     | 
    
       		void addDivBar(const WLength &width, const WLength &height, const WColor &color);
 
     | 
  
  
     | 
    
       };
 
     | 
  
  
     | 
    
       
     | 
  
  
     | 
    
       
     | 
  
  
     | 
    
       
     | 
  
  
     | 
    
       	TestApplication::TestApplication(const WEnvironment& env)
 
     | 
  
  
     | 
    
       : WApplication(env)
 
     | 
  
  
     | 
    
       {
 
     | 
  
  
     | 
    
       	setCssTheme("polished");
 
     | 
  
  
     | 
    
       
     | 
  
  
     | 
    
       	WString txt = "Insert some long text with multiple paragraphs.";
 
     | 
  
  
     | 
    
       
     | 
  
  
     | 
    
       	WDialog* dlg = new WDialog("Dialog");
 
     | 
  
  
     | 
    
       	dlg->contents()->addWidget(new WText(txt, XHTMLText));
 
     | 
  
  
     | 
    
       	dlg->contents()->setOverflow(WContainerWidget::OverflowAuto,Vertical|Horizontal);
 
     | 
  
  
     | 
    
       	WLength lmax(600), lset(300), lmin(100);
 
     | 
  
  
     | 
    
       
     | 
  
  
     | 
    
       	dlg->setMaximumSize( lmax, lmax);
 
     | 
  
  
     | 
    
       	dlg->setMinimumSize( lmin, lmin);
 
     | 
  
  
     | 
    
       	dlg->resize( lset, lset); // malfunctional
 
     | 
  
  
     | 
    
       	dlg->setModal(false);
 
     | 
  
  
     | 
    
       	dlg->setResizable(true);
 
     | 
  
  
     | 
    
       	dlg->setClosable(true);
 
     | 
  
  
     | 
    
       
     | 
  
  
     | 
    
       	WPushButton* bt = new WPushButton("show dialog", root());
 
     | 
  
  
     | 
    
       	bt->clicked().connect(dlg, &WDialog::show);
 
     | 
  
  
     | 
    
       	bt->clicked().connect(boost::bind(&WDialog::resize,dlg,lset,lset)); // malfunctional
 
     | 
  
  
     | 
    
       
     | 
  
  
     | 
    
       	addDivBar(lmax, lmax, WColor(155,185,230,255));
 
     | 
  
  
     | 
    
       	addDivBar(lset, lset, WColor(150,175,210,255));
 
     | 
  
  
     | 
    
       	addDivBar(lmin, lmin, WColor(146,165,192,255));
 
     | 
  
  
     | 
    
       
     | 
  
  
     | 
    
       	dlg->show();
 
     | 
  
  
     | 
    
       
     | 
  
  
     | 
    
       }
 
     | 
  
  
     | 
    
       
     | 
  
  
     | 
    
       void TestApplication::addDivBar(const WLength &width, const WLength &height, const WColor &color)
 
     | 
  
  
     | 
    
       {
 
     | 
  
  
     | 
    
       	WCssDecorationStyle style;
 
     | 
  
  
     | 
    
       	style.setBackgroundColor(color);
 
     | 
  
  
     | 
    
       	
 
     | 
  
  
     | 
    
       	WContainerWidget* ct = new WContainerWidget(root());
 
     | 
  
  
     | 
    
       	ct->setPositionScheme(Absolute);
 
     | 
  
  
     | 
    
       	ct->resize(width,height);
 
     | 
  
  
     | 
    
       	ct->setDecorationStyle(style);
 
     | 
  
  
     | 
    
       }
 
     | 
  
  
     | 
    
       
     | 
  
  
     | 
    
       WApplication *createApplication(const WEnvironment& env)
 
     | 
  
  
     | 
    
       {
 
     | 
  
  
     | 
    
       	return new TestApplication(env);
 
     | 
  
  
     | 
    
       }
 
     | 
  
  
     | 
    
       
     | 
  
  
     | 
    
       int main(int argc, char **argv)
 
     | 
  
  
     | 
    
       {
 
     | 
  
  
     | 
    
       	return WRun(argc, argv, &createApplication);
 
     | 
  
  
     | 
    
       }
 
     | 
  
  
     | 
    
       
     |