gdGRPValue.horizontalSpan = 4;
gdGRPValue.horizontalSpan = 2;
    private void placeComponents()    {        // Layout for the content composite        GridLayout glCMPTrigger = new GridLayout();        glCMPTrigger.numColumns = 4;        glCMPTrigger.horizontalSpacing = 16;        glCMPTrigger.verticalSpacing = 4;        glCMPTrigger.marginHeight = 2;        glCMPTrigger.marginWidth = 2;        // Layout for the Action Details group        slValues = new StackLayout();        // Layout for script value composite        GridLayout glScript = new GridLayout();        glScript.marginWidth = 4;        glScript.marginHeight = 6;        // Layout for script value composite        GridLayout glVisibility = new GridLayout();        glVisibility.marginWidth = 4;        glVisibility.marginHeight = 6;        glVisibility.horizontalSpacing = 6;        glVisibility.numColumns = 3;        // Layout for script value composite        GridLayout glTooltip = new GridLayout();        glTooltip.marginWidth = 2;        glTooltip.marginHeight = 6;        glTooltip.horizontalSpacing = 6;        glTooltip.numColumns = 3;        // Layout for script value composite        GridLayout glURL = new GridLayout();        glURL.marginWidth = 2;        glURL.marginHeight = 6;        glURL.horizontalSpacing = 6;        glURL.numColumns = 3;        // Layout for script value composite        GridLayout glParameter = new GridLayout();        glParameter.marginWidth = 2;        glParameter.marginHeight = 6;        glParameter.horizontalSpacing = 6;        glParameter.numColumns = 3;        // Main content composite        this.setLayout(glCMPTrigger);        Label lblTriggerType = new Label(this, SWT.NONE);        GridData gdLBLTriggerType = new GridData();        gdLBLTriggerType.horizontalIndent = 4;        lblTriggerType.setLayoutData(gdLBLTriggerType);        lblTriggerType.setText("Type:");        cmbTriggerType = new Combo(this, SWT.DROP_DOWN | SWT.READ_ONLY);        GridData gdCMBTriggerType = new GridData(GridData.FILL_HORIZONTAL);        cmbTriggerType.setLayoutData(gdCMBTriggerType);        cmbTriggerType.addSelectionListener(this);        Label lblActionType = new Label(this, SWT.NONE);        GridData gdLBLActionType = new GridData();        lblActionType.setLayoutData(gdLBLActionType);        lblActionType.setText("Action:");        cmbActionType = new Combo(this, SWT.DROP_DOWN | SWT.READ_ONLY);        GridData gdCMBActionType = new GridData(GridData.FILL_HORIZONTAL);        cmbActionType.setLayoutData(gdCMBActionType);        cmbActionType.addSelectionListener(this);        grpValue = new Group(this, SWT.NONE);        GridData gdGRPValue = new GridData(GridData.FILL_BOTH);        gdGRPValue.horizontalSpan = 4;        grpValue.setLayoutData(gdGRPValue);        grpValue.setText("Action Details");        grpValue.setLayout(slValues);        // Composite for script value        cmpScript = new Composite(grpValue, SWT.NONE);        cmpScript.setLayout(glScript);        Label lblScript = new Label(cmpScript, SWT.NONE);        GridData gdLBLScript = new GridData();        lblScript.setLayoutData(gdLBLScript);        lblScript.setText("Script:");        txtScript = new Text(cmpScript, SWT.MULTI | SWT.BORDER | SWT.V_SCROLL);        GridData gdTXTScript = new GridData(GridData.FILL_BOTH);        txtScript.setLayoutData(gdTXTScript);        // Composite for series value        cmpVisibility = new Composite(grpValue, SWT.NONE);        cmpVisibility.setLayout(glVisibility);        Label lblSeries = new Label(cmpVisibility, SWT.NONE);        GridData gdLBLSeries = new GridData();        lblSeries.setLayoutData(gdLBLSeries);        lblSeries.setText("Series Definition:");        txtSeriesDefinition = new Text(cmpVisibility, SWT.BORDER);        GridData gdTXTSeriesDefinition = new GridData(GridData.FILL_HORIZONTAL);        gdTXTSeriesDefinition.horizontalSpan = 2;        txtSeriesDefinition.setLayoutData(gdTXTSeriesDefinition);        // Composite for tooltip value        cmpTooltip = new Composite(grpValue, SWT.NONE);        cmpTooltip.setLayout(glTooltip);        Label lblDelay = new Label(cmpTooltip, SWT.NONE);        GridData gdLBLDelay = new GridData();        lblDelay.setLayoutData(gdLBLDelay);        lblDelay.setText("Tooltip Delay (in ms):");        iscDelay = new IntegerSpinControl(cmpTooltip, SWT.NONE, 200);        GridData gdISCDelay = new GridData();        gdISCDelay.horizontalSpan = 2;        gdISCDelay.widthHint = 50;        iscDelay.setLayoutData(gdISCDelay);        iscDelay.setMinimum(100);        iscDelay.setMaximum(5000);        iscDelay.setIncrement(100);        Label lblText = new Label(cmpTooltip, SWT.NONE);        GridData gdLBLText = new GridData();        gdLBLText.horizontalSpan = 3;        lblText.setLayoutData(gdLBLText);        lblText.setText("Tooltip Text:");        txtTooltipText = new Text(cmpTooltip, SWT.BORDER | SWT.MULTI | SWT.V_SCROLL);        GridData gdTXTTooltipText = new GridData(GridData.FILL_BOTH);        gdTXTTooltipText.horizontalSpan = 3;        txtTooltipText.setLayoutData(gdTXTTooltipText);        cmpURL = new Composite(grpValue, SWT.NONE);        cmpURL.setLayout(glURL);        Label lblBaseURL = new Label(cmpURL, SWT.NONE);        GridData gdLBLBaseURL = new GridData();        lblBaseURL.setLayoutData(gdLBLBaseURL);        lblBaseURL.setText("Base URL:");        txtBaseURL = new Text(cmpURL, SWT.BORDER);        GridData gdTXTBaseURL = new GridData(GridData.FILL_HORIZONTAL);        gdTXTBaseURL.horizontalSpan = 2;        txtBaseURL.setLayoutData(gdTXTBaseURL);        Label lblTarget = new Label(cmpURL, SWT.NONE);        GridData gdLBLTarget = new GridData();        lblTarget.setLayoutData(gdLBLTarget);        lblTarget.setText("Target:");        txtTarget = new Text(cmpURL, SWT.BORDER);        GridData gdTXTTarget = new GridData(GridData.FILL_HORIZONTAL);        gdTXTTarget.horizontalSpan = 2;        txtTarget.setLayoutData(gdTXTTarget);        grpParameters = new Group(cmpURL, SWT.NONE);        GridData gdGRPParameters = new GridData(GridData.FILL_HORIZONTAL);        gdGRPParameters.horizontalSpan = 3;        grpParameters.setLayoutData(gdGRPParameters);        grpParameters.setLayout(glParameter);        grpParameters.setText("Parameter Names");        Label lblBaseParm = new Label(grpParameters, SWT.NONE);        GridData gdLBLBaseParm = new GridData();        lblBaseParm.setLayoutData(gdLBLBaseParm);        lblBaseParm.setText("Base Parameter:");        txtBaseParm = new Text(grpParameters, SWT.BORDER);        GridData gdTXTBaseParm = new GridData(GridData.FILL_HORIZONTAL);        gdTXTBaseParm.horizontalSpan = 2;        txtBaseParm.setLayoutData(gdTXTBaseParm);        Label lblValueParm = new Label(grpParameters, SWT.NONE);        GridData gdLBLValueParm = new GridData();        lblValueParm.setLayoutData(gdLBLValueParm);        lblValueParm.setText("Value Parameter:");        txtValueParm = new Text(grpParameters, SWT.BORDER);        GridData gdTXTValueParm = new GridData(GridData.FILL_HORIZONTAL);        gdTXTValueParm.horizontalSpan = 2;        txtValueParm.setLayoutData(gdTXTValueParm);        Label lblSeriesParm = new Label(grpParameters, SWT.NONE);        GridData gdLBLSeriesParm = new GridData();        lblSeriesParm.setLayoutData(gdLBLSeriesParm);        lblSeriesParm.setText("Series Parameter:");        txtSeriesParm = new Text(grpParameters, SWT.BORDER);        GridData gdTXTSeriesParm = new GridData(GridData.FILL_HORIZONTAL);        gdTXTSeriesParm.horizontalSpan = 2;        txtSeriesParm.setLayoutData(gdTXTSeriesParm);        populateLists();        slValues.topControl = cmpURL;    }