itemName = new CCombo( composite, SWT.BORDER );
itemName = new Text( composite, SWT.BORDER );
	protected Control createDialogArea( Composite parent )	{		final Composite composite = (Composite) super.createDialogArea( parent );		( (GridLayout) composite.getLayout( ) ).numColumns = 3;		new Label( composite, SWT.NONE ).setText( NAME );		itemName = new CCombo( composite, SWT.BORDER );		GridData data = new GridData( );		int width = itemName.computeSize( SWT.DEFAULT, SWT.DEFAULT ).x;		data.widthHint = width < 250 ? 250 : width;		itemName.setLayoutData( data );		WidgetUtil.createGridPlaceholder( composite, 1, false );		new Label( composite, SWT.NONE ).setText( DATA_TYPE );		itemType = new Combo( composite, SWT.BORDER | SWT.READ_ONLY );		itemType.setLayoutData( new GridData( GridData.FILL_HORIZONTAL				| GridData.GRAB_HORIZONTAL ) );		WidgetUtil.createGridPlaceholder( composite, 1, false );		new Label( composite, SWT.NONE ).setText( EXPRESSION );		itemExpression = new Text( composite, SWT.BORDER );		itemExpression.setLayoutData( new GridData( GridData.FILL_HORIZONTAL				| GridData.GRAB_HORIZONTAL ) );		Button expressionButton = new Button( composite, SWT.PUSH );		expressionButton.setText( "..." );		expressionButton.setLayoutData( new GridData( ) );		expressionButton.addSelectionListener( new SelectionAdapter( ) {			public void widgetSelected( SelectionEvent e )			{				handleExpressionButtonSelectEvent( );			}		} );		itemExpression.addModifyListener( new ModifyListener( ) {			public void modifyText( ModifyEvent e )			{				if ( ExpressionUtil.hasAggregation( itemExpression.getText( ) ) )				{					String groupType = DEUtil.getGroupControlType( input );					if ( !( bindingColumn != null							&& bindingColumn.getExpression( ) != null && bindingColumn.getExpression( )							.equals( itemExpression.getText( ) ) ) )					{						if ( groupType.equals( DEUtil.TYPE_GROUP_GROUP ) )						{							setAggregateOnSelect( ( (GroupHandle) DEUtil.getGroups( input )									.get( 0 ) ).getName( ) );						}						else if ( groupType.equals( DEUtil.TYPE_GROUP_LISTING ) )						{							setAggregateOnSelect( ALL );						}						else							setAggregateOnSelect( NONE );					}					else if ( groupType.equals( DEUtil.TYPE_GROUP_NONE ) )					{						setAggregateOnSelect( NONE );					}				}				if ( ExpressionUtil.hasAggregation( itemExpression.getText( ) )						&& !itemAggregateOn.getVisible( ) )				{					aggregateOnLabel.setVisible( true );					itemAggregateOn.setVisible( true );					hiddenLabel.setVisible( true );				}				else if ( !ExpressionUtil.hasAggregation( itemExpression.getText( ) )						&& itemAggregateOn.getVisible( ) )				{					aggregateOnLabel.setVisible( false );					itemAggregateOn.setVisible( false );					hiddenLabel.setVisible( false );				}			}		} );		aggregateOnLabel = new Label( composite, SWT.NONE );		aggregateOnLabel.setText( AGGREGATE_ON );		itemAggregateOn = new Combo( composite, SWT.BORDER | SWT.READ_ONLY );		itemAggregateOn.setLayoutData( new GridData( GridData.FILL_HORIZONTAL ) );		hiddenLabel = WidgetUtil.createGridPlaceholder( composite, 1, false );		aggregateOnLabel.setVisible( false );		itemAggregateOn.setVisible( false );		hiddenLabel.setVisible( false );		if ( bindingColumn == null )		{			btnForce = new Button( composite, SWT.CHECK );			btnForce.setText( FORCE_BINDING_TEXT );			data = new GridData( GridData.FILL_HORIZONTAL );			data.horizontalSpan = 3;			btnForce.setLayoutData( data );		}		init( );		return composite;	}