+/**\r
+* Copyright (C) 2009 EDIT\r
+* European Distributed Institute of Taxonomy \r
+* http://www.e-taxonomy.eu\r
+* \r
+* The contents of this file are subject to the Mozilla Public License Version 1.1\r
+* See LICENSE.TXT at the top of this package for the full license terms.\r
+*/\r
+\r
+package eu.etaxonomy.taxeditor.propertysheet.type.wizard;\r
+\r
+import org.apache.log4j.Logger;\r
+import org.eclipse.jface.wizard.WizardPage;\r
+import org.eclipse.swt.SWT;\r
+import org.eclipse.swt.custom.CCombo;\r
+import org.eclipse.swt.events.KeyEvent;\r
+import org.eclipse.swt.events.KeyListener;\r
+import org.eclipse.swt.events.SelectionAdapter;\r
+import org.eclipse.swt.events.SelectionEvent;\r
+import org.eclipse.swt.layout.GridData;\r
+import org.eclipse.swt.layout.GridLayout;\r
+import org.eclipse.swt.widgets.Composite;\r
+import org.eclipse.swt.widgets.Label;\r
+import org.eclipse.swt.widgets.Text;\r
+\r
+import eu.etaxonomy.cdm.model.name.SpecimenTypeDesignation;\r
+import eu.etaxonomy.cdm.model.name.TaxonNameBase;\r
+import eu.etaxonomy.cdm.model.name.TypeDesignationStatus;\r
+import eu.etaxonomy.taxeditor.model.CdmSessionDataRepository;\r
+\r
+/**\r
+ * @author p.ciardelli\r
+ * @created 13.02.2009\r
+ * @version 1.0\r
+ */\r
+public class ChooseTypeDesignationWizardPage extends WizardPage {\r
+ private static Logger logger = Logger\r
+ .getLogger(ChooseTypeDesignationWizardPage.class);\r
+ \r
+ private SpecimenTypeDesignation typeDesignation;\r
+ private CCombo statusCombo;\r
+\r
+ private Text txtDesignationType;\r
+\r
+ /**\r
+ * @param typeDesignation\r
+ */\r
+ public ChooseTypeDesignationWizardPage(\r
+ SpecimenTypeDesignation typeDesignation, TaxonNameBase name) {\r
+ super("");\r
+ \r
+ this.typeDesignation = typeDesignation;\r
+ \r
+ setTitle("Create or edit type designation");\r
+ setDescription("Create or edit type designation for '" + name.getTitleCache() + "\".");\r
+ }\r
+\r
+ /* (non-Javadoc)\r
+ * @see org.eclipse.jface.dialogs.IDialogPage#createControl(org.eclipse.swt.widgets.Composite)\r
+ */\r
+ @Override\r
+ public void createControl(Composite parent) {\r
+ \r
+ // Create composite for popup dialog \r
+ Composite container = new Composite(parent, SWT.NULL);\r
+ final GridLayout gridLayout = new GridLayout();\r
+ container.setLayout(gridLayout);\r
+ setControl(container);\r
+\r
+ // Create text\r
+ final Label lblChooseStatus = new Label(container, SWT.NONE);\r
+ lblChooseStatus.setText("Choose designation type status:");\r
+\r
+ // Create designation type status dropdown \r
+ statusCombo = new CCombo(container, SWT.BORDER);\r
+ statusCombo.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false));\r
+ for (TypeDesignationStatus typeStatus : \r
+ CdmSessionDataRepository.getDefault().getTypeDesignationStatus()) {\r
+ \r
+ String label = typeStatus.getLabel();\r
+// String label = "placeholder";\r
+ statusCombo.add(label);\r
+ }\r
+\r
+ statusCombo.addSelectionListener(new SelectionAdapter() {\r
+ @Override\r
+ public void widgetSelected(SelectionEvent e) {\r
+// int typeIndex = typeCombo.getSelectionIndex();\r
+// relationModel.setType(relationTypes.get(typeIndex));\r
+ updatePage();\r
+ }\r
+ });\r
+\r
+ // Create text\r
+ final Label lblEnterText = new Label(container, SWT.NONE);\r
+ lblEnterText.setText("Enter designation type text:");\r
+ \r
+ txtDesignationType = new Text(container, SWT.BORDER);\r
+ txtDesignationType.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));\r
+ txtDesignationType.addKeyListener(new KeyListener() {\r
+\r
+ @Override\r
+ public void keyPressed(KeyEvent e) {}\r
+\r
+ @Override\r
+ public void keyReleased(KeyEvent e) {\r
+ updatePage();\r
+ } \r
+ });\r
+ }\r
+\r
+ @Override\r
+ public boolean canFlipToNextPage() {\r
+ return isPageComplete();\r
+ }\r
+\r
+ public boolean isPageComplete() {\r
+ return (statusCombo.getSelectionIndex() > -1 \r
+ && txtDesignationType.getText().length() > 0);\r
+ }\r
+ \r
+ private void updatePage() {\r
+ getWizard().getContainer().updateButtons();\r
+ }\r
+}\r