diff --git a/plugins/org.teiid.designer.relational.ui/src/org/teiid/designer/relational/ui/Messages.java b/plugins/org.teiid.designer.relational.ui/src/org/teiid/designer/relational/ui/Messages.java index 74fac06543..79ef99aa01 100644 --- a/plugins/org.teiid.designer.relational.ui/src/org/teiid/designer/relational/ui/Messages.java +++ b/plugins/org.teiid.designer.relational.ui/src/org/teiid/designer/relational/ui/Messages.java @@ -127,6 +127,7 @@ public class Messages extends NLS { public static String newIndexMessage; public static String createIndexTitle; public static String editIndexTitle; + public static String includeResultSetTooltip; static { NLS.initializeMessages("org.teiid.designer.relational.ui.messages", Messages.class); //$NON-NLS-1$ diff --git a/plugins/org.teiid.designer.relational.ui/src/org/teiid/designer/relational/ui/edit/RelationalProcedureEditorPanel.java b/plugins/org.teiid.designer.relational.ui/src/org/teiid/designer/relational/ui/edit/RelationalProcedureEditorPanel.java index 2065bea8b3..706ea0a52a 100644 --- a/plugins/org.teiid.designer.relational.ui/src/org/teiid/designer/relational/ui/edit/RelationalProcedureEditorPanel.java +++ b/plugins/org.teiid.designer.relational.ui/src/org/teiid/designer/relational/ui/edit/RelationalProcedureEditorPanel.java @@ -180,6 +180,7 @@ protected void synchronizeExtendedUI() { if( this.getRelationalReference().getResultSet() == null ) { if( WidgetUtil.widgetValueChanged(includeResultSetCB, false)) { this.includeResultSetCB.setSelection(false); + this.addColumnButton.setEnabled(false); } this.resultSetNameText.setEnabled(false); @@ -226,6 +227,7 @@ private Composite createResultSetPanel(Composite parent) { this.includeResultSetCB = new Button(thePanel, SWT.CHECK | SWT.RIGHT); GridDataFactory.fillDefaults().align(SWT.LEFT, SWT.CENTER).applyTo(this.includeResultSetCB); this.includeResultSetCB.setText(UILabelUtil.getLabel(UiLabelConstants.LABEL_IDS.INCLUDE)); + this.includeResultSetCB.setToolTipText(Messages.includeResultSetTooltip); this.includeResultSetCB.addSelectionListener(new SelectionAdapter() { /** * {@inheritDoc} @@ -291,6 +293,7 @@ public void widgetSelected(SelectionEvent e) { } }); + this.addColumnButton.setEnabled(false); deleteColumnButton = new Button(buttonPanel, SWT.PUSH); deleteColumnButton.setText(UILabelUtil.getLabel(UiLabelConstants.LABEL_IDS.DELETE)); @@ -995,6 +998,16 @@ private void setUiState() { if (this.useDistinctRowsCB != null) this.useDistinctRowsCB.setEnabled(aggregateState); } + } else { + if( this.addColumnButton != null && this.includeResultSetCB != null ) { + boolean enable = this.includeResultSetCB.getSelection(); + this.addColumnButton.setEnabled(enable); + if( !enable ) { + this.deleteColumnButton.setEnabled(false); + this.downColumnButton.setEnabled(false); + this.upColumnButton.setEnabled(false); + } + } } } diff --git a/plugins/org.teiid.designer.relational.ui/src/org/teiid/designer/relational/ui/messages.properties b/plugins/org.teiid.designer.relational.ui/src/org/teiid/designer/relational/ui/messages.properties index 12914f3f22..057a80634f 100644 --- a/plugins/org.teiid.designer.relational.ui/src/org/teiid/designer/relational/ui/messages.properties +++ b/plugins/org.teiid.designer.relational.ui/src/org/teiid/designer/relational/ui/messages.properties @@ -127,3 +127,4 @@ newIndexMessage=Enter valid name, select column references and press OK selectColumnReferencesForIndex=Select Column References for Index createIndexTitle=Create Index editIndexTitle=Create Index +includeResultSetTooltip=Click to include a result set in your procedure and to enable column editing below. diff --git a/plugins/org.teiid.designer.transformation.ui/src/org/teiid/designer/transformation/ui/Messages.java b/plugins/org.teiid.designer.transformation.ui/src/org/teiid/designer/transformation/ui/Messages.java index 6a6f9c316f..1e9009615e 100644 --- a/plugins/org.teiid.designer.transformation.ui/src/org/teiid/designer/transformation/ui/Messages.java +++ b/plugins/org.teiid.designer.transformation.ui/src/org/teiid/designer/transformation/ui/Messages.java @@ -142,6 +142,7 @@ public class Messages extends NLS { public static String newIndexMessage; public static String createIndexTitle; public static String editIndexTitle; + public static String includeResultSetTooltip; public static String sqlTemplateDialogTitle; public static String sqlTemplateDialogTitleMessage; diff --git a/plugins/org.teiid.designer.transformation.ui/src/org/teiid/designer/transformation/ui/editors/ViewProcedureEditorPanel.java b/plugins/org.teiid.designer.transformation.ui/src/org/teiid/designer/transformation/ui/editors/ViewProcedureEditorPanel.java index e63fa3b42a..0f32d60e6a 100644 --- a/plugins/org.teiid.designer.transformation.ui/src/org/teiid/designer/transformation/ui/editors/ViewProcedureEditorPanel.java +++ b/plugins/org.teiid.designer.transformation.ui/src/org/teiid/designer/transformation/ui/editors/ViewProcedureEditorPanel.java @@ -190,6 +190,7 @@ protected void synchronizeExtendedUI() { if( this.getRelationalReference().getResultSet() == null ) { if( WidgetUtil.widgetValueChanged(includeResultSetCB, false)) { this.includeResultSetCB.setSelection(false); + this.addColumnButton.setEnabled(false); } this.resultSetNameText.setEnabled(false); @@ -235,6 +236,7 @@ private Composite createResultSetPanel(Composite parent) { this.includeResultSetCB = new Button(thePanel, SWT.CHECK | SWT.RIGHT); GridDataFactory.fillDefaults().align(SWT.LEFT, SWT.CENTER).applyTo(this.includeResultSetCB); this.includeResultSetCB.setText(Messages.includeLabel); + this.includeResultSetCB.setToolTipText(Messages.includeResultSetTooltip); this.includeResultSetCB.addSelectionListener(new SelectionAdapter() { /** * {@inheritDoc} @@ -300,6 +302,7 @@ public void widgetSelected(SelectionEvent e) { } }); + this.addColumnButton.setEnabled(false); deleteColumnButton = new Button(buttonPanel, SWT.PUSH); deleteColumnButton.setText(Messages.deleteLabel); @@ -1000,8 +1003,19 @@ public void modifyText(ModifyEvent e) { } private void setUiState() { - if( ! this.getRelationalReference().isFunction() ) - return; + if( ! this.getRelationalReference().isFunction() ) { + if( this.addColumnButton != null && this.includeResultSetCB != null ) { + boolean enable = this.includeResultSetCB.getSelection(); + this.addColumnButton.setEnabled(enable); + if( !enable ) { + this.deleteColumnButton.setEnabled(false); + this.downColumnButton.setEnabled(false); + this.upColumnButton.setEnabled(false); + } + } + + return; + } boolean functionState = true; this.deterministicCB.setEnabled(functionState); @@ -1018,6 +1032,7 @@ private void setUiState() { this.analyticCB.setEnabled(aggregateState); this.decomposableCB.setEnabled(aggregateState); this.useDistinctRowsCB.setEnabled(aggregateState); + } @Override diff --git a/plugins/org.teiid.designer.transformation.ui/src/org/teiid/designer/transformation/ui/messages.properties b/plugins/org.teiid.designer.transformation.ui/src/org/teiid/designer/transformation/ui/messages.properties index ab94ec416c..9614383ab0 100644 --- a/plugins/org.teiid.designer.transformation.ui/src/org/teiid/designer/transformation/ui/messages.properties +++ b/plugins/org.teiid.designer.transformation.ui/src/org/teiid/designer/transformation/ui/messages.properties @@ -141,6 +141,7 @@ newIndexMessage=Enter valid name, select column references and press OK selectColumnReferencesForIndex=Select Column References for Index createIndexTitle=Create Index editIndexTitle=Create Index +includeResultSetTooltip=Click to include a result set in your procedure and to enable column editing below. sqlTemplateDialogTitle=Choose a SQL Template sqlTemplateDialogTitleMessage=Choose a SQL Template from the available options.