txtDetails.setText(sFixes);
    private void placeComponents()    {        // CONTAINER LAYOUT        GridLayout glDialog = new GridLayout();        glDialog.numColumns = 3;        glDialog.marginWidth = 6;        glDialog.marginHeight = 6;        glDialog.horizontalSpacing = 5;        glDialog.verticalSpacing = 2;                // CONTAINER        cmpContainer = new Composite(shell, SWT.NONE);        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);        GridData gdLblImage = new GridData();        lblImage.setImage(display.getSystemImage(SWT.ICON_ERROR));        lblImage.setLayoutData(gdLblImage);                // PROBLEMS LABEL        grpProblems = new Group(cmpContainer, SWT.NONE);        GridData gdGrpProblems = new GridData(GridData.GRAB_HORIZONTAL | GridData.FILL_HORIZONTAL);        gdGrpProblems.horizontalSpan = 2;        gdGrpProblems.heightHint = 40;        grpProblems.setLayoutData(gdGrpProblems);        FillLayout flProblems = new FillLayout();        flProblems.marginWidth = 2;        flProblems.marginHeight = 2;        grpProblems.setLayout(flProblems);                lblProblems = new Label(grpProblems, SWT.WRAP);                // 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.GRAB_VERTICAL | 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);                // 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:");            lblProblems.setText(sErrors);            btnDetails.setText("Show Details...");            txtDetails.setText(sFixes);            grpDetails.setText("Suggested Fixes:");            btnOK.setText("   Fix It   ");            btnCancel.setText("Proceed Without Fixing");        }        else        {            grpProblems.setText("Exception:");            lblProblems.setText(sExceptionMessage);            btnDetails.setText("Show Trace...");            txtDetails.setText(sTrace);            grpDetails.setText("Stack Trace:");            btnOK.setText("     OK     ");        }        slDetails.topControl = cmpDummy;        shell.setSize(shell.getSize().x, DEFAULT_HEIGHT);        shell.layout();    }