public Widget createWidget(Composite parent, int style)
	{
		String tooltip = getTooltip();
		GridData controlGD = new GridData( SWT.FILL, SWT.CENTER, false, false );
		
		// label
		if ( control.getLabel() != null ) {
			label = new Label( parent, SWT.NONE );
			label.setText( control.getLabel() );
			if ( tooltip != null ) label.setToolTipText( tooltip );
			controlGD.horizontalSpan = 1;
		} else {
			controlGD.horizontalSpan = 2;
		}
		
		// dropDownList
		style = style | SWT.BORDER;
		if ( control instanceof DropDownListT )
		{
			style |= SWT.READ_ONLY;
		}
		dropDownList = new Combo( parent, style );
		dropDownList.setLayoutData( controlGD );

		// dropDownList items
		java.util.List<ListItemT> listItems = ( control instanceof EditableDropDownListT ) ? ( (EditableDropDownListT) control ).getListItem()
				: ( (DropDownListT) control ).getListItem();
		// TODO: throw error if there are no list items
		for ( ListItemT listItem : listItems ) dropDownList.add( listItem.getUiRep() );

		// tooltip
		if ( tooltip != null ) dropDownList.setToolTipText( tooltip );

		// default initializer
		dropDownList.select( 0 );

		// select initValue if available
		String initValue = (String) ControlHelper.getInitValue( control, getAtdl4jOptions() );
		if ( initValue != null )
			setValue( initValue, true );

		return parent;
	}