ref #6774 Implement isPageComplete()
authorPatrick Plitzner <p.plitzner@bgbm.org>
Fri, 24 May 2019 12:22:59 +0000 (14:22 +0200)
committerPatrick Plitzner <p.plitzner@bgbm.org>
Fri, 24 May 2019 12:22:59 +0000 (14:22 +0200)
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/io/e4/out/owl/OwlTermExportWizardPage.java

index f254e05b6e15d0649425404c16a5cc6b415022b8..b0b2fe2e12ea173b9c6b03abd74c70216604b538 100644 (file)
@@ -23,6 +23,7 @@ import org.eclipse.swt.widgets.FileDialog;
 
 import eu.etaxonomy.cdm.api.service.IFeatureTreeService;
 import eu.etaxonomy.cdm.api.service.IVocabularyService;
+import eu.etaxonomy.cdm.common.CdmUtils;
 import eu.etaxonomy.cdm.model.term.FeatureTree;
 import eu.etaxonomy.cdm.model.term.TermType;
 import eu.etaxonomy.cdm.persistence.dto.TermVocabularyDto;
@@ -55,9 +56,11 @@ public class OwlTermExportWizardPage extends WizardPage {
         termTypes.add(TermType.Character);
         List<TermVocabularyDto> areaVocabularies = CdmStore.getService(IVocabularyService.class).findVocabularyDtoByTermTypes(termTypes);
         composite.getSelectVocabularyComposite().getViewer().setInput(areaVocabularies);
+        composite.getSelectVocabularyComposite().getViewer().addCheckStateListener(e->updateButtons());
 
         List<FeatureTree> trees = CdmStore.getService(IFeatureTreeService.class).list(FeatureTree.class, null, null, null, null);
         composite.getSelectFeatureTreeComposite().getViewer().setInput(trees);
+        composite.getSelectFeatureTreeComposite().getViewer().addCheckStateListener(e->updateButtons());
 
 
         composite.getBtnSelectDirectory().addSelectionListener(new SelectionAdapter() {
@@ -77,12 +80,17 @@ public class OwlTermExportWizardPage extends WizardPage {
                 String fileString = dialog.open();
                 if(fileString!=null){
                     composite.getTxtExportDirectory().setText(fileString);
+                    updateButtons();
                 }
             }
         });
         setControl(composite);
     }
 
+    private void updateButtons(){
+        this.getWizard().getContainer().updateButtons();
+    }
+
     String getExportDirectory(){
         return composite.getExportDirectory();
     }
@@ -109,4 +117,11 @@ public class OwlTermExportWizardPage extends WizardPage {
         return vocs;
     }
 
+    @Override
+    public boolean isPageComplete() {
+        return !getSelectedVocabularies().isEmpty()
+                || !getSelectedTrees().isEmpty()
+                || CdmUtils.isNotBlank(getExportDirectory());
+    }
+
 }