expression.add( VALUE_OF_THIS_DATA_ITEM );
	protected Control createContents( Composite parent )	{		UIUtil.bindHelp(parent,IHelpContextIds.INSERT_EDIT_MAP_RULE_DIALOG_ID);		GridData gdata;		GridLayout glayout;		Composite contents = new Composite( parent, SWT.NONE );		contents.setLayout( new GridLayout( ) );		contents.setLayoutData( new GridData( GridData.FILL_BOTH ) );				createTitleArea( contents );		Composite composite = new Composite( contents, SWT.NONE );		glayout = new GridLayout( );		glayout.marginHeight = 0;		glayout.marginWidth = 0;		glayout.verticalSpacing = 0;		composite.setLayout( glayout );		composite.setLayoutData( new GridData( GridData.FILL_BOTH ) );		applyDialogFont( composite );		initializeDialogUnits( composite );		Composite innerParent = (Composite) createDialogArea( composite );		createButtonBar( composite );		Label lb = new Label( innerParent, SWT.NONE );		lb				.setText( Messages						.getString( "MapRuleBuilderDialog.text.Condition" ) ); //$NON-NLS-1$		Composite condition = new Composite( innerParent, SWT.NONE );		condition.setLayoutData( new GridData( GridData.FILL_HORIZONTAL ) );		glayout = new GridLayout( 5, false );		condition.setLayout( glayout );		expression = new Combo( condition, SWT.NONE );		gdata = new GridData( );		gdata.widthHint = 100;		expression.setLayoutData( gdata );		fillExpression( expression );		expression.addSelectionListener( new SelectionAdapter( ) {			public void widgetSelected( SelectionEvent e )			{				if ( expression.getText( ).equals( VALUE_OF_THIS_DATA_ITEM )						&& designHandle instanceof DataItemHandle )				{					expression							.setText( DEUtil									.getColumnExpression( ( (DataItemHandle) designHandle )											.getResultSetColumn( ) ) );				}				updateButtons( );			}		} );		expression.addModifyListener( new ModifyListener( ) {			public void modifyText( ModifyEvent e )			{				updateButtons( );			}		} );		Button expBuilder = new Button( condition, SWT.PUSH );		expBuilder.setText( "..." ); //$NON-NLS-1$		gdata = new GridData( );		gdata.heightHint = 20;		gdata.widthHint = 20;		expBuilder.setLayoutData( gdata );		expBuilder.setToolTipText( Messages				.getString( "HighlightRuleBuilderDialog.tooltip.ExpBuilder" ) ); //$NON-NLS-1$		expBuilder.addSelectionListener( new SelectionAdapter( ) {			public void widgetSelected( SelectionEvent e )			{				editValue( expression );			}		} );		operator = new Combo( condition, SWT.READ_ONLY );		for ( int i = 0; i < OPERATOR.length; i++ )		{			operator.add( OPERATOR[i][0] );		}		operator.addSelectionListener( new SelectionAdapter( ) {			public void widgetSelected( SelectionEvent e )			{				String value = getValueForOperator( operator.getText( ) );				int vv = determineValueVisible( value );				if ( vv == 0 )				{					value1.setVisible( false );					value2.setVisible( false );					valBuilder1.setVisible( false );					valBuilder2.setVisible( false );					andLable.setVisible( false );				}				else if ( vv == 1 )				{					value1.setVisible( true );					valBuilder1.setVisible( true );					value2.setVisible( false );					valBuilder2.setVisible( false );					andLable.setVisible( false );				}				else if ( vv == 2 )				{					value1.setVisible( true );					value2.setVisible( true );					valBuilder1.setVisible( true );					valBuilder2.setVisible( true );					andLable.setVisible( true );				}				updateButtons( );			}		} );		value1 = createText( condition );		value1.addModifyListener( new ModifyListener( ) {			public void modifyText( ModifyEvent e )			{				updateButtons( );			}		} );		valBuilder1 = new Button( condition, SWT.PUSH );		valBuilder1.setText( "..." ); //$NON-NLS-1$		gdata = new GridData( );		gdata.heightHint = 20;		gdata.widthHint = 20;		valBuilder1.setLayoutData( gdata );		valBuilder1.setToolTipText( Messages				.getString( "HighlightRuleBuilderDialog.tooltip.ExpBuilder" ) ); //$NON-NLS-1$		valBuilder1.addSelectionListener( new SelectionAdapter( ) {			public void widgetSelected( SelectionEvent e )			{				editValue( value1 );			}		} );		createDummy( condition, 3 );		andLable = new Label( condition, SWT.NONE );		andLable.setText( Messages				.getString( "HighlightRuleBuilderDialog.text.AND" ) ); //$NON-NLS-1$		andLable.setVisible( false );		createDummy( condition, 1 );		createDummy( condition, 3 );		value2 = createText( condition );		value2.addModifyListener( new ModifyListener( ) {			public void modifyText( ModifyEvent e )			{				updateButtons( );			}		} );		value2.setVisible( false );		valBuilder2 = new Button( condition, SWT.PUSH );		valBuilder2.setText( "..." ); //$NON-NLS-1$		gdata = new GridData( );		gdata.heightHint = 20;		gdata.widthHint = 20;		valBuilder2.setLayoutData( gdata );		valBuilder2.setToolTipText( Messages				.getString( "HighlightRuleBuilderDialog.tooltip.ExpBuilder" ) ); //$NON-NLS-1$		valBuilder2.addSelectionListener( new SelectionAdapter( ) {			public void widgetSelected( SelectionEvent e )			{				editValue( value2 );			}		} );		valBuilder2.setVisible( false );		if ( operator.getItemCount( ) > 0 )		{			operator.select( 0 );		}		lb = new Label( innerParent, SWT.NONE );		lb.setText( Messages.getString( "MapRuleBuilderDialog.text.Display" ) ); //$NON-NLS-1$		Composite format = new Composite( innerParent, SWT.NONE );		format.setLayoutData( new GridData( GridData.FILL_HORIZONTAL ) );		glayout = new GridLayout( );		format.setLayout( glayout );		display = new Text( format, SWT.BORDER );		gdata = new GridData( );		gdata.widthHint = 300;		display.setLayoutData( gdata );		Composite space = new Composite( innerParent, SWT.NONE );		gdata = new GridData( GridData.FILL_HORIZONTAL );		gdata.heightHint = 20;		space.setLayoutData( gdata );		lb = new Label( innerParent, SWT.SEPARATOR | SWT.HORIZONTAL );		lb.setLayoutData( new GridData( GridData.FILL_HORIZONTAL ) );		if ( handle != null )		{			syncViewProperties( );		}		updateButtons( );		return composite;	}