private void placeComponents() {  GridLayout glContent = new GridLayout(); glContent.numColumns = 2; glContent.marginHeight = 7; glContent.marginWidth = 7; glContent.horizontalSpacing = 5; glContent.verticalSpacing = 5;   slStandardDetails = new StackLayout();   slAdvancedDetails = new StackLayout();  this.setLayout(glContent);  Label lblDataType = new Label(this, SWT.NONE); GridData gdLBLDataType = new GridData(); lblDataType.setLayoutData(gdLBLDataType); lblDataType.setText(Messages.getString("FormatSpecifierComposite.Lbl.DataType"));  cmbDataType = new Combo(this, SWT.DROP_DOWN | SWT.READ_ONLY); GridData gdCMBDataType = new GridData(GridData.FILL_HORIZONTAL); cmbDataType.setLayoutData(gdCMBDataType); cmbDataType.addSelectionListener(this);  btnUndefined = new Button(this, SWT.RADIO); GridData gdBTNUndefined = new GridData(GridData.FILL_HORIZONTAL); gdBTNUndefined.horizontalSpan = 2; btnUndefined.setLayoutData(gdBTNUndefined); btnUndefined.setText(Messages.getString("FormatSpecifierComposite.Lbl.Undefined")); btnUndefined.addSelectionListener(this);  Label lblDummyStandard = new Label(this, SWT.NONE); GridData gdLBLDummyStandard = new GridData(); gdLBLDummyStandard.horizontalSpan = 2; gdLBLDummyStandard.heightHint = 10; lblDummyStandard.setLayoutData(gdLBLDummyStandard);  btnStandard = new Button(this, SWT.RADIO); GridData gdBTNStandard = new GridData(GridData.FILL_HORIZONTAL); gdBTNStandard.horizontalSpan = 2; btnStandard.setLayoutData(gdBTNStandard); btnStandard.setText(Messages.getString("FormatSpecifierComposite.Lbl.Standard")); btnStandard.addSelectionListener(this);  cmpStandardDetails = new Composite(this, SWT.NONE); GridData gdCMPStandardDetails = new GridData(GridData.FILL_BOTH); gdCMPStandardDetails.horizontalIndent = 16; gdCMPStandardDetails.horizontalSpan = 2; cmpStandardDetails.setLayoutData(gdCMPStandardDetails); cmpStandardDetails.setLayout(slStandardDetails);   GridLayout glDate = new GridLayout(); glDate.verticalSpacing = 5; glDate.marginHeight = 0; glDate.marginWidth = 0;  cmpStandardDateDetails = new Composite(cmpStandardDetails, SWT.NONE); cmpStandardDateDetails.setLayout(glDate);    GridLayout glDateStandard = new GridLayout(); glDateStandard.verticalSpacing = 5; glDateStandard.numColumns = 2; glDateStandard.marginHeight = 2; glDateStandard.marginWidth = 2;  cmpDateStandard = new Composite(cmpStandardDateDetails, SWT.NONE); GridData gdGRPDateStandard = new GridData(GridData.FILL_BOTH); cmpDateStandard.setLayoutData(gdGRPDateStandard); cmpDateStandard.setLayout(glDateStandard);  Label lblDateType = new Label(cmpDateStandard, SWT.NONE); GridData gdLBLDateType = new GridData(); lblDateType.setLayoutData(gdLBLDateType); lblDateType.setText(Messages.getString("FormatSpecifierComposite.Lbl.Type"));  cmbDateType = new Combo(cmpDateStandard, SWT.DROP_DOWN | SWT.READ_ONLY); GridData gdCMBDateType = new GridData(GridData.FILL_HORIZONTAL); cmbDateType.setLayoutData(gdCMBDateType); cmbDateType.addSelectionListener(this);  Label lblDateDetails = new Label(cmpDateStandard, SWT.NONE); GridData gdLBLDateDetails = new GridData(); lblDateDetails.setLayoutData(gdLBLDateDetails); lblDateDetails.setText(Messages.getString("FormatSpecifierComposite.Lbl.Details"));  cmbDateForm = new Combo(cmpDateStandard, SWT.DROP_DOWN | SWT.READ_ONLY); GridData gdCMBDateForm = new GridData(GridData.FILL_HORIZONTAL); cmbDateForm.setLayoutData(gdCMBDateForm); cmbDateForm.addSelectionListener(this);   GridLayout glNumber = new GridLayout(); glNumber.verticalSpacing = 5; glNumber.marginHeight = 0; glNumber.marginWidth = 0;  cmpStandardNumberDetails = new Composite(cmpStandardDetails, SWT.NONE); cmpStandardNumberDetails.setLayout(glNumber);    GridLayout glNumberStandard = new GridLayout(); glNumberStandard.verticalSpacing = 5; glNumberStandard.numColumns = 4; glNumberStandard.marginHeight = 2; glNumberStandard.marginWidth = 2;  cmpNumberStandard = new Composite(cmpStandardNumberDetails, SWT.NONE); GridData gdGRPNumberStandard = new GridData(GridData.FILL_BOTH); cmpNumberStandard.setLayoutData(gdGRPNumberStandard); cmpNumberStandard.setLayout(glNumberStandard);  Label lblPrefix = new Label(cmpNumberStandard, SWT.NONE); GridData gdLBLPrefix = new GridData(); lblPrefix.setLayoutData(gdLBLPrefix); lblPrefix.setText(Messages.getString("FormatSpecifierComposite.Lbl.Prefix"));  txtPrefix = new Text(cmpNumberStandard, SWT.BORDER | SWT.SINGLE); GridData gdTXTPrefix = new GridData(GridData.FILL_HORIZONTAL); txtPrefix.setLayoutData(gdTXTPrefix); txtPrefix.addModifyListener(this);  Label lblSuffix = new Label(cmpNumberStandard, SWT.NONE); GridData gdLBLSuffix = new GridData(); lblSuffix.setLayoutData(gdLBLSuffix); lblSuffix.setText(Messages.getString("FormatSpecifierComposite.Lbl.Suffix"));  txtSuffix = new Text(cmpNumberStandard, SWT.BORDER | SWT.SINGLE); GridData gdTXTSuffix = new GridData(GridData.FILL_HORIZONTAL); txtSuffix.setLayoutData(gdTXTSuffix); txtSuffix.addModifyListener(this);  Label lblMultiplier = new Label(cmpNumberStandard, SWT.NONE); GridData gdLBLMultiplier = new GridData(); lblMultiplier.setLayoutData(gdLBLMultiplier); lblMultiplier.setText(Messages.getString("FormatSpecifierComposite.Lbl.Multiplier"));  txtMultiplier = new Text(cmpNumberStandard, SWT.BORDER | SWT.SINGLE); GridData gdTXTMultiplier = new GridData(GridData.FILL_HORIZONTAL); txtMultiplier.setLayoutData(gdTXTMultiplier); txtMultiplier.addModifyListener(this);  Label lblFractionDigit = new Label(cmpNumberStandard, SWT.NONE); GridData gdLBLFractionDigit = new GridData(); lblFractionDigit.setLayoutData(gdLBLFractionDigit); lblFractionDigit.setText(Messages.getString("FormatSpecifierComposite.Lbl.FractionDigits"));  iscFractionDigits = new IntegerSpinControl(cmpNumberStandard, SWT.NONE, 2); GridData gdISCFractionDigits = new GridData(GridData.FILL_HORIZONTAL); iscFractionDigits.setLayoutData(gdISCFractionDigits); iscFractionDigits.addListener(this);  Label lblDummyAdvanced = new Label(this, SWT.NONE); GridData gdLBLDummyAdvanced = new GridData(); gdLBLDummyAdvanced.horizontalSpan = 2; gdLBLDummyAdvanced.heightHint = 10; lblDummyAdvanced.setLayoutData(gdLBLDummyAdvanced);  btnAdvanced = new Button(this, SWT.RADIO); GridData gdBTNAdvanced = new GridData(GridData.FILL_HORIZONTAL); gdBTNAdvanced.horizontalSpan = 2; btnAdvanced.setLayoutData(gdBTNAdvanced); btnAdvanced.setText(Messages.getString("FormatSpecifierComposite.Lbl.Advanced")); btnAdvanced.addSelectionListener(this);  cmpAdvancedDetails = new Composite(this, SWT.NONE); GridData gdCMPAdvancedDetails = new GridData(GridData.FILL_BOTH); gdCMPAdvancedDetails.horizontalIndent = 16; gdCMPAdvancedDetails.horizontalSpan = 2; cmpAdvancedDetails.setLayoutData(gdCMPAdvancedDetails); cmpAdvancedDetails.setLayout(slAdvancedDetails);   GridLayout glAdvDate = new GridLayout(); glAdvDate.verticalSpacing = 5; glAdvDate.marginHeight = 0; glAdvDate.marginWidth = 0;  cmpAdvancedDateDetails = new Composite(cmpAdvancedDetails, SWT.NONE); cmpAdvancedDateDetails.setLayout(glAdvDate);    GridLayout glDateAdvanced = new GridLayout(); glDateAdvanced.verticalSpacing = 5; glDateAdvanced.numColumns = 2; glDateAdvanced.marginHeight = 2; glDateAdvanced.marginWidth = 2;  cmpDateAdvanced = new Composite(cmpAdvancedDateDetails, SWT.NONE); GridData gdGRPDateAdvanced = new GridData(GridData.FILL_BOTH); cmpDateAdvanced.setLayoutData(gdGRPDateAdvanced); cmpDateAdvanced.setLayout(glDateAdvanced);  Label lblDatePattern = new Label(cmpDateAdvanced, SWT.NONE); GridData gdLBLDatePattern = new GridData(); lblDatePattern.setLayoutData(gdLBLDatePattern); lblDatePattern.setText(Messages.getString("FormatSpecifierComposite.Lbl.DatePattern"));  txtDatePattern = new Text(cmpDateAdvanced, SWT.BORDER | SWT.SINGLE); GridData gdTXTDatePattern = new GridData(GridData.FILL_HORIZONTAL); txtDatePattern.setLayoutData(gdTXTDatePattern); txtDatePattern.addModifyListener(this);   GridLayout glAdvNumber = new GridLayout(); glAdvNumber.verticalSpacing = 5; glAdvNumber.marginHeight = 0; glAdvNumber.marginWidth = 0;  cmpAdvancedNumberDetails = new Composite(cmpAdvancedDetails, SWT.NONE); cmpAdvancedNumberDetails.setLayout(glAdvNumber);    GridLayout glNumberAdvanced = new GridLayout(); glNumberAdvanced.verticalSpacing = 5; glNumberAdvanced.numColumns = 2; glNumberAdvanced.marginHeight = 2; glNumberAdvanced.marginWidth = 2;  cmpNumberAdvanced = new Composite(cmpAdvancedNumberDetails, SWT.NONE); GridData gdGRPNumberAdvanced = new GridData(GridData.FILL_BOTH); cmpNumberAdvanced.setLayoutData(gdGRPNumberAdvanced); cmpNumberAdvanced.setLayout(glNumberAdvanced);  Label lblAdvMultiplier = new Label(cmpNumberAdvanced, SWT.NONE); GridData gdLBLAdvMultiplier = new GridData(); lblAdvMultiplier.setLayoutData(gdLBLAdvMultiplier); lblAdvMultiplier.setText(Messages.getString("FormatSpecifierComposite.Lbl.Multiplier"));  txtAdvMultiplier = new Text(cmpNumberAdvanced, SWT.BORDER | SWT.SINGLE); GridData gdTXTAdvMultiplier = new GridData(GridData.FILL_HORIZONTAL); txtAdvMultiplier.setLayoutData(gdTXTAdvMultiplier); txtAdvMultiplier.addModifyListener(this);  Label lblNumberPattern = new Label(cmpNumberAdvanced, SWT.NONE); GridData gdLBLNumberPattern = new GridData(); lblNumberPattern.setLayoutData(gdLBLNumberPattern); lblNumberPattern.setText(Messages.getString("FormatSpecifierComposite.Lbl.NumberPattern"));  txtNumberPattern = new Text(cmpNumberAdvanced, SWT.BORDER | SWT.SINGLE); GridData gdTXTNumberPattern = new GridData(GridData.FILL_HORIZONTAL); txtNumberPattern.setLayoutData(gdTXTNumberPattern); txtNumberPattern.addModifyListener(this);  populateLists(); }
private void placeComponents( ) {  GridLayout glContent = new GridLayout( ); glContent.numColumns = 2; glContent.marginHeight = 7; glContent.marginWidth = 7; glContent.horizontalSpacing = 5; glContent.verticalSpacing = 5;   slStandardDetails = new StackLayout( );   slAdvancedDetails = new StackLayout( );  this.setLayout( glContent );  Label lblDataType = new Label( this, SWT.NONE ); GridData gdLBLDataType = new GridData( ); lblDataType.setLayoutData( gdLBLDataType ); lblDataType.setText( Messages.getString( "FormatSpecifierComposite.Lbl.DataType" ) );  cmbDataType = new Combo( this, SWT.DROP_DOWN | SWT.READ_ONLY ); GridData gdCMBDataType = new GridData( GridData.FILL_HORIZONTAL ); cmbDataType.setLayoutData( gdCMBDataType ); cmbDataType.addSelectionListener( this );  btnUndefined = new Button( this, SWT.RADIO ); GridData gdBTNUndefined = new GridData( GridData.FILL_HORIZONTAL ); gdBTNUndefined.horizontalSpan = 2; btnUndefined.setLayoutData( gdBTNUndefined ); btnUndefined.setText( Messages.getString( "FormatSpecifierComposite.Lbl.Undefined" ) ); btnUndefined.addSelectionListener( this );  Label lblDummyStandard = new Label( this, SWT.NONE ); GridData gdLBLDummyStandard = new GridData( ); gdLBLDummyStandard.horizontalSpan = 2; gdLBLDummyStandard.heightHint = 10; lblDummyStandard.setLayoutData( gdLBLDummyStandard );  btnStandard = new Button( this, SWT.RADIO ); GridData gdBTNStandard = new GridData( GridData.FILL_HORIZONTAL ); gdBTNStandard.horizontalSpan = 2; btnStandard.setLayoutData( gdBTNStandard ); btnStandard.setText( Messages.getString( "FormatSpecifierComposite.Lbl.Standard" ) ); btnStandard.addSelectionListener( this );  cmpStandardDetails = new Composite( this, SWT.NONE ); GridData gdCMPStandardDetails = new GridData( GridData.FILL_BOTH ); gdCMPStandardDetails.horizontalIndent = 16; gdCMPStandardDetails.horizontalSpan = 2; cmpStandardDetails.setLayoutData( gdCMPStandardDetails ); cmpStandardDetails.setLayout( slStandardDetails );   GridLayout glDate = new GridLayout( ); glDate.verticalSpacing = 5; glDate.marginHeight = 0; glDate.marginWidth = 0;  cmpStandardDateDetails = new Composite( cmpStandardDetails, SWT.NONE ); cmpStandardDateDetails.setLayout( glDate );    GridLayout glDateStandard = new GridLayout( ); glDateStandard.verticalSpacing = 5; glDateStandard.numColumns = 2; glDateStandard.marginHeight = 2; glDateStandard.marginWidth = 2;  cmpDateStandard = new Composite( cmpStandardDateDetails, SWT.NONE ); GridData gdGRPDateStandard = new GridData( GridData.FILL_BOTH ); cmpDateStandard.setLayoutData( gdGRPDateStandard ); cmpDateStandard.setLayout( glDateStandard );  Label lblDateType = new Label( cmpDateStandard, SWT.NONE ); GridData gdLBLDateType = new GridData( ); lblDateType.setLayoutData( gdLBLDateType ); lblDateType.setText( Messages.getString( "FormatSpecifierComposite.Lbl.Type" ) );  cmbDateType = new Combo( cmpDateStandard, SWT.DROP_DOWN | SWT.READ_ONLY ); GridData gdCMBDateType = new GridData( GridData.FILL_HORIZONTAL ); cmbDateType.setLayoutData( gdCMBDateType ); cmbDateType.addSelectionListener( this );  Label lblDateDetails = new Label( cmpDateStandard, SWT.NONE ); GridData gdLBLDateDetails = new GridData( ); lblDateDetails.setLayoutData( gdLBLDateDetails ); lblDateDetails.setText( Messages.getString( "FormatSpecifierComposite.Lbl.Details" ) );  cmbDateForm = new Combo( cmpDateStandard, SWT.DROP_DOWN | SWT.READ_ONLY ); GridData gdCMBDateForm = new GridData( GridData.FILL_HORIZONTAL ); cmbDateForm.setLayoutData( gdCMBDateForm ); cmbDateForm.addSelectionListener( this );   GridLayout glNumber = new GridLayout( ); glNumber.verticalSpacing = 5; glNumber.marginHeight = 0; glNumber.marginWidth = 0;  cmpStandardNumberDetails = new Composite( cmpStandardDetails, SWT.NONE ); cmpStandardNumberDetails.setLayout( glNumber );    GridLayout glNumberStandard = new GridLayout( ); glNumberStandard.verticalSpacing = 5; glNumberStandard.numColumns = 4; glNumberStandard.marginHeight = 2; glNumberStandard.marginWidth = 2;  cmpNumberStandard = new Composite( cmpStandardNumberDetails, SWT.NONE ); GridData gdGRPNumberStandard = new GridData( GridData.FILL_BOTH ); cmpNumberStandard.setLayoutData( gdGRPNumberStandard ); cmpNumberStandard.setLayout( glNumberStandard );  Label lblPrefix = new Label( cmpNumberStandard, SWT.NONE ); GridData gdLBLPrefix = new GridData( ); lblPrefix.setLayoutData( gdLBLPrefix ); lblPrefix.setText( Messages.getString( "FormatSpecifierComposite.Lbl.Prefix" ) );  txtPrefix = new Text( cmpNumberStandard, SWT.BORDER | SWT.SINGLE ); GridData gdTXTPrefix = new GridData( GridData.FILL_HORIZONTAL); gdTXTPrefix.widthHint = 60; txtPrefix.setLayoutData( gdTXTPrefix ); txtPrefix.addModifyListener( this );  Label lblSuffix = new Label( cmpNumberStandard, SWT.NONE ); GridData gdLBLSuffix = new GridData( ); lblSuffix.setLayoutData( gdLBLSuffix ); lblSuffix.setText( Messages.getString( "FormatSpecifierComposite.Lbl.Suffix" ) );  txtSuffix = new Text( cmpNumberStandard, SWT.BORDER | SWT.SINGLE ); GridData gdTXTSuffix = new GridData( GridData.FILL_HORIZONTAL ); gdTXTSuffix.widthHint = 60; txtSuffix.setLayoutData( gdTXTSuffix ); txtSuffix.addModifyListener( this );  Label lblMultiplier = new Label( cmpNumberStandard, SWT.NONE ); GridData gdLBLMultiplier = new GridData( ); lblMultiplier.setLayoutData( gdLBLMultiplier ); lblMultiplier.setText( Messages.getString( "FormatSpecifierComposite.Lbl.Multiplier" ) );  txtMultiplier = new Text( cmpNumberStandard, SWT.BORDER | SWT.SINGLE ); GridData gdTXTMultiplier = new GridData( GridData.FILL_HORIZONTAL); gdTXTMultiplier.widthHint = 60; txtMultiplier.setLayoutData( gdTXTMultiplier ); txtMultiplier.addModifyListener( this );  Label lblFractionDigit = new Label( cmpNumberStandard, SWT.NONE ); GridData gdLBLFractionDigit = new GridData( ); lblFractionDigit.setLayoutData( gdLBLFractionDigit ); lblFractionDigit.setText( Messages.getString( "FormatSpecifierComposite.Lbl.FractionDigits" ) );  iscFractionDigits = new IntegerSpinControl( cmpNumberStandard, SWT.NONE, 2 ); GridData gdISCFractionDigits = new GridData( GridData.FILL_HORIZONTAL); gdISCFractionDigits.widthHint = 60; iscFractionDigits.setLayoutData( gdISCFractionDigits ); iscFractionDigits.addListener( this );  Label lblDummyAdvanced = new Label( this, SWT.NONE ); GridData gdLBLDummyAdvanced = new GridData( ); gdLBLDummyAdvanced.horizontalSpan = 2; gdLBLDummyAdvanced.heightHint = 10; lblDummyAdvanced.setLayoutData( gdLBLDummyAdvanced );  btnAdvanced = new Button( this, SWT.RADIO ); GridData gdBTNAdvanced = new GridData( GridData.FILL_HORIZONTAL ); gdBTNAdvanced.horizontalSpan = 2; btnAdvanced.setLayoutData( gdBTNAdvanced ); btnAdvanced.setText( Messages.getString( "FormatSpecifierComposite.Lbl.Advanced" ) ); btnAdvanced.addSelectionListener( this );  cmpAdvancedDetails = new Composite( this, SWT.NONE ); GridData gdCMPAdvancedDetails = new GridData( GridData.FILL_BOTH ); gdCMPAdvancedDetails.horizontalIndent = 16; gdCMPAdvancedDetails.horizontalSpan = 2; cmpAdvancedDetails.setLayoutData( gdCMPAdvancedDetails ); cmpAdvancedDetails.setLayout( slAdvancedDetails );   GridLayout glAdvDate = new GridLayout( ); glAdvDate.verticalSpacing = 5; glAdvDate.marginHeight = 0; glAdvDate.marginWidth = 0;  cmpAdvancedDateDetails = new Composite( cmpAdvancedDetails, SWT.NONE ); cmpAdvancedDateDetails.setLayout( glAdvDate );    GridLayout glDateAdvanced = new GridLayout( ); glDateAdvanced.verticalSpacing = 5; glDateAdvanced.numColumns = 2; glDateAdvanced.marginHeight = 2; glDateAdvanced.marginWidth = 2;  cmpDateAdvanced = new Composite( cmpAdvancedDateDetails, SWT.NONE ); GridData gdGRPDateAdvanced = new GridData( GridData.FILL_BOTH ); cmpDateAdvanced.setLayoutData( gdGRPDateAdvanced ); cmpDateAdvanced.setLayout( glDateAdvanced );  Label lblDatePattern = new Label( cmpDateAdvanced, SWT.NONE ); GridData gdLBLDatePattern = new GridData( ); lblDatePattern.setLayoutData( gdLBLDatePattern ); lblDatePattern.setText( Messages.getString( "FormatSpecifierComposite.Lbl.DatePattern" ) );  txtDatePattern = new Text( cmpDateAdvanced, SWT.BORDER | SWT.SINGLE ); GridData gdTXTDatePattern = new GridData( GridData.FILL_HORIZONTAL ); txtDatePattern.setLayoutData( gdTXTDatePattern ); txtDatePattern.addModifyListener( this );   GridLayout glAdvNumber = new GridLayout( ); glAdvNumber.verticalSpacing = 5; glAdvNumber.marginHeight = 0; glAdvNumber.marginWidth = 0;  cmpAdvancedNumberDetails = new Composite( cmpAdvancedDetails, SWT.NONE ); cmpAdvancedNumberDetails.setLayout( glAdvNumber );    GridLayout glNumberAdvanced = new GridLayout( ); glNumberAdvanced.verticalSpacing = 5; glNumberAdvanced.numColumns = 2; glNumberAdvanced.marginHeight = 2; glNumberAdvanced.marginWidth = 2;  cmpNumberAdvanced = new Composite( cmpAdvancedNumberDetails, SWT.NONE ); GridData gdGRPNumberAdvanced = new GridData( GridData.FILL_BOTH ); cmpNumberAdvanced.setLayoutData( gdGRPNumberAdvanced ); cmpNumberAdvanced.setLayout( glNumberAdvanced );  Label lblAdvMultiplier = new Label( cmpNumberAdvanced, SWT.NONE ); GridData gdLBLAdvMultiplier = new GridData( ); lblAdvMultiplier.setLayoutData( gdLBLAdvMultiplier ); lblAdvMultiplier.setText( Messages.getString( "FormatSpecifierComposite.Lbl.Multiplier" ) );  txtAdvMultiplier = new Text( cmpNumberAdvanced, SWT.BORDER | SWT.SINGLE ); GridData gdTXTAdvMultiplier = new GridData( GridData.FILL_HORIZONTAL ); txtAdvMultiplier.setLayoutData( gdTXTAdvMultiplier ); txtAdvMultiplier.addModifyListener( this );  Label lblNumberPattern = new Label( cmpNumberAdvanced, SWT.NONE ); GridData gdLBLNumberPattern = new GridData( ); lblNumberPattern.setLayoutData( gdLBLNumberPattern ); lblNumberPattern.setText( Messages.getString( "FormatSpecifierComposite.Lbl.NumberPattern" ) );  txtNumberPattern = new Text( cmpNumberAdvanced, SWT.BORDER | SWT.SINGLE ); GridData gdTXTNumberPattern = new GridData( GridData.FILL_HORIZONTAL ); txtNumberPattern.setLayoutData( gdTXTNumberPattern ); txtNumberPattern.addModifyListener( this );  populateLists( ); }
    private void placeComponents()    {        // Layout for the content composite        GridLayout glContent = new GridLayout();        glContent.numColumns = 2;        glContent.marginHeight = 7;        glContent.marginWidth = 7;        glContent.horizontalSpacing = 5;        glContent.verticalSpacing = 5;        // Layout for the details composite        slStandardDetails = new StackLayout();        // Layout for the details composite        slAdvancedDetails = new StackLayout();        this.setLayout(glContent);        Label lblDataType = new Label(this, SWT.NONE);        GridData gdLBLDataType = new GridData();        lblDataType.setLayoutData(gdLBLDataType);        lblDataType.setText(Messages.getString("FormatSpecifierComposite.Lbl.DataType")); //$NON-NLS-1$        cmbDataType = new Combo(this, SWT.DROP_DOWN | SWT.READ_ONLY);        GridData gdCMBDataType = new GridData(GridData.FILL_HORIZONTAL);        cmbDataType.setLayoutData(gdCMBDataType);        cmbDataType.addSelectionListener(this);        btnUndefined = new Button(this, SWT.RADIO);        GridData gdBTNUndefined = new GridData(GridData.FILL_HORIZONTAL);        gdBTNUndefined.horizontalSpan = 2;        btnUndefined.setLayoutData(gdBTNUndefined);        btnUndefined.setText(Messages.getString("FormatSpecifierComposite.Lbl.Undefined")); //$NON-NLS-1$        btnUndefined.addSelectionListener(this);        Label lblDummyStandard = new Label(this, SWT.NONE);        GridData gdLBLDummyStandard = new GridData();        gdLBLDummyStandard.horizontalSpan = 2;        gdLBLDummyStandard.heightHint = 10;        lblDummyStandard.setLayoutData(gdLBLDummyStandard);        btnStandard = new Button(this, SWT.RADIO);        GridData gdBTNStandard = new GridData(GridData.FILL_HORIZONTAL);        gdBTNStandard.horizontalSpan = 2;        btnStandard.setLayoutData(gdBTNStandard);        btnStandard.setText(Messages.getString("FormatSpecifierComposite.Lbl.Standard")); //$NON-NLS-1$        btnStandard.addSelectionListener(this);        cmpStandardDetails = new Composite(this, SWT.NONE);        GridData gdCMPStandardDetails = new GridData(GridData.FILL_BOTH);        gdCMPStandardDetails.horizontalIndent = 16;        gdCMPStandardDetails.horizontalSpan = 2;        cmpStandardDetails.setLayoutData(gdCMPStandardDetails);        cmpStandardDetails.setLayout(slStandardDetails);        // Date/Time details Composite        GridLayout glDate = new GridLayout();        glDate.verticalSpacing = 5;        glDate.marginHeight = 0;        glDate.marginWidth = 0;        cmpStandardDateDetails = new Composite(cmpStandardDetails, SWT.NONE);        cmpStandardDateDetails.setLayout(glDate);        // Date/Time Standard Composite        // Layout        GridLayout glDateStandard = new GridLayout();        glDateStandard.verticalSpacing = 5;        glDateStandard.numColumns = 2;        glDateStandard.marginHeight = 2;        glDateStandard.marginWidth = 2;        cmpDateStandard = new Composite(cmpStandardDateDetails, SWT.NONE);        GridData gdGRPDateStandard = new GridData(GridData.FILL_BOTH);        cmpDateStandard.setLayoutData(gdGRPDateStandard);        cmpDateStandard.setLayout(glDateStandard);        Label lblDateType = new Label(cmpDateStandard, SWT.NONE);        GridData gdLBLDateType = new GridData();        lblDateType.setLayoutData(gdLBLDateType);        lblDateType.setText(Messages.getString("FormatSpecifierComposite.Lbl.Type")); //$NON-NLS-1$        cmbDateType = new Combo(cmpDateStandard, SWT.DROP_DOWN | SWT.READ_ONLY);        GridData gdCMBDateType = new GridData(GridData.FILL_HORIZONTAL);        cmbDateType.setLayoutData(gdCMBDateType);        cmbDateType.addSelectionListener(this);        Label lblDateDetails = new Label(cmpDateStandard, SWT.NONE);        GridData gdLBLDateDetails = new GridData();        lblDateDetails.setLayoutData(gdLBLDateDetails);        lblDateDetails.setText(Messages.getString("FormatSpecifierComposite.Lbl.Details")); //$NON-NLS-1$        cmbDateForm = new Combo(cmpDateStandard, SWT.DROP_DOWN | SWT.READ_ONLY);        GridData gdCMBDateForm = new GridData(GridData.FILL_HORIZONTAL);        cmbDateForm.setLayoutData(gdCMBDateForm);        cmbDateForm.addSelectionListener(this);        // Number details Composite        GridLayout glNumber = new GridLayout();        glNumber.verticalSpacing = 5;        glNumber.marginHeight = 0;        glNumber.marginWidth = 0;        cmpStandardNumberDetails = new Composite(cmpStandardDetails, SWT.NONE);        cmpStandardNumberDetails.setLayout(glNumber);        // Number Standard Composite        // Layout        GridLayout glNumberStandard = new GridLayout();        glNumberStandard.verticalSpacing = 5;        glNumberStandard.numColumns = 4;        glNumberStandard.marginHeight = 2;        glNumberStandard.marginWidth = 2;        cmpNumberStandard = new Composite(cmpStandardNumberDetails, SWT.NONE);        GridData gdGRPNumberStandard = new GridData(GridData.FILL_BOTH);        cmpNumberStandard.setLayoutData(gdGRPNumberStandard);        cmpNumberStandard.setLayout(glNumberStandard);        Label lblPrefix = new Label(cmpNumberStandard, SWT.NONE);        GridData gdLBLPrefix = new GridData();        lblPrefix.setLayoutData(gdLBLPrefix);        lblPrefix.setText(Messages.getString("FormatSpecifierComposite.Lbl.Prefix")); //$NON-NLS-1$        txtPrefix = new Text(cmpNumberStandard, SWT.BORDER | SWT.SINGLE);        GridData gdTXTPrefix = new GridData(GridData.FILL_HORIZONTAL);        txtPrefix.setLayoutData(gdTXTPrefix);        txtPrefix.addModifyListener(this);        Label lblSuffix = new Label(cmpNumberStandard, SWT.NONE);        GridData gdLBLSuffix = new GridData();        lblSuffix.setLayoutData(gdLBLSuffix);        lblSuffix.setText(Messages.getString("FormatSpecifierComposite.Lbl.Suffix")); //$NON-NLS-1$        txtSuffix = new Text(cmpNumberStandard, SWT.BORDER | SWT.SINGLE);        GridData gdTXTSuffix = new GridData(GridData.FILL_HORIZONTAL);        txtSuffix.setLayoutData(gdTXTSuffix);        txtSuffix.addModifyListener(this);        Label lblMultiplier = new Label(cmpNumberStandard, SWT.NONE);        GridData gdLBLMultiplier = new GridData();        lblMultiplier.setLayoutData(gdLBLMultiplier);        lblMultiplier.setText(Messages.getString("FormatSpecifierComposite.Lbl.Multiplier")); //$NON-NLS-1$        txtMultiplier = new Text(cmpNumberStandard, SWT.BORDER | SWT.SINGLE);        GridData gdTXTMultiplier = new GridData(GridData.FILL_HORIZONTAL);        txtMultiplier.setLayoutData(gdTXTMultiplier);        txtMultiplier.addModifyListener(this);        Label lblFractionDigit = new Label(cmpNumberStandard, SWT.NONE);        GridData gdLBLFractionDigit = new GridData();        lblFractionDigit.setLayoutData(gdLBLFractionDigit);        lblFractionDigit.setText(Messages.getString("FormatSpecifierComposite.Lbl.FractionDigits")); //$NON-NLS-1$        iscFractionDigits = new IntegerSpinControl(cmpNumberStandard, SWT.NONE, 2);        GridData gdISCFractionDigits = new GridData(GridData.FILL_HORIZONTAL);        iscFractionDigits.setLayoutData(gdISCFractionDigits);        iscFractionDigits.addListener(this);        Label lblDummyAdvanced = new Label(this, SWT.NONE);        GridData gdLBLDummyAdvanced = new GridData();        gdLBLDummyAdvanced.horizontalSpan = 2;        gdLBLDummyAdvanced.heightHint = 10;        lblDummyAdvanced.setLayoutData(gdLBLDummyAdvanced);        btnAdvanced = new Button(this, SWT.RADIO);        GridData gdBTNAdvanced = new GridData(GridData.FILL_HORIZONTAL);        gdBTNAdvanced.horizontalSpan = 2;        btnAdvanced.setLayoutData(gdBTNAdvanced);        btnAdvanced.setText(Messages.getString("FormatSpecifierComposite.Lbl.Advanced")); //$NON-NLS-1$        btnAdvanced.addSelectionListener(this);        cmpAdvancedDetails = new Composite(this, SWT.NONE);        GridData gdCMPAdvancedDetails = new GridData(GridData.FILL_BOTH);        gdCMPAdvancedDetails.horizontalIndent = 16;        gdCMPAdvancedDetails.horizontalSpan = 2;        cmpAdvancedDetails.setLayoutData(gdCMPAdvancedDetails);        cmpAdvancedDetails.setLayout(slAdvancedDetails);        // Date/Time details Composite        GridLayout glAdvDate = new GridLayout();        glAdvDate.verticalSpacing = 5;        glAdvDate.marginHeight = 0;        glAdvDate.marginWidth = 0;        cmpAdvancedDateDetails = new Composite(cmpAdvancedDetails, SWT.NONE);        cmpAdvancedDateDetails.setLayout(glAdvDate);        // Date/Time Advanced Composite        // Layout        GridLayout glDateAdvanced = new GridLayout();        glDateAdvanced.verticalSpacing = 5;        glDateAdvanced.numColumns = 2;        glDateAdvanced.marginHeight = 2;        glDateAdvanced.marginWidth = 2;        cmpDateAdvanced = new Composite(cmpAdvancedDateDetails, SWT.NONE);        GridData gdGRPDateAdvanced = new GridData(GridData.FILL_BOTH);        cmpDateAdvanced.setLayoutData(gdGRPDateAdvanced);        cmpDateAdvanced.setLayout(glDateAdvanced);        Label lblDatePattern = new Label(cmpDateAdvanced, SWT.NONE);        GridData gdLBLDatePattern = new GridData();        lblDatePattern.setLayoutData(gdLBLDatePattern);        lblDatePattern.setText(Messages.getString("FormatSpecifierComposite.Lbl.DatePattern")); //$NON-NLS-1$        txtDatePattern = new Text(cmpDateAdvanced, SWT.BORDER | SWT.SINGLE);        GridData gdTXTDatePattern = new GridData(GridData.FILL_HORIZONTAL);        txtDatePattern.setLayoutData(gdTXTDatePattern);        txtDatePattern.addModifyListener(this);        // Number details Composite        GridLayout glAdvNumber = new GridLayout();        glAdvNumber.verticalSpacing = 5;        glAdvNumber.marginHeight = 0;        glAdvNumber.marginWidth = 0;        cmpAdvancedNumberDetails = new Composite(cmpAdvancedDetails, SWT.NONE);        cmpAdvancedNumberDetails.setLayout(glAdvNumber);        // Number Advanced Composite        // Layout        GridLayout glNumberAdvanced = new GridLayout();        glNumberAdvanced.verticalSpacing = 5;        glNumberAdvanced.numColumns = 2;        glNumberAdvanced.marginHeight = 2;        glNumberAdvanced.marginWidth = 2;        cmpNumberAdvanced = new Composite(cmpAdvancedNumberDetails, SWT.NONE);        GridData gdGRPNumberAdvanced = new GridData(GridData.FILL_BOTH);        cmpNumberAdvanced.setLayoutData(gdGRPNumberAdvanced);        cmpNumberAdvanced.setLayout(glNumberAdvanced);        Label lblAdvMultiplier = new Label(cmpNumberAdvanced, SWT.NONE);        GridData gdLBLAdvMultiplier = new GridData();        lblAdvMultiplier.setLayoutData(gdLBLAdvMultiplier);        lblAdvMultiplier.setText(Messages.getString("FormatSpecifierComposite.Lbl.Multiplier")); //$NON-NLS-1$        txtAdvMultiplier = new Text(cmpNumberAdvanced, SWT.BORDER | SWT.SINGLE);        GridData gdTXTAdvMultiplier = new GridData(GridData.FILL_HORIZONTAL);        txtAdvMultiplier.setLayoutData(gdTXTAdvMultiplier);        txtAdvMultiplier.addModifyListener(this);        Label lblNumberPattern = new Label(cmpNumberAdvanced, SWT.NONE);        GridData gdLBLNumberPattern = new GridData();        lblNumberPattern.setLayoutData(gdLBLNumberPattern);        lblNumberPattern.setText(Messages.getString("FormatSpecifierComposite.Lbl.NumberPattern")); //$NON-NLS-1$        txtNumberPattern = new Text(cmpNumberAdvanced, SWT.BORDER | SWT.SINGLE);        GridData gdTXTNumberPattern = new GridData(GridData.FILL_HORIZONTAL);        txtNumberPattern.setLayoutData(gdTXTNumberPattern);        txtNumberPattern.addModifyListener(this);        populateLists();    }