/*
   * (non-Javadoc)
   *
   * @seeorg.bonitasoft.studio.common.properties.
   * IExtensibleGridPropertySectionContribution
   * #createControl(org.eclipse.swt.widgets.Composite,
   * org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetWidgetFactory,
   * org.bonitasoft.studio.common.properties.ExtensibleGridPropertySection)
   */
  public void createControl(
      Composite mainComposite,
      TabbedPropertySheetWidgetFactory widgetFactory,
      ExtensibleGridPropertySection extensibleGridPropertySection) {

    this.widgetFactory = widgetFactory;
    mainComposite.setLayoutData(GridDataFactory.fillDefaults().grab(true, true).create());
    int col = 3;
    if (ModelHelper.isAnEntryPageFlowOnAPool(ModelHelper.getParentForm(element))) {
      col = 2;
    }
    mainComposite.setLayout(GridLayoutFactory.fillDefaults().numColumns(3).create());

    downloadOnly = widgetFactory.createButton(mainComposite, Messages.downloadOnly, SWT.CHECK);
    imagePreview = widgetFactory.createButton(mainComposite, Messages.previewAttachment, SWT.CHECK);
    widgetFactory.createLabel(mainComposite, "");

    final Composite radioComposite = widgetFactory.createComposite(mainComposite);
    radioComposite.setLayoutData(
        GridDataFactory.fillDefaults()
            .align(SWT.FILL, SWT.CENTER)
            .grab(true, false)
            .span(3, 1)
            .create());
    radioComposite.setLayout(
        GridLayoutFactory.fillDefaults().numColumns(col).margins(0, 0).create());

    FileWidgetInputType initialInputType = createUseDocumentButton(widgetFactory, radioComposite);

    // createURLButton(widgetFactory, radioComposite);

    createUseResourceButton(radioComposite);

    initialValueSection =
        widgetFactory.createSection(mainComposite, Section.NO_TITLE | Section.CLIENT_INDENT);
    initialValueSection.setLayout(
        GridLayoutFactory.fillDefaults().numColumns(1).margins(0, 0).create());
    initialValueSection.setLayoutData(
        GridDataFactory.fillDefaults().grab(true, true).span(3, 1).create());

    if (initialInputType == FileWidgetInputType.DOCUMENT) {
      initialValueSection.setClient(
          createInputExpressionComposite(initialValueSection, widgetFactory));
      /*}else if(initialInputType == FileWidgetInputType.URL){
      initialValueSection.setClient(createInputExpressionComposite(initialValueSection, widgetFactory));*/
    } else if (initialInputType == FileWidgetInputType.RESOURCE) {
      if (element.isDuplicate()) {
        initialValueSection.setClient(
            createMultipleResourceComposite(initialValueSection, widgetFactory));
      } else {
        initialValueSection.setClient(createResourceComposite(initialValueSection, widgetFactory));
      }
    }
    bindFields();

    if (initialInputType == FileWidgetInputType.DOCUMENT) {
      useDocumentButton.setSelection(true);
      useDocumentButton.notifyListeners(SWT.Selection, new Event());

      /*}else if(initialInputType == FileWidgetInputType.URL){
      useURLButton.setSelection(true);*/
    } else {
      useResourceButton.setSelection(true);
      useResourceButton.notifyListeners(SWT.Selection, new Event());
    }
  }