From 38433e45170843c1c8ac97756222400ee9b0509a Mon Sep 17 00:00:00 2001 From: Doug Schaefer Date: Mon, 5 Dec 2016 13:59:11 -0500 Subject: [PATCH] Fix Next button when template is deselected with new tag selection. Also try and keep the selection when the tag is changed. Change-Id: Ib676baf5021ccbc160076e3800c01df8f023e02e --- .../tools/templates/ui/TemplateSelectionPage.java | 12 ++++++++++-- .../templates/ui/internal/TemplateTable.java | 15 +++++++++++++++ 2 files changed, 25 insertions(+), 2 deletions(-) diff --git a/bundles/org.eclipse.tools.templates.ui/src/org/eclipse/tools/templates/ui/TemplateSelectionPage.java b/bundles/org.eclipse.tools.templates.ui/src/org/eclipse/tools/templates/ui/TemplateSelectionPage.java index 67ba2e84bde..5100b4f3582 100644 --- a/bundles/org.eclipse.tools.templates.ui/src/org/eclipse/tools/templates/ui/TemplateSelectionPage.java +++ b/bundles/org.eclipse.tools.templates.ui/src/org/eclipse/tools/templates/ui/TemplateSelectionPage.java @@ -73,7 +73,11 @@ public class TemplateSelectionPage extends WizardPage { } } + Template selected = templateTable.getSelectedTemplate(); templateTable.setTemplates(selectedTemplates); + templateTable.selectTemplate(selected); + + updateButtons(); } }); @@ -81,8 +85,7 @@ public class TemplateSelectionPage extends WizardPage { templateTable.getTable().addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { - setPageComplete(templateTable.getSelectedTemplate() != null); - getContainer().updateButtons(); + updateButtons(); } @Override @@ -104,6 +107,11 @@ public class TemplateSelectionPage extends WizardPage { form.setWeights(new int[] { 20, 80 }); } + private void updateButtons() { + setPageComplete(templateTable.getSelectedTemplate() != null); + getContainer().updateButtons(); + } + @Override public IWizardPage getNextPage() { Template template = templateTable.getSelectedTemplate(); diff --git a/bundles/org.eclipse.tools.templates.ui/src/org/eclipse/tools/templates/ui/internal/TemplateTable.java b/bundles/org.eclipse.tools.templates.ui/src/org/eclipse/tools/templates/ui/internal/TemplateTable.java index 01013d53c0f..36ca41917ad 100644 --- a/bundles/org.eclipse.tools.templates.ui/src/org/eclipse/tools/templates/ui/internal/TemplateTable.java +++ b/bundles/org.eclipse.tools.templates.ui/src/org/eclipse/tools/templates/ui/internal/TemplateTable.java @@ -76,6 +76,21 @@ public class TemplateTable implements Listener { } } + public void selectTemplate(Template template) { + if (template == null) { + return; + } + + int i = 0; + for (TableItem item : table.getItems()) { + if (template.equals(item.getData())) { + table.select(i); + break; + } + i++; + } + } + @Override public void handleEvent(Event event) { switch (event.type) {