eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/actions/ui/OpenNameRelationsListWizardAction.java -text
eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/actions/ui/OpenNewTaxonEditorAction.java -text
eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/actions/ui/OpenTaxonEditorAction.java -text
-eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/controller/DescriptionController.java -text
eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/controller/EditorController.java -text
eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/controller/GlobalController.java -text
eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/controller/PreferencesController.java -text
eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/controller/PropertySheetController.java -text
-eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/controller/ReferenceController.java -text
eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/controller/SearchController.java -text
eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/controller/TreeController.java -text
eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/datasource/CdmDataSourceDialog.java -text
eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/editor/UndoView.java -text
eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/editor/ViewerConfiguration.java -text
eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/editor/WarningAnnotation.java -text
+eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/editor/description/CommonNameComposite.java -text
eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/editor/description/DescriptionElementComposite.java -text
eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/editor/description/DescriptionFeatureGroupComposite.java -text
eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/editor/description/DescriptionGroupComposite.java -text
eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/editor/description/DescriptionLabelComposite.java -text
eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/editor/description/IDescriptionEditorCompositeRepository.java -text
+eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/editor/description/LanguageDialog.java -text
eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/editor/description/TaxonDescriptionEditor.java -text
eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/editor/images/ImageComposite.java -text
eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/editor/images/ImagesController.java -text
eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/io/InputWizard2.java -text
eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/model/CdmSessionDataRepository.java -text
eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/model/CdmUtil.java -text
+eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/model/DescriptionUtil.java -text
eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/model/ICdmSessionDataRepository.java -text
eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/model/ICdmTaxonSetListener.java -text
+eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/model/LanguageUtil.java -text
eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/model/NameEditorInput.java -text
+eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/model/ReferenceUtil.java -text
eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/navigation/FavoritesTableViewer.java -text
eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/navigation/FavoritesView.java -text
eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/navigation/QuickNameTaxon.java -text
eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/propertysheet/SourceViewerConfig.java -text
eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/propertysheet/TimePeriodPropertySource.java -text
eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/propertysheet/YearValidator.java -text
+eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/propertysheet/description/CommonNamePropertySource.java -text
eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/propertysheet/description/DescriptionElementPropertySource.java -text
eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/propertysheet/description/TaxonDescriptionPropertySource.java -text
eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/propertysheet/images/ImagePropertySource.java -text
}\r
}\r
\r
- public static URL getUrlFromDialog() {\r
- UrlDialog dialog = new UrlDialog(GlobalController.getShell(), \r
- "Enter image URL", \r
- "Enter the new image's URL:");\r
- if (dialog.open() == Window.CANCEL) {\r
- return null;\r
- }\r
- return dialog.getUrl();\r
- }\r
+// public static URL getUrlFromDialog() {\r
+// UrlDialog dialog = new UrlDialog(GlobalController.getShell(), \r
+// "Enter image URL", \r
+// "Enter the new image's URL:");\r
+// if (dialog.open() == Window.CANCEL) {\r
+// return null;\r
+// }\r
+// return dialog.getUrl();\r
+// }\r
}
\ No newline at end of file
import org.eclipse.ui.forms.IManagedForm;\r
import org.eclipse.ui.forms.ManagedForm;\r
\r
+import eu.etaxonomy.cdm.model.description.CommonTaxonName;\r
import eu.etaxonomy.cdm.model.description.DescriptionElementBase;\r
import eu.etaxonomy.cdm.model.description.Feature;\r
import eu.etaxonomy.cdm.model.description.TaxonDescription;\r
import eu.etaxonomy.cdm.model.taxon.Taxon;\r
import eu.etaxonomy.cdm.model.taxon.TaxonRelationship;\r
import eu.etaxonomy.taxeditor.controller.EditorController;\r
+import eu.etaxonomy.taxeditor.editor.description.CommonNameComposite;\r
import eu.etaxonomy.taxeditor.editor.description.DescriptionElementComposite;\r
import eu.etaxonomy.taxeditor.editor.description.DescriptionFeatureGroupComposite;\r
import eu.etaxonomy.taxeditor.editor.description.DescriptionGroupComposite;\r
groupComposite = createDescriptionFeatureGroup(taxon, description, feature);\r
}\r
\r
- // Create an element composite in the feature group\r
- Composite elementComposite = \r
- new DescriptionElementComposite(groupComposite, form, element);\r
+ // Create an element composite in the feature group according to its type\r
+ Composite elementComposite = null;\r
+ if (element.isInstanceOf(CommonTaxonName.class)) {\r
+ elementComposite =\r
+ new CommonNameComposite(groupComposite, form, (CommonTaxonName) element);\r
+ } else {\r
+ elementComposite = \r
+ new DescriptionElementComposite(groupComposite, form, element);\r
+ }\r
\r
return elementComposite;\r
}\r
nonEditableHoverText = info;\r
\r
nonEditableInfoLabel = new Label(this, SWT.NONE);\r
- nonEditableInfoLabel.setLayoutData(new TableWrapData(TableWrapData.FILL_GRAB, TableWrapData.TOP));\r
+ TableWrapData layoutData = new TableWrapData(TableWrapData.FILL_GRAB, TableWrapData.TOP);\r
+ // Set indent to viewer ruler's width \r
+ if (textViewer != null && textViewer.getRulerControl() != null) {\r
+ // TODO right justify\r
+ layoutData.indent = NameViewer.RULER_WIDTH;\r
+ }\r
+ nonEditableInfoLabel.setLayoutData(layoutData);\r
+ \r
+\r
\r
nonEditableLabelEllipsisListener = new LabelEllipsisListener(nonEditableInfoLabel) {\r
@Override\r
--- /dev/null
+// $Id$\r
+/**\r
+* Copyright (C) 2007 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.editor.description;\r
+\r
+import org.apache.log4j.Logger;\r
+import org.eclipse.swt.widgets.Composite;\r
+import org.eclipse.ui.forms.IManagedForm;\r
+import org.eclipse.ui.views.properties.IPropertySource;\r
+\r
+import eu.etaxonomy.cdm.model.common.Language;\r
+import eu.etaxonomy.cdm.model.description.CommonTaxonName;\r
+import eu.etaxonomy.taxeditor.model.LanguageUtil;\r
+import eu.etaxonomy.taxeditor.propertysheet.description.CommonNamePropertySource;\r
+\r
+/**\r
+ * @author p.ciardelli\r
+ * @created 02.04.2009\r
+ * @version 1.0\r
+ */\r
+public class CommonNameComposite extends DescriptionElementComposite {\r
+ private static final Logger logger = Logger\r
+ .getLogger(CommonNameComposite.class);\r
+ \r
+ /**\r
+ * @param groupComposite\r
+ * @param form\r
+ * @param element\r
+ */\r
+ public CommonNameComposite(Composite parent, IManagedForm form,\r
+ CommonTaxonName element) {\r
+ super(parent, form, element);\r
+ \r
+ setLanguageInfo();\r
+ }\r
+ \r
+ /**\r
+ * \r
+ */\r
+ private void setLanguageInfo() {\r
+ \r
+ Language language = ((CommonTaxonName) element).getLanguage();\r
+ if (language != null) {\r
+ setNonEditableInfo(LanguageUtil.getDescription(language));\r
+ } else {\r
+ setNonEditableInfo("No language");\r
+ } \r
+ }\r
+\r
+ public IPropertySource getPropertySource() {\r
+ return new CommonNamePropertySource((CommonTaxonName) getElement());\r
+ }\r
+}
\ No newline at end of file
import org.eclipse.ui.forms.IManagedForm;\r
import org.eclipse.ui.views.properties.IPropertySource;\r
\r
-import eu.etaxonomy.cdm.model.common.Language;\r
import eu.etaxonomy.cdm.model.description.DescriptionElementBase;\r
-import eu.etaxonomy.cdm.model.description.TextData;\r
import eu.etaxonomy.taxeditor.ITaxEditorConstants;\r
import eu.etaxonomy.taxeditor.TaxEditorPlugin;\r
-import eu.etaxonomy.taxeditor.controller.DescriptionController;\r
import eu.etaxonomy.taxeditor.controller.EditorController;\r
import eu.etaxonomy.taxeditor.controller.GlobalController;\r
import eu.etaxonomy.taxeditor.editor.ContextMenu;\r
import eu.etaxonomy.taxeditor.editor.GroupedComposite;\r
+import eu.etaxonomy.taxeditor.model.DescriptionUtil;\r
import eu.etaxonomy.taxeditor.operations.description.RemoveElementOperation;\r
import eu.etaxonomy.taxeditor.propertysheet.description.DescriptionElementPropertySource;\r
\r
public static final Image BLACK_SQUARE_ICON = TaxEditorPlugin.getDefault()\r
.getImage(ITaxEditorConstants.BLACK_SQUARE_ICON);\r
\r
- private DescriptionElementBase element;\r
+ protected DescriptionElementBase element;\r
\r
private IUndoContext undoContext;\r
\r
setIsDraggable(false);\r
setIcon(BLACK_SQUARE_ICON);\r
setFont(getViewerFont());\r
+// setIndent(indent)\r
\r
createMenu();\r
\r
private void initTextViewer() {\r
\r
String text = null;\r
-// if (element instanceof TextData) {\r
-// text = ((TextData) element).getText(Language.DEFAULT());\r
-// }\r
-// if (text == null) {\r
-// text = "";\r
-// }\r
- text = DescriptionController.getCache(element);\r
+\r
+ text = DescriptionUtil.getCache(element);\r
\r
if (text.length() == 0) {\r
initEmptyText();\r
\r
protected void parse(String text) {\r
\r
-// if (getElement() instanceof TextData) {\r
-// ((TextData) getElement()).putText(text, Language.DEFAULT());\r
-// \r
-// }\r
- DescriptionController.setCache(getElement(), text);\r
+ DescriptionUtil.setCache(getElement(), text);\r
\r
// Manually refresh the property sheet to reflect changes\r
setSelection();\r
--- /dev/null
+// $Id$\r
+/**\r
+* Copyright (C) 2007 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.editor.description;\r
+\r
+import java.util.ArrayList;\r
+import java.util.List;\r
+\r
+import org.apache.log4j.Logger;\r
+import org.eclipse.jface.dialogs.Dialog;\r
+import org.eclipse.jface.dialogs.IDialogConstants;\r
+import org.eclipse.jface.dialogs.InputDialog;\r
+import org.eclipse.jface.window.Window;\r
+import org.eclipse.swt.SWT;\r
+import org.eclipse.swt.custom.CCombo;\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.Control;\r
+import org.eclipse.swt.widgets.Label;\r
+import org.eclipse.swt.widgets.Shell;\r
+\r
+import eu.etaxonomy.cdm.model.common.Language;\r
+import eu.etaxonomy.taxeditor.controller.GlobalController;\r
+import eu.etaxonomy.taxeditor.model.CdmSessionDataRepository;\r
+import eu.etaxonomy.taxeditor.model.LanguageUtil;\r
+\r
+/**\r
+ * @author p.ciardelli\r
+ * @created 02.04.2009\r
+ * @version 1.0\r
+ */\r
+public class LanguageDialog extends InputDialog {\r
+ private static final Logger logger = Logger.getLogger(LanguageDialog.class);\r
+ \r
+ private String message;\r
+ \r
+ private Language language;\r
+ private static Language lastLanguage;\r
+ protected Language languageTemp;\r
+\r
+ private CCombo combo;\r
+\r
+ private List<Language> languages;\r
+\r
+\r
+ /**\r
+ * @param shell\r
+ * @param dialogTitle\r
+ * @param dialogMessage\r
+ */\r
+ public LanguageDialog(Shell shell, String dialogTitle, String dialogMessage) {\r
+ super(shell, dialogTitle, \r
+ dialogMessage, null, null);\r
+ \r
+ message = dialogMessage;\r
+ \r
+ // Set selection menu to language chosen last time Dialog was opened \r
+ if (lastLanguage != null) {\r
+ language = lastLanguage;\r
+ }\r
+ }\r
+ \r
+ /**\r
+ * Lifted from Dialog.\r
+ * \r
+ * @param parent\r
+ * @return\r
+ * @see Dialog\r
+ */\r
+ protected Control createDialogComposite(Composite parent) {\r
+ // create a composite with standard margins and spacing\r
+ Composite composite = new Composite(parent, SWT.NONE);\r
+ GridLayout layout = new GridLayout();\r
+ layout.marginHeight = convertVerticalDLUsToPixels(IDialogConstants.VERTICAL_MARGIN);\r
+ layout.marginWidth = convertHorizontalDLUsToPixels(IDialogConstants.HORIZONTAL_MARGIN);\r
+ layout.verticalSpacing = convertVerticalDLUsToPixels(IDialogConstants.VERTICAL_SPACING);\r
+ layout.horizontalSpacing = convertHorizontalDLUsToPixels(IDialogConstants.HORIZONTAL_SPACING);\r
+ composite.setLayout(layout);\r
+ composite.setLayoutData(new GridData(GridData.FILL_BOTH));\r
+ applyDialogFont(composite);\r
+ return composite;\r
+ }\r
+ \r
+ /*\r
+ * (non-Javadoc) Method declared on Dialog.\r
+ */\r
+ protected Control createDialogArea(Composite parent) {\r
+ // create composite\r
+ Composite composite = (Composite) createDialogComposite(parent);\r
+ // create message\r
+ if (message != null) {\r
+ Label label = new Label(composite, SWT.WRAP);\r
+ label.setText(message);\r
+ GridData data = new GridData(GridData.GRAB_HORIZONTAL\r
+ | GridData.GRAB_VERTICAL | GridData.HORIZONTAL_ALIGN_FILL\r
+ | GridData.VERTICAL_ALIGN_CENTER);\r
+ data.widthHint = convertHorizontalDLUsToPixels(IDialogConstants.MINIMUM_MESSAGE_AREA_WIDTH);\r
+ label.setLayoutData(data);\r
+ label.setFont(parent.getFont());\r
+ }\r
+ // create combo\r
+ combo = new CCombo(composite, SWT.BORDER);\r
+ combo.setLayoutData(new GridData(GridData.GRAB_HORIZONTAL\r
+ | GridData.HORIZONTAL_ALIGN_FILL));\r
+ combo.addSelectionListener(new SelectionAdapter() {\r
+ @Override\r
+ public void widgetSelected(SelectionEvent e) {\r
+ int i = combo.getSelectionIndex();\r
+ languageTemp = languages.get(i);\r
+ }\r
+ });\r
+ \r
+ populateLanguages();\r
+\r
+ applyDialogFont(composite);\r
+ return composite;\r
+ }\r
+\r
+ /**\r
+ * \r
+ */\r
+ private void populateLanguages() {\r
+ languages = new ArrayList<Language>();\r
+ int i = 0; \r
+ int index = 0;\r
+ for (Language language : CdmSessionDataRepository.getDefault().getLanguages()) {\r
+ \r
+ combo.add(LanguageUtil.getDescription(language));\r
+ languages.add(language);\r
+ \r
+ if (this.language != null && this.language.equals(language)) {\r
+ index = i; \r
+ }\r
+ i++;\r
+ }\r
+ \r
+ combo.select(index);\r
+ }\r
+\r
+ /**\r
+ * @return\r
+ */\r
+ private Language getLanguage() {\r
+ return language;\r
+ }\r
+ \r
+ /**\r
+ * @param dialogTitle \r
+ * @param dialogMessage \r
+ * @return\r
+ */\r
+ public static Language getLanguage(String dialogTitle,\r
+ String dialogMessage) {\r
+ LanguageDialog dialog = new LanguageDialog(GlobalController.getShell(), \r
+ dialogTitle, \r
+ dialogMessage);\r
+ if (dialog.open() == Window.CANCEL) {\r
+ return null;\r
+ }\r
+ return dialog.getLanguage();\r
+ }\r
+ \r
+ protected void createButtonsForButtonBar(Composite parent) {\r
+ createButton(parent, IDialogConstants.OK_ID,\r
+ IDialogConstants.OK_LABEL, true);\r
+ createButton(parent, IDialogConstants.CANCEL_ID,\r
+ IDialogConstants.CANCEL_LABEL, false);\r
+ }\r
+ \r
+ protected void buttonPressed(int buttonId) {\r
+ if (IDialogConstants.OK_ID == buttonId) {\r
+ language = getLanguageSelection();\r
+ lastLanguage = language;\r
+ okPressed();\r
+ } else if (IDialogConstants.CANCEL_ID == buttonId) {\r
+ language = null; \r
+ cancelPressed();\r
+ }\r
+ }\r
+ \r
+ private Language getLanguageSelection() {\r
+ int i = combo.getSelectionIndex();\r
+ return languages.get(i);\r
+ }\r
+}\r
import org.apache.log4j.Logger;\r
import org.eclipse.jface.dialogs.IInputValidator;\r
import org.eclipse.jface.dialogs.InputDialog;\r
+import org.eclipse.jface.window.Window;\r
import org.eclipse.swt.widgets.Shell;\r
\r
+import eu.etaxonomy.taxeditor.controller.GlobalController;\r
+\r
/**\r
* @author p.ciardelli\r
* @created 31.03.2009\r
* @param initialValue\r
* @param validator\r
*/\r
- public UrlDialog(Shell parentShell, String dialogTitle,\r
+ private UrlDialog(Shell parentShell, String dialogTitle,\r
String dialogMessage) {\r
- super(parentShell, "Enter image URL", \r
- "Enter the new image's URL:", "http://", new IInputValidator() {\r
+ super(parentShell, dialogTitle, \r
+ dialogMessage, "http://", new IInputValidator() {\r
\r
@Override\r
public String isValid(String text) {\r
if (text.length() <= "http://".length()) {\r
return "";\r
}\r
- \r
return null;\r
}\r
\r
});\r
}\r
\r
- public URL getUrl() {\r
+ private URL getUrl() {\r
URL url = null;\r
try {\r
url = new URL(getValue());\r
}\r
return url;\r
}\r
+ \r
+ public static URL getUrl(String dialogTitle,\r
+ String dialogMessage) {\r
+ UrlDialog dialog = new UrlDialog(GlobalController.getShell(), \r
+ dialogTitle, \r
+ dialogMessage);\r
+ if (dialog.open() == Window.CANCEL) {\r
+ return null;\r
+ }\r
+ return dialog.getUrl();\r
+ }\r
}\r
private static final Logger logger = Logger\r
.getLogger(NameViewer.class);\r
\r
+ public static final int RULER_WIDTH = 16;\r
+ \r
private IVerticalRuler ruler;\r
private AnnotationModel annotationModel;\r
\r
public NameViewer(Composite parent) {\r
- super(parent, new RulerWithIcon(16), SWT.WRAP | SWT.MULTI | SWT.RESIZE);\r
+ super(parent, new RulerWithIcon(RULER_WIDTH), SWT.WRAP | SWT.MULTI | SWT.RESIZE);\r
\r
this.ruler = getVerticalRuler();\r
\r
import eu.etaxonomy.cdm.model.reference.ReferenceBase;\r
import eu.etaxonomy.cdm.model.taxon.Taxon;\r
import eu.etaxonomy.cdm.model.taxon.TaxonRelationshipType;\r
-import eu.etaxonomy.taxeditor.controller.GlobalController;\r
import eu.etaxonomy.taxeditor.controller.TreeController;\r
import eu.etaxonomy.taxeditor.datasource.CdmTransactionController;\r
import eu.etaxonomy.taxeditor.editor.name.CdmParserController;\r
\r
private TermVocabulary<TypeDesignationStatus> typeStatus;\r
\r
+ private ArrayList<Language> languages;\r
+\r
public static ICdmSessionDataRepository getDefault() {\r
\r
if (repository == null) {\r
taxonRelationshipTypes = null;\r
nameRelationshipTypes = null;\r
conceptRelationshipTypes = null;\r
+ languages = null;\r
\r
// Parser is also transaction-, and therefore session-, dependent\r
CdmParserController.clearNonViralNameParser();\r
public TermVocabulary<TypeDesignationStatus> getTypeDesignationStatus() {\r
if (typeStatus == null) {\r
typeStatus = getApplicationController().getNameService().getTypeDesignationVocabulary();\r
-// getTypeDesignationStatusVocabulary();\r
}\r
return typeStatus;\r
}\r
+\r
+ /* (non-Javadoc)\r
+ * @see eu.etaxonomy.taxeditor.model.ICdmSessionDataRepository#getLanguages()\r
+ */\r
+ @Override\r
+ public List<Language> getLanguages() {\r
+ if (languages == null) {\r
+ \r
+// UUID uuid = UUID.fromString("45ac7043-7f5e-4f37-92f2-3874aaaef2de");\r
+// TermVocabulary langs = getApplicationController().getTermService().getVocabulary(uuid);\r
+\r
+ languages = new ArrayList<Language>();\r
+// for (Object language : langs) {\r
+// if (language instanceof Language) {\r
+// languages.add((Language) language);\r
+// }\r
+// }\r
+ languages.add(Language.ENGLISH());\r
+ languages.add(Language.GERMAN());\r
+ }\r
+ return languages;\r
+ }\r
}\r
* See LICENSE.TXT at the top of this package for the full license terms.\r
*/\r
\r
-package eu.etaxonomy.taxeditor.controller;\r
+package eu.etaxonomy.taxeditor.model;\r
\r
import org.apache.log4j.Logger;\r
\r
import eu.etaxonomy.cdm.model.common.Language;\r
+import eu.etaxonomy.cdm.model.description.CommonTaxonName;\r
import eu.etaxonomy.cdm.model.description.DescriptionElementBase;\r
import eu.etaxonomy.cdm.model.description.TextData;\r
\r
* @created 02.04.2009\r
* @version 1.0\r
*/\r
-public class DescriptionController {\r
+public class DescriptionUtil {\r
private static final Logger logger = Logger\r
- .getLogger(DescriptionController.class);\r
+ .getLogger(DescriptionUtil.class);\r
\r
/**\r
* Returns whatever the element's title cache equivalent is,\r
if (element instanceof TextData) {\r
cache = ((TextData) element).getText(language);\r
}\r
+ if (element instanceof CommonTaxonName) {\r
+ cache = ((CommonTaxonName) element).getName();\r
+ }\r
return cache == null ? "" : cache;\r
}\r
\r
String value, Language language) {\r
if (element instanceof TextData) {\r
((TextData) element).putText(value, language);\r
+ return;\r
+ }\r
+ if (element instanceof CommonTaxonName) {\r
+ ((CommonTaxonName) element).setName(value);\r
+ return;\r
}\r
+ logger.warn("No matching subclass found for DescriptionElementBase object, 'cache' not set.");\r
}\r
\r
/**\r
import org.eclipse.core.databinding.observable.set.IObservableSet;\r
\r
import eu.etaxonomy.cdm.api.application.CdmApplicationController;\r
+import eu.etaxonomy.cdm.model.common.Language;\r
import eu.etaxonomy.cdm.model.common.OrderedTermVocabulary;\r
import eu.etaxonomy.cdm.model.common.TermVocabulary;\r
import eu.etaxonomy.cdm.model.description.Feature;\r
public Set<TaxonRelationshipType> getConceptRelationshipTypes();\r
\r
public TermVocabulary<TypeDesignationStatus> getTypeDesignationStatus();\r
+\r
+ /**\r
+ * \r
+ */\r
+ public List<Language> getLanguages();\r
}\r
--- /dev/null
+// $Id$\r
+/**\r
+* Copyright (C) 2007 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.model;\r
+\r
+import org.apache.log4j.Logger;\r
+\r
+import eu.etaxonomy.cdm.model.common.Language;\r
+\r
+/**\r
+ * @author p.ciardelli\r
+ * @created 03.04.2009\r
+ * @version 1.0\r
+ */\r
+public class LanguageUtil {\r
+ private static final Logger logger = Logger.getLogger(LanguageUtil.class);\r
+\r
+ /**\r
+ * @param language\r
+ * @return\r
+ */\r
+ public static String getDescription(Language language) {\r
+ return language.getDescription();\r
+ }\r
+ \r
+ \r
+}\r
* See LICENSE.TXT at the top of this package for the full license terms.\r
*/\r
\r
-package eu.etaxonomy.taxeditor.controller;\r
+package eu.etaxonomy.taxeditor.model;\r
\r
import org.apache.log4j.Logger;\r
\r
* @created 02.04.2009\r
* @version 1.0\r
*/\r
-public class ReferenceController {\r
+public class ReferenceUtil {\r
private static final Logger logger = Logger\r
- .getLogger(ReferenceController.class);\r
+ .getLogger(ReferenceUtil.class);\r
\r
/**\r
* Returns the entity's citation. If none exists, gives the\r
import org.eclipse.core.runtime.IAdaptable;\r
import org.eclipse.core.runtime.IProgressMonitor;\r
import org.eclipse.core.runtime.IStatus;\r
+import org.eclipse.core.runtime.Status;\r
\r
+import eu.etaxonomy.cdm.model.common.Language;\r
+import eu.etaxonomy.cdm.model.description.CommonTaxonName;\r
+import eu.etaxonomy.cdm.model.description.DescriptionElementBase;\r
import eu.etaxonomy.cdm.model.description.Feature;\r
import eu.etaxonomy.cdm.model.description.TaxonDescription;\r
import eu.etaxonomy.cdm.model.description.TextData;\r
import eu.etaxonomy.cdm.model.taxon.Taxon;\r
+import eu.etaxonomy.taxeditor.editor.description.LanguageDialog;\r
import eu.etaxonomy.taxeditor.operations.AbstractEditorOperation;\r
\r
/**\r
\r
private TaxonDescription description;\r
private Feature feature;\r
- private TextData element;\r
+ private DescriptionElementBase element;\r
\r
public AddElementOperation(String label, IUndoContext undoContext,\r
Taxon taxon, TaxonDescription description, Feature feature) {\r
public IStatus execute(IProgressMonitor monitor, IAdaptable info)\r
throws ExecutionException {\r
\r
- element = TextData.NewInstance(feature);\r
+ if (feature.isSupportsCommonTaxonName()) {\r
+ \r
+ // Get language for the common name\r
+ Language language = LanguageDialog.getLanguage\r
+ ("Select language", "Select the common name's language:");\r
+ if (language == null) {\r
+ return Status.CANCEL_STATUS;\r
+ }\r
+ \r
+ element = CommonTaxonName.NewInstance("", language);\r
+ } else {\r
+ element = TextData.NewInstance(feature);\r
+ }\r
description.addElement(element);\r
\r
// Redraw editor if exists\r
@Override\r
public IStatus execute(IProgressMonitor monitor, IAdaptable info)\r
throws ExecutionException {\r
- \r
-// UrlDialog dialog = new UrlDialog(GlobalController.getShell(), \r
-// "Enter image URL", \r
-// "Enter the new image's URL:");\r
-// if (dialog.open() == Window.CANCEL) {\r
-// return Status.CANCEL_STATUS;\r
-// }\r
-// url = dialog.getUrl();\r
- \r
- url = GlobalController.getUrlFromDialog();\r
+ \r
+ url = UrlDialog.getUrl("Enter image URL", "Enter the new image's URL:");\r
if (url == null) {\r
return Status.CANCEL_STATUS;\r
}\r
--- /dev/null
+// $Id$\r
+/**\r
+* Copyright (C) 2007 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.description;\r
+\r
+import java.util.ArrayList;\r
+import java.util.List;\r
+\r
+import org.apache.log4j.Logger;\r
+import org.eclipse.ui.views.properties.ComboBoxPropertyDescriptor;\r
+\r
+import eu.etaxonomy.cdm.model.common.Language;\r
+import eu.etaxonomy.cdm.model.description.CommonTaxonName;\r
+import eu.etaxonomy.taxeditor.model.CdmSessionDataRepository;\r
+import eu.etaxonomy.taxeditor.model.LanguageUtil;\r
+\r
+/**\r
+ * @author p.ciardelli\r
+ * @created 02.04.2009\r
+ * @version 1.0\r
+ */\r
+public class CommonNamePropertySource extends DescriptionElementPropertySource {\r
+ private static final Logger logger = Logger\r
+ .getLogger(CommonNamePropertySource.class);\r
+\r
+ public static final String P_ID_LANGUAGE = "language";\r
+ public static final String P_LANGUAGE = "011:Language";\r
+\r
+ private CommonTaxonName commonName;\r
+\r
+ private List<Language> languages;\r
+ private String[] languageStrings;\r
+ private int selectedLanguageIndex;\r
+ \r
+ /**\r
+ * @param element\r
+ */\r
+ public CommonNamePropertySource(CommonTaxonName commonName) {\r
+ super(commonName);\r
+ \r
+ this.commonName = commonName;\r
+ addDescriptor(P_ID_LANGUAGE);\r
+ }\r
+ \r
+ protected void addDescriptor(String id) {\r
+ super.addDescriptor(id);\r
+ \r
+ if (id.equals(P_ID_LANGUAGE)) {\r
+ descriptors.addElement(\r
+ new ComboBoxPropertyDescriptor(P_ID_LANGUAGE, P_LANGUAGE, \r
+ getLanguageStringArray()));\r
+ }\r
+ }\r
+ \r
+ /**\r
+ * @return\r
+ */\r
+ private String[] getLanguageStringArray() {\r
+ if (languages == null) {\r
+ languages = CdmSessionDataRepository.getDefault().getLanguages();\r
+ \r
+ int i = 0;\r
+ languageStrings = new String[languages.size()];\r
+ for (Language language : languages) {\r
+ languageStrings[i] = LanguageUtil.getDescription(language);\r
+ if (language.equals(commonName.getLanguage())) {\r
+ selectedLanguageIndex = i;\r
+ } \r
+ i++;\r
+ }\r
+ }\r
+ return languageStrings;\r
+ }\r
+\r
+ public Object getPropertyValue(Object id) {\r
+ \r
+ if (id.equals(P_ID_LANGUAGE)) {\r
+ return selectedLanguageIndex;\r
+ }\r
+ \r
+ return super.getPropertyValue(id);\r
+ }\r
+ \r
+ public void setPropertyValue(Object id, Object value) {\r
+ if (id.equals(P_ID_LANGUAGE)) {\r
+ selectedLanguageIndex = ((Integer) value).intValue();\r
+ commonName.setLanguage(languages.get(selectedLanguageIndex));\r
+ }\r
+ }\r
+}
\ No newline at end of file
import org.eclipse.ui.views.properties.TextPropertyDescriptor;\r
\r
import eu.etaxonomy.cdm.common.CdmUtils;\r
+import eu.etaxonomy.cdm.model.common.Language;\r
import eu.etaxonomy.cdm.model.description.CommonTaxonName;\r
import eu.etaxonomy.cdm.model.description.DescriptionElementBase;\r
import eu.etaxonomy.cdm.model.description.Distribution;\r
import eu.etaxonomy.cdm.model.description.TextData;\r
import eu.etaxonomy.cdm.model.reference.ReferenceBase;\r
import eu.etaxonomy.taxeditor.ITaxEditorConstants;\r
-import eu.etaxonomy.taxeditor.controller.DescriptionController;\r
-import eu.etaxonomy.taxeditor.controller.ReferenceController;\r
+import eu.etaxonomy.taxeditor.model.DescriptionUtil;\r
+import eu.etaxonomy.taxeditor.model.ReferenceUtil;\r
import eu.etaxonomy.taxeditor.propertysheet.reference.IReferenceSearch;\r
import eu.etaxonomy.taxeditor.propertysheet.reference.ReferencePropertySource;\r
import eu.etaxonomy.taxeditor.propertysheet.reference.ReferenceSearchDescriptor;\r
public static final String P_ID_FEATURE = "feature";\r
public static final String P_ID_BIBREF = "bibref";\r
public static final String P_ID_MICROREF = "microref";\r
-\r
+ \r
/**\r
* Property display keys\r
* Note: for an explanation of the sorting prefixes ("04:"),\r
descriptors.addElement(new PropertyDescriptor(P_ID_FEATURE, P_FEATURE));\r
}\r
\r
- if (id.equals(P_ID_BIBREF)) {\r
-// descriptors.addElement(new ReferenceSearchDescriptor(P_ID_BIBREF, P_BIBREF, IReferenceSearch.BIBREF) {\r
-// protected void saveReference(ReferenceBase reference) {\r
-// setPropertyValue(P_ID_BIBREF, reference);\r
-// }\r
-// }); \r
+ if (id.equals(P_ID_BIBREF)) { \r
descriptors.addElement(new PropertyDescriptor(P_ID_BIBREF, P_BIBREF));\r
}\r
+ \r
if (id.equals(P_ID_ELEMENT_TEXT)) {\r
descriptors.addElement(new TextPropertyDescriptor(P_ID_ELEMENT_TEXT, P_ELEMENT_TEXT));\r
}\r
}\r
\r
if (id.equals(P_ID_ELEMENT_TEXT)) {\r
- return DescriptionController.getCache(descriptionElement); \r
+ return DescriptionUtil.getCache(descriptionElement); \r
}\r
\r
if (id.equals(P_ID_MICROREF)) {\r
}\r
\r
ReferenceBase bibRef = \r
- ReferenceController.getOrCreateCitation(descriptionElement);\r
+ ReferenceUtil.getOrCreateCitation(descriptionElement);\r
\r
// "value" is the ReferencePropertySource, so we get the TitleCache from its\r
// toString() method\r
}\r
\r
if (id.equals(P_ID_ELEMENT_TEXT)) {\r
- DescriptionController.setCache(descriptionElement, (String) value);\r
+ DescriptionUtil.setCache(descriptionElement, (String) value);\r
}\r
\r
if (id.equals(P_ID_MICROREF)) {\r