Project

General

Profile

Bug #1907 » stretch_myspin.cpp

WSpinBox with 50 pixel width - Stefan Ruppert, 08/01/2013 10:53 AM

 
1
#include <Wt/WApplication>
2
#include <Wt/WLabel>
3
#include <Wt/WPushButton>
4
#include <Wt/WContainerWidget>
5
#include <Wt/WStackedWidget>
6
#include <Wt/WHBoxLayout>
7
#include <Wt/WVBoxLayout>
8
#include <Wt/WText>
9
#include <Wt/WSpinBox>
10
#include <iostream>
11

    
12
using namespace Wt;
13

    
14

    
15
WSpinBox* mySpinBox()
16
{
17
   WSpinBox *myspinbox = new WSpinBox();
18
   myspinbox->setWidth(50);
19
   // wt 3.3.0 seems to use the maximum width instead of current width for layout calcuation!?
20
   // if maximum size is also set to 50 it looks good!
21
   //myspinbox->setMaximumSize(50, WLength::Auto);
22
   return myspinbox;
23
}
24

    
25
class Test : public WApplication
26
{
27
public:
28
  Test(const WEnvironment& env) 
29
   : WApplication(env)
30
  {
31
     WHBoxLayout *layout = new WHBoxLayout(root());
32
     root()->setMaximumSize(WLength::Auto, 1000);
33
     layout->addWidget(new WText("Text 1"), 0, AlignLeft|AlignMiddle);
34
     layout->addWidget(mySpinBox(), 0, AlignLeft|AlignMiddle);
35
     layout->addWidget(new WText("myspin 1"), 0, AlignLeft|AlignMiddle);
36
     layout->addWidget(mySpinBox(), 0, AlignLeft|AlignMiddle);
37
     layout->addWidget(new WText("myspin 2"), 0, AlignLeft|AlignMiddle);
38
     layout->addStretch(1);
39
     layout->addWidget(new WText("Text 4"), 0, AlignLeft|AlignMiddle);
40
  }
41

    
42
  void foo() {
43
  }
44
};
45

    
46
WApplication *createApplication(const WEnvironment& env){
47
  return new Test(env);
48
}
49

    
50
int main(int argc, char *argv[]){
51
  return WRun(argc, argv, createApplication);
52
}
(5-5/6)