eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/navigation/TaxonomicTreeLabelProvider.java -text
eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/navigation/TaxonomicTreeView.java -text
eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/navigation/TaxonomicTreeViewer.java -text
+eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/preference/DescriptionPreferences.java -text
eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/preference/InitializeDbPreferences.java -text
eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/preference/NomenclaturalCodePreferences.java -text
eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/preference/TaxonomicPreferences.java -text
************************************************************************************** */\r
public static final String GROUP_GRAY_BKG_COLOR = "group_gray_background_color";\r
\r
+ /* ***************************************************************************************\r
+ PREFERENCES\r
+ ************************************************************************************** */\r
+ public static final String FEATURE_PREFERENCE = "feature_preference";\r
+ \r
}\r
import eu.etaxonomy.cdm.model.common.OrderedTermVocabulary;\r
import eu.etaxonomy.cdm.model.common.TermVocabulary;\r
import eu.etaxonomy.cdm.model.common.init.TermNotFoundException;\r
+import eu.etaxonomy.cdm.model.description.Feature;\r
import eu.etaxonomy.cdm.model.name.BotanicalName;\r
import eu.etaxonomy.cdm.model.name.NameRelationshipType;\r
import eu.etaxonomy.cdm.model.name.NomenclaturalStatus;\r
\r
/**\r
* The class controlling the plug-in life cycle.\r
+ * </p>\r
+ * <ul>\r
+ * <li>Initializes datastore as necessary.</li>\r
+ * <li>Initializes default preferences.</li>\r
+ * <li>Gateway to CDM service layer.</li>\r
+ * <li>Stores taxa for application session.</li>\r
+ * <li>Stores registries for colors, fonts, images.</li>\r
+ * </ul>\r
* \r
* @author p.ciardelli\r
* @created 15.05.2008\r
\r
// Is this the problem?\r
cdmApp = CdmApplicationController\r
- .NewInstance(ds, dbSchemaValidation);\r
+ .NewInstance(ds, dbSchemaValidation);\r
\r
\r
// cdmApp = CdmApplicationController\r
}\r
return taxonService;\r
}\r
-\r
+ \r
private INameService nameService;\r
\r
public INameService getNameService() {\r
/***************************************************************************\r
* PREFERENCES\r
**************************************************************************/\r
+ /* (non-Javadoc)\r
+ * @see org.eclipse.ui.plugin.AbstractUIPlugin#initializeDefaultPreferences(org.eclipse.jface.preference.IPreferenceStore)\r
+ */\r
protected void initializeDefaultPreferences(IPreferenceStore store) {\r
// Platform.getPreferencesService().getBoolean(qualifier, key,\r
// defaultValue, contexts)\r
store.setDefault(ITaxEditorConstants.CODE_PREFERENCE,\r
ITaxEditorConstants.DEFAULT_CODE_PREFERENCE);\r
+ \r
+ // Set preferences to display all features\r
+ TermVocabulary<Feature> features = descriptionService.getDefaultFeatureVocabulary();\r
+ for (Feature feature : features) {\r
+ String preferenceKey = ITaxEditorConstants.FEATURE_PREFERENCE \r
+ . concat(".")\r
+ . concat(feature.getUuid().toString());\r
+ store.setDefault(preferenceKey, true);\r
+ }\r
+ \r
}\r
\r
/***************************************************************************\r
import org.eclipse.swt.widgets.Control;\r
import org.eclipse.ui.forms.IManagedForm;\r
\r
+import eu.etaxonomy.cdm.model.common.Language;\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.description.TextFormat;\r
import eu.etaxonomy.taxeditor.UiUtil;\r
import eu.etaxonomy.taxeditor.editor.description.DescriptionElementComposite;\r
import eu.etaxonomy.taxeditor.editor.description.FeatureGroupComposite;\r
}\r
\r
// Create new element, set it as the data for a new element composite\r
- descriptionElement = new TextData(feature);\r
+ descriptionElement = TextData.NewInstance("", Language.DEFAULT(), TextFormat.NewInstance());\r
+ descriptionElement.setFeature(feature);\r
taxonDescription.addElement(descriptionElement);\r
descriptionElementComposite = new DescriptionElementComposite(\r
featureGroupComposite, managedForm, descriptionElement);\r
import eu.etaxonomy.cdm.model.common.LanguageString;\r
import eu.etaxonomy.cdm.model.common.MultilanguageText;\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.editor.ContextMenu;\r
\r
DescriptionElementBase element = (DescriptionElementBase) data;\r
\r
- MultilanguageText multilanguageText = element.getModifyingText();\r
- String text = "";\r
- if (multilanguageText == null) {\r
-// multilanguageText = MultilanguageText.NewInstance();\r
-// LanguageString languageString = LanguageString.NewInstance("", Language.DEFAULT()); \r
-// multilanguageText.add(languageString);\r
- // \r
- element.addModifyingText("", Language.DEFAULT());\r
- // TODO change DescriptionElementBase ...\r
- /*\r
- public MultilanguageText getModifyingText(){\r
- return this.modifyingText;\r
- }\r
- protected void setModifyingText(MultilanguageText modifyingText){\r
- this.modifyingText = modifyingText;\r
- }\r
- public LanguageString addModifyingText(LanguageString description){\r
- return this.modifyingText.add(description);\r
- }\r
- public LanguageString addModifyingText(String text, Language language){\r
- return this.modifyingText.put(language, LanguageString.NewInstance(text, language));\r
- }\r
- public LanguageString removeModifyingText(Language language){\r
- return this.modifyingText.remove(language);\r
- }\r
-\r
- ---------------------->\r
-\r
- public MultilanguageText getModifyingText(){\r
- if (this.modifyingText == null) {\r
- this.modifyingText = MultilanguageText.NewInstance();\r
- }\r
- return this.modifyingText;\r
- }\r
- protected void setModifyingText(MultilanguageText modifyingText){\r
- this.modifyingText = modifyingText;\r
- }\r
- public LanguageString addModifyingText(LanguageString description){\r
- return getModifyingText().add(description);\r
- }\r
- public LanguageString addModifyingText(String text, Language language){\r
- return getModifyingText().put(language, LanguageString.NewInstance(text, language));\r
- }\r
- public LanguageString removeModifyingText(Language language){\r
- return getModifyingText().remove(language);\r
- }\r
- */\r
- } else {\r
- multilanguageText.getText(Language.DEFAULT()); \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
\r
getTextViewer().getTextWidget().setText(text);\r
"DescriptionElementComposite's data field must contain a DescriptionElementBase object");\r
\r
DescriptionElementBase element = (DescriptionElementBase) getData();\r
- MultilanguageText multilanguageText = element.getModifyingText();\r
- if (multilanguageText == null) {\r
- element.addModifyingText(text, Language.DEFAULT());\r
- } else {\r
- multilanguageText.add(LanguageString.NewInstance(text, Language.DEFAULT()));\r
+ \r
+ if (element instanceof TextData) {\r
+ ((TextData) element).putText(text, Language.DEFAULT());\r
}\r
-// LanguageString languageString = LanguageString.NewInstance(text, Language.DEFAULT());\r
-// multilanguageText.add(languageString);\r
\r
setDirty(true);\r
}\r
import org.eclipse.core.runtime.Assert;\r
import org.eclipse.jface.action.Action;\r
import org.eclipse.jface.action.MenuManager;\r
+import org.eclipse.jface.preference.IPreferenceStore;\r
import org.eclipse.jface.text.Document;\r
import org.eclipse.jface.text.source.SourceViewer;\r
import org.eclipse.swt.SWT;\r
MenuManager menuManager = new MenuManager("Add description element");\r
\r
Composite parentComposite = this.getParent();\r
- \r
+ \r
+ IPreferenceStore store = TaxEditorPlugin.getDefault().getPreferenceStore();\r
+ \r
IDescriptionService descriptionService = TaxEditorPlugin.getDefault().getDescriptionService();\r
TermVocabulary<Feature> features = descriptionService.getDefaultFeatureVocabulary();\r
for (Feature feature : features) {\r
- Action action = new AddDescriptionElementCompositeAction(parentComposite, managedForm, feature);\r
- menuManager.add(action);\r
+ \r
+ String preferenceKey = ITaxEditorConstants.FEATURE_PREFERENCE \r
+ . concat(".")\r
+ . concat(feature.getUuid().toString());\r
+ \r
+ if (store.getBoolean(preferenceKey)) {\r
+ Action action = new AddDescriptionElementCompositeAction(parentComposite, managedForm, feature);\r
+ menuManager.add(action);\r
+ }\r
}\r
contextMenu.addSubmenu(menuManager);\r
}\r
import org.apache.log4j.Logger;\r
\r
import eu.etaxonomy.cdm.api.service.ITaxonService;\r
+import eu.etaxonomy.cdm.model.common.TermVocabulary;\r
+import eu.etaxonomy.cdm.model.description.Feature;\r
import eu.etaxonomy.cdm.model.name.BotanicalName;\r
import eu.etaxonomy.cdm.model.name.HomotypicalGroup;\r
import eu.etaxonomy.cdm.model.name.NameRelationship;\r
* @created 26.05.2008\r
* @version 1.0\r
*/\r
+/**\r
+ * @author p.ciardelli\r
+ * @created 17.09.2008\r
+ * @version 1.0\r
+ */\r
public class CdmUtil {\r
private static final Logger logger = Logger.getLogger(CdmUtil.class);\r
\r
return getDisplayName(name);\r
}\r
\r
+ /**\r
+ * @param name\r
+ * @return\r
+ */\r
public static String getDisplayName(TaxonNameBase name) {\r
if (name != null) {\r
return name.getTitleCache();\r
return "";\r
}\r
\r
+ /**\r
+ * @return\r
+ */\r
private static INonViralNameParser getNonViralNameParser() {\r
if (nonViralNameParser == null) {\r
nonViralNameParser = NonViralNameParserImpl.NewInstance();\r
getNonViralNameParser().parseFullReference(nameToBeFilled, fullReference, rank, makeEmpty);\r
}\r
\r
+ /**\r
+ * @param nameToBeFilled\r
+ * @param fullNameString\r
+ * @param rank\r
+ * @param makeEmpty\r
+ */\r
public static void parseFullName(NonViralName nameToBeFilled,\r
String fullNameString, Rank rank, boolean makeEmpty) {\r
getNonViralNameParser().parseFullName(nameToBeFilled, fullNameString,\r
rank, makeEmpty);\r
}\r
\r
+ /**\r
+ * @return\r
+ */\r
public static NomenclaturalCode getPreferredNomenclaturalCode() {\r
\r
String nameCodePreference = TaxEditorPlugin.getDefault().getPreferenceStore().getString(ITaxEditorConstants.CODE_PREFERENCE);\r
return null;\r
}\r
\r
+ /**\r
+ * @return\r
+ */\r
public static NonViralName getPreferredNameClassInstance() {\r
String nameCodePreference = TaxEditorPlugin.getDefault().getPreferenceStore().getString(ITaxEditorConstants.CODE_PREFERENCE);\r
\r
return NonViralName.NewInstance(null);\r
}\r
\r
+ /**\r
+ * @return\r
+ */\r
public static ReferenceBase getSessionDefaultSec() {\r
return null;\r
// return TaxEditorPlugin.getDefault().getSec();\r
}\r
\r
+ /**\r
+ * @param oldTaxon\r
+ * @param newAcceptedTaxon\r
+ * @param synonymType\r
+ * @param citation\r
+ * @param citationMicroReference\r
+ */\r
public static void makeTaxonSynonym(Taxon oldTaxon, Taxon newAcceptedTaxon,\r
SynonymRelationshipType synonymType, ReferenceBase citation,\r
String citationMicroReference) {\r
citation, citationMicroReference);\r
}\r
\r
+ /**\r
+ * @param searchText\r
+ * @return\r
+ */\r
public static Set<TaxonNameBase> getNameByName(String searchText) {\r
Set<TaxonNameBase> resultsSet = new HashSet<TaxonNameBase>();\r
resultsSet.addAll(TaxEditorPlugin.getDefault().getNameService()\r
return resultsSet;\r
}\r
\r
+ /**\r
+ * @param searchText\r
+ * @param taxon\r
+ * @return\r
+ */\r
public static Set<TaxonNameBase> getNameByNameForTaxonContext(String searchText, Taxon taxon) {\r
Set<TaxonNameBase> resultsSet = new HashSet<TaxonNameBase>();\r
// resultsSet.addAll(TaxEditorPlugin.getDefault().getNameService()\r
getNamesByName(searchText.replace("*", "%"), taxon));\r
return resultsSet;\r
}\r
+ \r
+// public static TermVocabulary<Feature> \r
}\r
--- /dev/null
+/**\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
+package eu.etaxonomy.taxeditor.preference;\r
+\r
+import org.apache.log4j.Logger;\r
+import org.eclipse.jface.preference.PreferencePage;\r
+import org.eclipse.swt.SWT;\r
+import org.eclipse.swt.events.SelectionAdapter;\r
+import org.eclipse.swt.events.SelectionEvent;\r
+import org.eclipse.swt.layout.GridLayout;\r
+import org.eclipse.swt.widgets.Button;\r
+import org.eclipse.swt.widgets.Composite;\r
+import org.eclipse.swt.widgets.Control;\r
+import org.eclipse.ui.IWorkbench;\r
+import org.eclipse.ui.IWorkbenchPreferencePage;\r
+\r
+import eu.etaxonomy.taxeditor.ITaxEditorConstants;\r
+import eu.etaxonomy.taxeditor.TaxEditorPlugin;\r
+\r
+/**\r
+ * @author p.ciardelli\r
+ * @created 16.09.2008\r
+ * @version 1.0\r
+ */\r
+public class DescriptionPreferences extends PreferencePage implements\r
+ IWorkbenchPreferencePage {\r
+ private static final Logger logger = Logger\r
+ .getLogger(DescriptionPreferences.class);\r
+\r
+ public static final String PLUGIN_ID = "eu.etaxonomy.taxeditor.preferences.description";\r
+\r
+ private Button icznButton;\r
+ private Button icbnButton; \r
+ \r
+ private String preferredCode;\r
+ \r
+ /**\r
+ * Create the preference page\r
+ */\r
+ public DescriptionPreferences() {\r
+ super();\r
+ }\r
+\r
+ /**\r
+ * Create contents of the preference page\r
+ * @param parent\r
+ */\r
+ @Override\r
+ public Control createContents(Composite parent) {\r
+ Composite container = new Composite(parent, SWT.NULL);\r
+ container.setLayout(new GridLayout());\r
+\r
+ icbnButton = new Button(container, SWT.RADIO);\r
+ icbnButton.setText("Botanical (ICBN)");\r
+ icbnButton.addSelectionListener(new SelectionAdapter() {\r
+ public void widgetSelected(SelectionEvent e) {\r
+ preferredCode = ITaxEditorConstants.CODE_PREFERENCE_ICBN;\r
+ }\r
+ });\r
+\r
+ icznButton = new Button(container, SWT.RADIO);\r
+ icznButton.setText("Zoological (ICZN)");\r
+ icznButton.addSelectionListener(new SelectionAdapter() {\r
+ public void widgetSelected(SelectionEvent e) {\r
+ preferredCode = ITaxEditorConstants.CODE_PREFERENCE_ICZN;\r
+ }\r
+ });\r
+ \r
+ setButton(getPreferenceStore().getString(ITaxEditorConstants.CODE_PREFERENCE)); \r
+ \r
+ return container;\r
+ }\r
+\r
+ /**\r
+ * Initialize the preference page\r
+ */\r
+ public void init(IWorkbench workbench) {\r
+ setPreferenceStore(TaxEditorPlugin.getDefault().getPreferenceStore());\r
+ }\r
+ \r
+ protected void performDefaults() {\r
+ setButton(ITaxEditorConstants.DEFAULT_CODE_PREFERENCE);\r
+ }\r
+ \r
+ public boolean performOk() {\r
+ TaxEditorPlugin.getDefault().getPreferenceStore().\r
+ setValue(ITaxEditorConstants.CODE_PREFERENCE, preferredCode);\r
+ return true;\r
+ }\r
+ \r
+ private void setButton(String preferredCode) {\r
+ this.preferredCode = preferredCode;\r
+ \r
+ if (preferredCode.equals(ITaxEditorConstants.CODE_PREFERENCE_ICBN)) { \r
+ icbnButton.setSelection(true);\r
+ icznButton.setSelection(false);\r
+ }\r
+ if (preferredCode.equals(ITaxEditorConstants.CODE_PREFERENCE_ICZN)) {\r
+ icbnButton.setSelection(false);\r
+ icznButton.setSelection(true);\r
+ }\r
+ }\r
+}\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
package eu.etaxonomy.taxeditor.preference;\r
\r
import org.apache.log4j.Logger;\r
-import org.eclipse.core.runtime.Platform;\r
import org.eclipse.jface.preference.PreferencePage;\r
import org.eclipse.swt.SWT;\r
import org.eclipse.swt.events.SelectionAdapter;\r
import eu.etaxonomy.taxeditor.ITaxEditorConstants;\r
import eu.etaxonomy.taxeditor.TaxEditorPlugin;\r
\r
+/**\r
+ * @author p.ciardelli\r
+ * @created 16.09.2008\r
+ * @version 1.0\r
+ */\r
public class NomenclaturalCodePreferences extends PreferencePage implements\r
IWorkbenchPreferencePage {\r
private static final Logger logger = Logger\r