btnDetails.setText( "Show Details..." ); grpDetails.setText( "Suggested Fixes:" ); btnOK.setText( "   Fix It   " );  btnOK.setEnabled( false ); btnCancel.setText( "Proceed Without Fixing" );
btnDetails.setText( Messages.getString( "ErrorDialog.text.ShowDetails" ) ); grpDetails.setText( Messages.getString( "ErrorDialog.text.SuggestedFixes" ) ); btnOK.setText( Messages.getString( "ErrorDialog.text.FixIt" ) ); btnCancel.setText( Messages.getString( "ErrorDialog.text.ProceedWithoutFixing" ) );
	private void placeComponents( )	{		// CONTAINER		cmpContainer = new Composite( shell, SWT.NONE );		{			// CONTAINER LAYOUT			GridLayout glDialog = new GridLayout( );			glDialog.numColumns = 3;			glDialog.marginWidth = 6;			glDialog.marginHeight = 6;			glDialog.horizontalSpacing = 5;			glDialog.verticalSpacing = 2;			cmpContainer.setLayoutData( new GridData( GridData.FILL_BOTH ) );			cmpContainer.setLayout( glDialog );		}		// MESSAGE LABEL		mcSheetHeading = new MessageComposite( cmpContainer,				"", sMessage, "", true ); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$		GridData gdMSGHeading = new GridData( GridData.FILL_HORIZONTAL );		gdMSGHeading.heightHint = 22;		gdMSGHeading.horizontalSpan = 3;		mcSheetHeading.setLayoutData( gdMSGHeading );		mcSheetHeading.setBackground( display.getSystemColor( SWT.COLOR_WHITE ) );		// ICON		lblImage = new Label( cmpContainer, SWT.NONE );		lblImage.setImage( display.getSystemImage( SWT.ICON_ERROR ) );		// PROBLEMS LABEL		grpProblems = new Group( cmpContainer, SWT.NONE );		{			GridData gdGrpProblems = new GridData( GridData.FILL_HORIZONTAL );			gdGrpProblems.horizontalSpan = 2;			gdGrpProblems.heightHint = 50;			grpProblems.setLayoutData( gdGrpProblems );			FillLayout layout = new FillLayout( );			layout.marginWidth = 2;			layout.marginHeight = 2;			grpProblems.setLayout( layout );		}		txtProblems = new Text( grpProblems, SWT.WRAP | SWT.V_SCROLL );		{			txtProblems.setEditable( false );		}		// DETAILS BUTTON		Label lblButtonSpacer = new Label( cmpContainer, SWT.NONE );		btnDetails = new Button( cmpContainer, SWT.TOGGLE );		GridData gdBtnDetails = new GridData( );		gdBtnDetails.horizontalSpan = 2;		btnDetails.setLayoutData( gdBtnDetails );		btnDetails.addSelectionListener( this );		// SOLUTIONS LABEL		Label lblDetailSpacer = new Label( cmpContainer, SWT.NONE );		slDetails = new StackLayout( );		cmpDetails = new Composite( cmpContainer, SWT.NONE );		GridData gdCmpDetails = new GridData( GridData.FILL_BOTH );		gdCmpDetails.horizontalSpan = 2;		cmpDetails.setLayoutData( gdCmpDetails );		cmpDetails.setLayout( slDetails );		cmpDummy = new Composite( cmpDetails, SWT.NONE );		grpDetails = new Group( cmpDetails, SWT.NONE );		FillLayout flSolutions = new FillLayout( );		flSolutions.marginWidth = 5;		flSolutions.marginHeight = 5;		grpDetails.setLayout( flSolutions );		txtDetails = new Text( grpDetails, SWT.BORDER | SWT.WRAP | SWT.V_SCROLL );		txtDetails.setEditable( false );		// BUTTON PANEL LAYOUT		GridLayout glButtons = new GridLayout( );		glButtons.numColumns = 2;		glButtons.horizontalSpacing = 5;		glButtons.marginHeight = 5;		glButtons.marginWidth = 5;		// BUTTON PANEL		Composite cmpButtons = new Composite( cmpContainer, SWT.NONE );		GridData gdCmpButtons = new GridData( GridData.FILL_HORIZONTAL );		gdCmpButtons.horizontalSpan = 3;		cmpButtons.setLayoutData( gdCmpButtons );		cmpButtons.setLayout( glButtons );		// ACCEPT BUTTON		btnOK = new Button( cmpButtons, SWT.NONE );		GridData gdBtnOK = null;		if ( bError )		{			gdBtnOK = new GridData( GridData.GRAB_HORIZONTAL					| GridData.HORIZONTAL_ALIGN_END );		}		else		{			gdBtnOK = new GridData( GridData.GRAB_HORIZONTAL					| GridData.HORIZONTAL_ALIGN_CENTER );		}		btnOK.setLayoutData( gdBtnOK );		btnOK.addSelectionListener( this );		// CANCEL BUTTON		if ( bError )		{			btnCancel = new Button( cmpButtons, SWT.NONE );			GridData gdBtnCancel = new GridData( GridData.GRAB_HORIZONTAL					| GridData.HORIZONTAL_ALIGN_BEGINNING );			btnCancel.setLayoutData( gdBtnCancel );			btnCancel.addSelectionListener( this );		}		if ( bError )		{			grpProblems.setText( "Error List:" );			txtProblems.setText( sErrors );			btnDetails.setText( "Show Details..." );			grpDetails.setText( "Suggested Fixes:" );			btnOK.setText( "   Fix It   " );			// TODO unsupported now			btnOK.setEnabled( false );			btnCancel.setText( "Proceed Without Fixing" );			if ( sFixes == null || sFixes.length( ) == 0 )			{				btnDetails.setEnabled( false );			}			else			{				btnDetails.setEnabled( true );				txtDetails.setText( sFixes );			}		}		else		{			grpProblems.setText( "Exception:" );			txtProblems.setText( sExceptionMessage );			btnDetails.setText( "Show Trace..." );			grpDetails.setText( "Stack Trace:" );			btnOK.setText( "     OK     " );			if ( sTrace == null || sTrace.length( ) == 0 )			{				btnDetails.setEnabled( false );			}			else			{				btnDetails.setEnabled( true );				txtDetails.setText( sTrace );			}		}		slDetails.topControl = cmpDummy;		shell.setSize( shell.getSize( ).x, DEFAULT_HEIGHT );		shell.layout( );	}