public VBoxLayoutDataAssistantPage(Composite parent, List<ObjectInfo> selection) {
   super(parent, selection);
   GridLayoutFactory.create(this).columns(2);
   {
     Composite composite = new Composite(this, SWT.NONE);
     GridLayoutFactory.create(composite).columns(2);
     addDoubleProperty(composite, "flex", "Flex");
     {
       Group group =
           addIntegerProperties(
               composite,
               "Width",
               new String[][] {
                 new String[] {"maxWidth", "max"},
                 new String[] {"minWidth", "min"}
               });
       GridDataFactory.create(group).spanH(2);
     }
   }
   // margins
   {
     Group group = addMarginProperty(this, "margins", "Margins for sides");
     GridDataFactory.create(group);
   }
 }
 ////////////////////////////////////////////////////////////////////////////
 //
 // GUI
 //
 ////////////////////////////////////////////////////////////////////////////
 @Override
 protected void createPageControls(Composite parent) {
   // create check button
   {
     createModuleButton = new Button(parent, SWT.CHECK);
     createModuleButton.setText("Create GWT module");
     createModuleButton.addSelectionListener(
         new SelectionAdapter() {
           @Override
           public void widgetSelected(SelectionEvent e) {
             boolean want = createModuleButton.getSelection();
             UiUtils.changeControlEnable(moduleGroup, want);
             if (want) {
               moduleComposite.validateAll();
             } else {
               setErrorMessage(null);
             }
           }
         });
   }
   // create group for GWT module parameters
   {
     moduleGroup = new Group(parent, SWT.NONE);
     GridDataFactory.create(moduleGroup).grabH().fillH();
     moduleGroup.setLayout(new GridLayout());
     moduleGroup.setText("New GWT module");
     {
       IMessageContainer messagesContainer = IMessageContainer.Util.forWizardPage(this);
       moduleComposite = new ModuleComposite(moduleGroup, SWT.NONE, messagesContainer);
       GridDataFactory.create(moduleComposite).grab().fill();
     }
   }
   UiUtils.changeControlEnable(moduleGroup, false);
 }
 public CenterLayoutAssistantPage(Composite parent, CenterLayoutInfo selection) {
   super(parent, selection);
   GridLayoutFactory.create(this).columns(2);
   {
     Group optionsGroup =
         addBooleanProperties(
             this,
             "Options",
             new String[][] {
               new String[] {"firesEvents", "firesEvents"},
               new String[] {"renderHidden", "renderHidden"}
             });
     GridDataFactory.create(optionsGroup).spanH(2).fillH();
   }
   addIntegerProperty(this, "resizeDelay", "resizeDelay");
 }