From 4db49a38a14c8574ea913c3494a802a07b7adee1 Mon Sep 17 00:00:00 2001 From: Alexander Oppermann Date: Wed, 13 Aug 2014 12:07:41 +0000 Subject: [PATCH] reintegrated redlist branch into trunk --- .gitattributes | 45 +- .../META-INF/MANIFEST.MF | 2 +- .../OSGI-INF/l10n/plugin.properties | 43 ++ .../OSGI-INF/l10n/plugin_de.properties | 43 ++ .../OSGI-INF/l10n/plugin_en.properties | 43 ++ .../build.properties | 6 +- .../plugin.properties | 2 - eu.etaxonomy.taxeditor.application/plugin.xml | 80 +-- eu.etaxonomy.taxeditor.cdmlib/.classpath | 17 +- .../META-INF/MANIFEST.MF | 1 + ...eclipse.equinox.common-3.6.0.v20110523.jar | Bin 105624 -> 105624 bytes .../org.eclipse.osgi-3.7.2.v20120110-1415.jar | Bin 1364409 -> 1364409 bytes .../META-INF/MANIFEST.MF | 2 +- .../OSGI-INF/l10n/plugin.properties | 116 ++++ .../OSGI-INF/l10n/plugin_de.properties | 116 ++++ .../OSGI-INF/l10n/plugin_en.properties | 116 ++++ .../build.properties | 6 +- .../plugin.properties | 5 - eu.etaxonomy.taxeditor.editor/plugin.xml | 232 ++++--- .../taxeditor/editor/EditorUtil.java | 13 + .../handler/OpenChecklistEditorHandler.java | 64 ++ .../checklist/ChecklistContentProvider.java | 57 ++ .../view/checklist/ChecklistEditor.java | 645 ++++++++++++++++++ .../checklist/ChecklistEditorComparator.java | 68 ++ .../view/checklist/ChecklistEditorInput.java | 197 ++++++ .../checklist/ChecklistLabelProvider.java | 182 +++++ .../edit/DistributionEditingSupport.java | 155 +++++ .../checklist/edit/RankEditingSupport.java | 74 ++ .../filter/ChecklistEditorFilter.java | 51 ++ .../CreateDescriptionElementHandler.java | 103 +++ .../handler/CreateDescriptionHandler.java | 88 +++ .../handler/OpenDistributionHandler.java | 65 ++ .../ChecklistDropdownSelectionListener.java | 104 +++ .../listener/ChecklistFocusListener.java | 48 ++ .../listener/ChecklistModifyListener.java | 48 ++ .../view/descriptive/DescriptiveViewPart.java | 9 +- .../OSGI-INF/l10n/bundle.properties | 42 ++ .../OSGI-INF/l10n/bundle_de.properties | 42 ++ .../OSGI-INF/l10n/bundle_en.properties | 42 ++ .../OSGI-INF/l10n/messages.properties | 10 + .../OSGI-INF/l10n/messages_de.properties | 10 + .../OSGI-INF/l10n/messages_en.properties | 10 + .../build.properties | 4 +- eu.etaxonomy.taxeditor.navigation/plugin.xml | 160 +++-- .../taxeditor/navigation/search/Messages.java | 38 ++ .../navigation/search/SearchBar.java | 18 +- .../OSGI-INF/l10n/bundle.properties | 4 + .../OSGI-INF/l10n/bundle_de.properties | 4 + .../OSGI-INF/l10n/bundle_en.properties | 4 + .../build.properties | 5 +- .../plugin.xml | 4 +- .../META-INF/MANIFEST.MF | 1 + .../OSGI-INF/l10n/bundle.properties | 126 ++++ .../OSGI-INF/l10n/bundle_de.properties | 126 ++++ .../OSGI-INF/l10n/bundle_en.properties | 126 ++++ .../OSGI-INF/l10n/messages.properties | 12 + .../OSGI-INF/l10n/messages_de.properties | 12 + .../OSGI-INF/l10n/messages_en.properties | 12 + eu.etaxonomy.taxeditor.store/build.properties | 4 +- eu.etaxonomy.taxeditor.store/plugin.xml | 276 ++++---- .../editor/definedterm/TermLabelProvider.java | 161 ++--- .../OpenDistributionEditorWizardHandler.java | 39 ++ .../ChecklistEditorGeneralPreference.java | 95 +++ .../taxeditor/preference/IPreferenceKeys.java | 11 + .../preference/PreferencePropertyTester.java | 20 +- .../SpecimenOrObservationPreferences.java | 1 - .../TaxonomicEditorGeneralPreferences.java | 1 + .../preference/TemplatePreferencePage.java | 37 + .../wizard/AvailableDistributionPage.java | 248 +++++++ .../wizard/AvailableDistributionWizard.java | 130 ++++ .../taxeditor/ui/combo/EnumComboElement.java | 6 + .../ui/element/ToggleableTextElement.java | 10 +- .../section/name/AuthorshipDetailElement.java | 7 + .../ui/section/name/NameDetailElement.java | 8 +- .../name/NonViralNameDetailElement.java | 31 +- .../section/taxon/TaxonBaseDetailElement.java | 60 +- .../datasource/CdmDataSourceViewPart.java | 30 +- .../taxeditor/view/datasource/Messages.java | 40 ++ .../taxeditor/view/detail/DetailsViewer.java | 89 +-- 79 files changed, 4409 insertions(+), 553 deletions(-) create mode 100644 eu.etaxonomy.taxeditor.application/OSGI-INF/l10n/plugin.properties create mode 100644 eu.etaxonomy.taxeditor.application/OSGI-INF/l10n/plugin_de.properties create mode 100644 eu.etaxonomy.taxeditor.application/OSGI-INF/l10n/plugin_en.properties delete mode 100644 eu.etaxonomy.taxeditor.application/plugin.properties create mode 100644 eu.etaxonomy.taxeditor.editor/OSGI-INF/l10n/plugin.properties create mode 100644 eu.etaxonomy.taxeditor.editor/OSGI-INF/l10n/plugin_de.properties create mode 100644 eu.etaxonomy.taxeditor.editor/OSGI-INF/l10n/plugin_en.properties delete mode 100644 eu.etaxonomy.taxeditor.editor/plugin.properties create mode 100644 eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/handler/OpenChecklistEditorHandler.java create mode 100644 eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/checklist/ChecklistContentProvider.java create mode 100644 eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/checklist/ChecklistEditor.java create mode 100644 eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/checklist/ChecklistEditorComparator.java create mode 100644 eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/checklist/ChecklistEditorInput.java create mode 100644 eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/checklist/ChecklistLabelProvider.java create mode 100644 eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/checklist/edit/DistributionEditingSupport.java create mode 100644 eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/checklist/edit/RankEditingSupport.java create mode 100644 eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/checklist/filter/ChecklistEditorFilter.java create mode 100644 eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/checklist/handler/CreateDescriptionElementHandler.java create mode 100644 eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/checklist/handler/CreateDescriptionHandler.java create mode 100644 eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/checklist/handler/OpenDistributionHandler.java create mode 100644 eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/checklist/listener/ChecklistDropdownSelectionListener.java create mode 100644 eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/checklist/listener/ChecklistFocusListener.java create mode 100644 eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/checklist/listener/ChecklistModifyListener.java create mode 100644 eu.etaxonomy.taxeditor.navigation/OSGI-INF/l10n/bundle.properties create mode 100644 eu.etaxonomy.taxeditor.navigation/OSGI-INF/l10n/bundle_de.properties create mode 100644 eu.etaxonomy.taxeditor.navigation/OSGI-INF/l10n/bundle_en.properties create mode 100644 eu.etaxonomy.taxeditor.navigation/OSGI-INF/l10n/messages.properties create mode 100644 eu.etaxonomy.taxeditor.navigation/OSGI-INF/l10n/messages_de.properties create mode 100644 eu.etaxonomy.taxeditor.navigation/OSGI-INF/l10n/messages_en.properties create mode 100644 eu.etaxonomy.taxeditor.navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/search/Messages.java create mode 100644 eu.etaxonomy.taxeditor.printpublisher/OSGI-INF/l10n/bundle.properties create mode 100644 eu.etaxonomy.taxeditor.printpublisher/OSGI-INF/l10n/bundle_de.properties create mode 100644 eu.etaxonomy.taxeditor.printpublisher/OSGI-INF/l10n/bundle_en.properties create mode 100644 eu.etaxonomy.taxeditor.store/OSGI-INF/l10n/bundle.properties create mode 100644 eu.etaxonomy.taxeditor.store/OSGI-INF/l10n/bundle_de.properties create mode 100644 eu.etaxonomy.taxeditor.store/OSGI-INF/l10n/bundle_en.properties create mode 100644 eu.etaxonomy.taxeditor.store/OSGI-INF/l10n/messages.properties create mode 100644 eu.etaxonomy.taxeditor.store/OSGI-INF/l10n/messages_de.properties create mode 100644 eu.etaxonomy.taxeditor.store/OSGI-INF/l10n/messages_en.properties create mode 100644 eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/handler/OpenDistributionEditorWizardHandler.java create mode 100644 eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/ChecklistEditorGeneralPreference.java create mode 100644 eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/TemplatePreferencePage.java create mode 100644 eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/wizard/AvailableDistributionPage.java create mode 100644 eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/wizard/AvailableDistributionWizard.java create mode 100644 eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/datasource/Messages.java diff --git a/.gitattributes b/.gitattributes index ba2b9885c..713a46ecc 100644 --- a/.gitattributes +++ b/.gitattributes @@ -4,6 +4,9 @@ eu.etaxonomy.taxeditor.application/.classpath -text eu.etaxonomy.taxeditor.application/.project -text eu.etaxonomy.taxeditor.application/META-INF/MANIFEST.MF -text +eu.etaxonomy.taxeditor.application/OSGI-INF/l10n/plugin.properties -text +eu.etaxonomy.taxeditor.application/OSGI-INF/l10n/plugin_de.properties -text +eu.etaxonomy.taxeditor.application/OSGI-INF/l10n/plugin_en.properties -text eu.etaxonomy.taxeditor.application/build.properties -text eu.etaxonomy.taxeditor.application/icons/256color_16x16.gif -text eu.etaxonomy.taxeditor.application/icons/256color_32x32.gif -text @@ -12,7 +15,6 @@ eu.etaxonomy.taxeditor.application/icons/256color_48x48.ico -text eu.etaxonomy.taxeditor.application/icons/edit_16x16.gif -text eu.etaxonomy.taxeditor.application/icons/specimen_derivate-16x16-32.png -text eu.etaxonomy.taxeditor.application/p2.inf -text -eu.etaxonomy.taxeditor.application/plugin.properties -text eu.etaxonomy.taxeditor.application/plugin.xml -text eu.etaxonomy.taxeditor.application/plugin_customization.ini -text eu.etaxonomy.taxeditor.application/pom.xml -text @@ -349,6 +351,9 @@ eu.etaxonomy.taxeditor.cdmlib/src/test/resources/eu/etaxonomy/cdm/cdm.datasource eu.etaxonomy.taxeditor.editor/.classpath -text eu.etaxonomy.taxeditor.editor/.project -text eu.etaxonomy.taxeditor.editor/META-INF/MANIFEST.MF -text +eu.etaxonomy.taxeditor.editor/OSGI-INF/l10n/plugin.properties -text +eu.etaxonomy.taxeditor.editor/OSGI-INF/l10n/plugin_de.properties -text +eu.etaxonomy.taxeditor.editor/OSGI-INF/l10n/plugin_en.properties -text eu.etaxonomy.taxeditor.editor/build.properties -text eu.etaxonomy.taxeditor.editor/icons/address-book-new.png -text eu.etaxonomy.taxeditor.editor/icons/camera-photo.png -text @@ -358,7 +363,6 @@ eu.etaxonomy.taxeditor.editor/icons/emblem-photos.png -text eu.etaxonomy.taxeditor.editor/icons/leaf_detail.png -text eu.etaxonomy.taxeditor.editor/icons/xper64.png -text eu.etaxonomy.taxeditor.editor/p2.inf -text -eu.etaxonomy.taxeditor.editor/plugin.properties -text eu.etaxonomy.taxeditor.editor/plugin.xml -text eu.etaxonomy.taxeditor.editor/pom.xml -text eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/CdmDataTransfer.java -text @@ -382,6 +386,7 @@ eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/group/ eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/group/authority/CdmAuthorityEditorInput.java -text eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/group/authority/handler/EditCdmAuthoritiesHandler.java -text eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/handler/EditNewTaxonHandler.java -text +eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/handler/OpenChecklistEditorHandler.java -text eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/handler/OpenDerivateViewHandler.java -text eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/handler/OpenParentHandler.java -text eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/handler/SaveAllHandler.java -text @@ -470,6 +475,20 @@ eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/name/o eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/name/operation/DeleteTaxonOperation.java -text eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/name/operation/RemoveHomotypicalGroupBasionymOperation.java -text eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/name/operation/SwapSynonymAndAcceptedOperation.java -text +eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/checklist/ChecklistContentProvider.java -text +eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/checklist/ChecklistEditor.java -text +eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/checklist/ChecklistEditorComparator.java -text +eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/checklist/ChecklistEditorInput.java -text +eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/checklist/ChecklistLabelProvider.java -text +eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/checklist/edit/DistributionEditingSupport.java -text +eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/checklist/edit/RankEditingSupport.java -text +eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/checklist/filter/ChecklistEditorFilter.java -text +eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/checklist/handler/CreateDescriptionElementHandler.java -text +eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/checklist/handler/CreateDescriptionHandler.java -text +eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/checklist/handler/OpenDistributionHandler.java -text +eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/checklist/listener/ChecklistDropdownSelectionListener.java -text +eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/checklist/listener/ChecklistFocusListener.java -text +eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/checklist/listener/ChecklistModifyListener.java -text eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/concept/ConceptContentProvider.java -text eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/concept/ConceptLabelProvider.java -text eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/concept/ConceptViewPart.java -text @@ -874,6 +893,12 @@ eu.etaxonomy.taxeditor.help/tocnameparser.xml -text eu.etaxonomy.taxeditor.navigation/.classpath -text eu.etaxonomy.taxeditor.navigation/.project -text eu.etaxonomy.taxeditor.navigation/META-INF/MANIFEST.MF -text +eu.etaxonomy.taxeditor.navigation/OSGI-INF/l10n/bundle.properties -text +eu.etaxonomy.taxeditor.navigation/OSGI-INF/l10n/bundle_de.properties -text +eu.etaxonomy.taxeditor.navigation/OSGI-INF/l10n/bundle_en.properties -text +eu.etaxonomy.taxeditor.navigation/OSGI-INF/l10n/messages.properties -text +eu.etaxonomy.taxeditor.navigation/OSGI-INF/l10n/messages_de.properties -text +eu.etaxonomy.taxeditor.navigation/OSGI-INF/l10n/messages_en.properties -text eu.etaxonomy.taxeditor.navigation/build.properties -text eu.etaxonomy.taxeditor.navigation/icons/edit_16x16.gif -text eu.etaxonomy.taxeditor.navigation/icons/preferences-system-windows.png -text @@ -930,6 +955,7 @@ eu.etaxonomy.taxeditor.navigation/src/main/java/eu/etaxonomy/taxeditor/navigatio eu.etaxonomy.taxeditor.navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/operation/CreateClassification.java -text eu.etaxonomy.taxeditor.navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/operation/CreatePolytomousKey.java -text eu.etaxonomy.taxeditor.navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/operation/CreateTaxonNode.java -text +eu.etaxonomy.taxeditor.navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/search/Messages.java -text eu.etaxonomy.taxeditor.navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/search/SearchBar.java -text eu.etaxonomy.taxeditor.navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/search/SearchResultLabelProvider.java -text eu.etaxonomy.taxeditor.navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/search/SearchResultView.java -text @@ -946,6 +972,9 @@ eu.etaxonomy.taxeditor.navigation/src/test/resources/log4j.properties -text eu.etaxonomy.taxeditor.printpublisher/.classpath -text eu.etaxonomy.taxeditor.printpublisher/.project -text eu.etaxonomy.taxeditor.printpublisher/META-INF/MANIFEST.MF -text +eu.etaxonomy.taxeditor.printpublisher/OSGI-INF/l10n/bundle.properties -text +eu.etaxonomy.taxeditor.printpublisher/OSGI-INF/l10n/bundle_de.properties -text +eu.etaxonomy.taxeditor.printpublisher/OSGI-INF/l10n/bundle_en.properties -text eu.etaxonomy.taxeditor.printpublisher/build.properties -text eu.etaxonomy.taxeditor.printpublisher/p2.inf -text eu.etaxonomy.taxeditor.printpublisher/plugin.xml -text @@ -970,6 +999,12 @@ eu.etaxonomy.taxeditor.printpublisher/src/main/java/eu/etaxonomy/taxeditor/print eu.etaxonomy.taxeditor.store/.classpath -text eu.etaxonomy.taxeditor.store/.project -text eu.etaxonomy.taxeditor.store/META-INF/MANIFEST.MF -text +eu.etaxonomy.taxeditor.store/OSGI-INF/l10n/bundle.properties -text +eu.etaxonomy.taxeditor.store/OSGI-INF/l10n/bundle_de.properties -text +eu.etaxonomy.taxeditor.store/OSGI-INF/l10n/bundle_en.properties -text +eu.etaxonomy.taxeditor.store/OSGI-INF/l10n/messages.properties -text +eu.etaxonomy.taxeditor.store/OSGI-INF/l10n/messages_de.properties -text +eu.etaxonomy.taxeditor.store/OSGI-INF/l10n/messages_en.properties -text eu.etaxonomy.taxeditor.store/build.properties -text eu.etaxonomy.taxeditor.store/icons/256color_16x16.bmp -text eu.etaxonomy.taxeditor.store/icons/256color_32x32.bmp -text @@ -1172,6 +1207,7 @@ eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/featuretree/Fe eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/featuretree/OpenFeatureTreeEditorWizardHandler.java -text eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/featuretree/SelectFeatureTreeWizard.java -text eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/featuretree/SelectFeatureTreeWizardPage.java -text +eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/handler/OpenDistributionEditorWizardHandler.java -text eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/handler/OpenPasswordWizzardHandler.java -text eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/handler/ShowLoginWindowHandler.java -text eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/identificationkey/AbstractIdentificaitonKeyWizard.java -text @@ -1267,6 +1303,7 @@ eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/operation/IPos eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/parser/MatchStrategyConfigurator.java -text eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/parser/ParseHandler.java -text eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/CdmPreferences.java -text +eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/ChecklistEditorGeneralPreference.java -text eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/DefaultFeatureTreePreferenecs.java -text eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/DescriptionPreferences.java -text eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/FeatureTreePreferences.java -text @@ -1282,6 +1319,7 @@ eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/Res eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/SpecimenOrObservationPreferences.java -text eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/TaxonomicEditorGeneralPreferences.java -text eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/TaxonomicPreferences.java -text +eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/TemplatePreferencePage.java -text eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/TypeDesignationPreferences.java -text eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/matching/AbstractMatchingPreferences.java -text eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/matching/NonViralNameMatchingPreference.java -text @@ -1305,6 +1343,8 @@ eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/men eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/menu/SpecimenTypeDesignationStatusMenuPreferences.java -text eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/menu/StageMenuPreferences.java -text eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/menu/TaxonRelationshipTypeMenuPreferences.java -text +eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/wizard/AvailableDistributionPage.java -text +eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/wizard/AvailableDistributionWizard.java -text eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/wizard/VocabularyTermWizard.java -text eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/wizard/VocabularyTermWizardPage.java -text eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/security/AuthenticationSourceProvider.java -text @@ -1673,6 +1713,7 @@ eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/datasourc eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/datasource/CdmDataSourceViewPart.java -text eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/datasource/CdmDataSourceViewerComparator.java -text eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/datasource/CdmMetaDataAwareDataSourceContainer.java -text +eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/datasource/Messages.java -text eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/datasource/handler/AbstractDataSourceHandler.java -text eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/datasource/handler/ChangeConnectionHandler.java -text eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/datasource/handler/CloneDataSourceHandler.java -text diff --git a/eu.etaxonomy.taxeditor.application/META-INF/MANIFEST.MF b/eu.etaxonomy.taxeditor.application/META-INF/MANIFEST.MF index 4d75b2ec5..9e0c6eb59 100644 --- a/eu.etaxonomy.taxeditor.application/META-INF/MANIFEST.MF +++ b/eu.etaxonomy.taxeditor.application/META-INF/MANIFEST.MF @@ -5,7 +5,7 @@ Bundle-SymbolicName: eu.etaxonomy.taxeditor.application;singleton:=true Bundle-Version: 3.3.7.qualifier Bundle-Activator: eu.etaxonomy.taxeditor.TaxonomicEditorPlugin Bundle-Vendor: EDIT -Bundle-Localization: plugin +Bundle-Localization: OSGI-INF/l10n/plugin Export-Package: eu.etaxonomy.taxeditor Bundle-ActivationPolicy: lazy Bundle-RequiredExecutionEnvironment: JavaSE-1.6 diff --git a/eu.etaxonomy.taxeditor.application/OSGI-INF/l10n/plugin.properties b/eu.etaxonomy.taxeditor.application/OSGI-INF/l10n/plugin.properties new file mode 100644 index 000000000..9e64cfd64 --- /dev/null +++ b/eu.etaxonomy.taxeditor.application/OSGI-INF/l10n/plugin.properties @@ -0,0 +1,43 @@ +productName=EDIT Taxonomic Editor +productBlurb=EDIT Taxonomic Editor\n\Version: 3.3\n\n\Copyright (C) 2009 EDIT\n\European Distributed Institute of Taxonomy\n\http://www.e-taxonomy.eu + +extension.name = Taxonomic Editor +perspective.name = Taxonomic +perspective.name.0 = Polytomous Key +perspective.name.1 = Uses +perspective.name.2 = Derivates +menu.label = General +menu.label.0 = Edit +menu.label.1 = Window +menu.label.2 = Help +menu.label.3 = New +command.label = Close +command.label.0 = Close All +command.label.1 = Save +command.label.2 = Save All +command.label.3 = Import... +command.label.4 = Export... +command.label.5 = Exit +command.label.6 = Undo +command.label.7 = Redo +command.label.8 = Cut +command.label.9 = Copy +command.label.10 = Paste +command.label.11 = Delete +command.label.12 = Preferences +command.label.13 = Help Contents +command.label.14 = Search +command.label.15 = Dynamic Help +command.label.16 = Parser Help Website +command.label.17 = Check for Updates +command.label.18 = Install New Software... +command.label.19 = About Taxonomic Editor +command.label.20 = About the EDIT Platform +command.label.21 = New +command.label.22 = Save +product.name = EDIT Taxonomic Editor +command.name = Parser Help +command.name.0 = About the EDIT Platform +activity.description = Disable unwanted eclipse UI +activity.name = Disable +product.name.0 = EDIT Taxonomic Editor \ No newline at end of file diff --git a/eu.etaxonomy.taxeditor.application/OSGI-INF/l10n/plugin_de.properties b/eu.etaxonomy.taxeditor.application/OSGI-INF/l10n/plugin_de.properties new file mode 100644 index 000000000..2283ab3b7 --- /dev/null +++ b/eu.etaxonomy.taxeditor.application/OSGI-INF/l10n/plugin_de.properties @@ -0,0 +1,43 @@ +productName=EDIT Taxonomischer Editor +productBlurb=EDIT Taxonomischer Editor\n\Version: 3.3\n\n\Copyright (C) 2009 EDIT\n\European Distributed Institute of Taxonomy\n\http://www.e-taxonomy.eu + +extension.name = Taxonomischer Editor +perspective.name = Taxonomisch +perspective.name.0 = Polytomer Key +perspective.name.1 = Anwendungen +perspective.name.2 = Derivate +menu.label = Datei +menu.label.0 = Bearbeiten +menu.label.1 = Extras +menu.label.2 = Hilfe +menu.label.3 = Neu +command.label = Schlie\u00dfen +command.label.0 = Schlie\u00dfe alle +command.label.1 = Speichern +command.label.2 = Speichere alle +command.label.3 = Import... +command.label.4 = Export... +command.label.5 = Beenden +command.label.6 = R\u00fcckg\u00e4ngig +command.label.7 = Letzen Befehl wiederholen +command.label.8 = Ausschneiden +command.label.9 = Kopieren +command.label.10 = Einf\u00fcgen +command.label.11 = L\u00f6schen +command.label.12 = Einstellungen +command.label.13 = Hilfeinhalt +command.label.14 = Suchen +command.label.15 = Dynamische Hilfe +command.label.16 = Parser Hilfe Webseite (in Englisch) +command.label.17 = Suche nach Updates +command.label.18 = Installiere Neue Software... +command.label.19 = \u00dcber den Taxonomischen Editor +command.label.20 = \u00dcber die EDIT Platform +command.label.21 = Neu +command.label.22 = Speichern +product.name = EDIT Taxonomischer Editor +command.name = Parser Hilfe +command.name.0 = \u00dcber die EDIT Platform +activity.description = Schalte unerw\u00fcnschte eclipse UI aus +activity.name = Ausschalten +product.name.0 = EDIT Taxonomischer Editor diff --git a/eu.etaxonomy.taxeditor.application/OSGI-INF/l10n/plugin_en.properties b/eu.etaxonomy.taxeditor.application/OSGI-INF/l10n/plugin_en.properties new file mode 100644 index 000000000..9e64cfd64 --- /dev/null +++ b/eu.etaxonomy.taxeditor.application/OSGI-INF/l10n/plugin_en.properties @@ -0,0 +1,43 @@ +productName=EDIT Taxonomic Editor +productBlurb=EDIT Taxonomic Editor\n\Version: 3.3\n\n\Copyright (C) 2009 EDIT\n\European Distributed Institute of Taxonomy\n\http://www.e-taxonomy.eu + +extension.name = Taxonomic Editor +perspective.name = Taxonomic +perspective.name.0 = Polytomous Key +perspective.name.1 = Uses +perspective.name.2 = Derivates +menu.label = General +menu.label.0 = Edit +menu.label.1 = Window +menu.label.2 = Help +menu.label.3 = New +command.label = Close +command.label.0 = Close All +command.label.1 = Save +command.label.2 = Save All +command.label.3 = Import... +command.label.4 = Export... +command.label.5 = Exit +command.label.6 = Undo +command.label.7 = Redo +command.label.8 = Cut +command.label.9 = Copy +command.label.10 = Paste +command.label.11 = Delete +command.label.12 = Preferences +command.label.13 = Help Contents +command.label.14 = Search +command.label.15 = Dynamic Help +command.label.16 = Parser Help Website +command.label.17 = Check for Updates +command.label.18 = Install New Software... +command.label.19 = About Taxonomic Editor +command.label.20 = About the EDIT Platform +command.label.21 = New +command.label.22 = Save +product.name = EDIT Taxonomic Editor +command.name = Parser Help +command.name.0 = About the EDIT Platform +activity.description = Disable unwanted eclipse UI +activity.name = Disable +product.name.0 = EDIT Taxonomic Editor \ No newline at end of file diff --git a/eu.etaxonomy.taxeditor.application/build.properties b/eu.etaxonomy.taxeditor.application/build.properties index 7280c0755..af4a4e99e 100644 --- a/eu.etaxonomy.taxeditor.application/build.properties +++ b/eu.etaxonomy.taxeditor.application/build.properties @@ -6,6 +6,8 @@ bin.includes = META-INF/,\ plugin.xml,\ plugin_customization.ini,\ icons/,\ - plugin.properties,\ + OSGI-INF/l10n/plugin.properties,\ splash.bmp,\ - p2.inf + p2.inf,\ + OSGI-INF/l10n/plugin_de.properties,\ + OSGI-INF/l10n/plugin_en.properties diff --git a/eu.etaxonomy.taxeditor.application/plugin.properties b/eu.etaxonomy.taxeditor.application/plugin.properties deleted file mode 100644 index ee8803da4..000000000 --- a/eu.etaxonomy.taxeditor.application/plugin.properties +++ /dev/null @@ -1,2 +0,0 @@ -productName=EDIT Taxonomic Editor -productBlurb=EDIT Taxonomic Editor\n\Version: 3.3\n\n\Copyright (C) 2009 EDIT\n\European Distributed Institute of Taxonomy\n\http://www.e-taxonomy.eu diff --git a/eu.etaxonomy.taxeditor.application/plugin.xml b/eu.etaxonomy.taxeditor.application/plugin.xml index ff3de6627..4921f4a52 100644 --- a/eu.etaxonomy.taxeditor.application/plugin.xml +++ b/eu.etaxonomy.taxeditor.application/plugin.xml @@ -3,7 +3,7 @@ + name="%perspective.name"> + label="%menu.label.0"> @@ -330,7 +336,7 @@ @@ -347,7 +353,7 @@ @@ -369,7 +375,7 @@ @@ -387,7 +393,7 @@ @@ -450,7 +456,7 @@ locationURI="popup:eu.etaxonomy.taxeditor.editor.key.polytomous"> @@ -503,7 +509,7 @@ locationURI="popup:eu.etaxonomy.taxeditor.editor.view.descriptive"> + label="%menu.label.1"> @@ -537,7 +543,7 @@ @@ -548,7 +554,7 @@ @@ -568,7 +574,7 @@ @@ -610,12 +616,12 @@ locationURI="popup:eu.etaxonomy.taxeditor.editor.view.uses"> @@ -634,7 +640,7 @@ @@ -665,7 +671,7 @@ @@ -687,7 +693,7 @@ locationURI="popup:eu.etaxonomy.taxeditor.editor.view.media"> + label="%menu.label.3"> @@ -750,7 +756,7 @@ @@ -768,7 +774,7 @@ locationURI="popup:#BulkEditorContext?before=taxeditor-bulkeditor.separator1"> + + + name="%category.name.0"> + name="%command.name"> + name="%command.name.0"> + name="%command.name.1"> + name="%command.name.2"> + name="%command.name.3"> + name="%command.name.4"> + name="%command.name.5"> + name="%command.name.6"> + name="%command.name.7"> + name="%command.name.8"> @@ -187,12 +209,12 @@ @@ -208,47 +230,43 @@ - - + label="%menu.label.0"> @@ -258,7 +276,7 @@ @@ -269,12 +287,12 @@ + name="%command.name"> + name="%command.name.0"> + name="%command.name.1"> + name="%command.name.2"> + name="%command.name.3"> + name="%command.name.4"> + name="%command.name.5"> + name="%command.name.6"> + name="%command.name.7"> + name="%command.name.8"> + name="%command.name.9"> + name="%view.name.2"/> @@ -418,7 +436,7 @@ contentProvider="eu.etaxonomy.taxeditor.navigation.navigator.ClassificationContentProvider" id="eu.etaxonomy.taxeditor.navigation.classificationContent" labelProvider="eu.etaxonomy.taxeditor.navigation.navigator.ClassificationLabelProvider" - name="Classification"> + name="%navigatorContent.name"> @@ -439,7 +457,7 @@ contentProvider="eu.etaxonomy.taxeditor.navigation.navigator.TaxonNodeContentProvider" id="eu.etaxonomy.taxeditor.navigation.taxonNodeContent" labelProvider="eu.etaxonomy.taxeditor.navigation.navigator.TaxonNodeLabelProvider" - name="TaxonNode"> + name="%navigatorContent.name.0"> + value="eu.etaxonomy.cdm.model.taxon.Classification"> + value="eu.etaxonomy.cdm.model.taxon.Classification"> @@ -481,7 +499,7 @@ contentProvider="eu.etaxonomy.taxeditor.navigation.navigator.SynonymContentProvider" id="eu.etaxonomy.taxeditor.navigation.synonymContent" labelProvider="eu.etaxonomy.taxeditor.navigation.navigator.SynonymLabelProvider" - name="Synonyms (experimental)" + name="%navigatorContent.name.1" priority="highest"> @@ -559,7 +577,7 @@ - + + + + @@ -582,7 +614,8 @@ id="isTaxonNode"> - + @@ -590,26 +623,37 @@ + id="isSynonymNode"> - + + value="eu.etaxonomy.cdm.model.taxon.Synonym"> + id="isClassification"> - + + value="eu.etaxonomy.cdm.model.taxon.Classification"> + + + + + + diff --git a/eu.etaxonomy.taxeditor.navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/search/Messages.java b/eu.etaxonomy.taxeditor.navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/search/Messages.java new file mode 100644 index 000000000..5d3c21a31 --- /dev/null +++ b/eu.etaxonomy.taxeditor.navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/search/Messages.java @@ -0,0 +1,38 @@ +// $Id$ +/** + * Copyright (C) 2014 EDIT + * European Distributed Institute of Taxonomy + * http://www.e-taxonomy.eu + * + * The contents of this file are subject to the Mozilla Public License Version 1.1 + * See LICENSE.TXT at the top of this package for the full license terms. + */ +package eu.etaxonomy.taxeditor.navigation.search; + +import org.eclipse.osgi.util.NLS; + +/** + * @author d.schild + * @date 18.06.2014 + * + */ +public class Messages extends NLS { + private static final String BUNDLE_NAME = "OSGI-INF/l10n/messages"; //$NON-NLS-1$ + public static String SearchBar_0; + public static String SearchBar_1; + public static String SearchBar_2; + public static String SearchBar_3; + public static String SearchBar_4; + public static String SearchBar_5; + public static String SearchBar_6; + public static String SearchBar_7; + public static String SearchBar_8; + public static String SearchBar_9; + static { + // initialize resource bundle + NLS.initializeMessages(BUNDLE_NAME, Messages.class); + } + + private Messages() { + } +} diff --git a/eu.etaxonomy.taxeditor.navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/search/SearchBar.java b/eu.etaxonomy.taxeditor.navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/search/SearchBar.java index 347a59987..dccf5decd 100644 --- a/eu.etaxonomy.taxeditor.navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/search/SearchBar.java +++ b/eu.etaxonomy.taxeditor.navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/search/SearchBar.java @@ -53,7 +53,7 @@ public class SearchBar extends WorkbenchWindowControlContribution{ private Text text_search; private String secondaryId; - private final String defaultText = "Use \"*\" for wildcard searching"; + private final String defaultText = Messages.SearchBar_0; final private ConfigurationSelectionListener configurationListener = new ConfigurationSelectionListener(); @@ -89,7 +89,7 @@ public class SearchBar extends WorkbenchWindowControlContribution{ final ToolBar toolBar = new ToolBar(composite, SWT.NULL); ToolItem toolItem = new ToolItem(toolBar, SWT.DROP_DOWN | SWT.BORDER); - toolItem.setText("Search"); + toolItem.setText(Messages.SearchBar_1); DropdownSelectionListener dropdownListener = new DropdownSelectionListener( toolItem); @@ -177,7 +177,7 @@ public class SearchBar extends WorkbenchWindowControlContribution{ } if("*".equals(searchString.trim())){ - NavigationUtil.warningDialog("Could not execute search", this, "Please type at least one character when using the \"*\" wildcard."); + NavigationUtil.warningDialog(Messages.SearchBar_2, this, Messages.SearchBar_3); return; } @@ -214,7 +214,7 @@ public class SearchBar extends WorkbenchWindowControlContribution{ IWorkbenchPage.VIEW_ACTIVATE); ((SearchResultView) resultsView).performSearch(configurator); } catch (PartInitException e) { - NavigationUtil.error(this.getClass(), "Error opening search result.", e); + NavigationUtil.error(this.getClass(), Messages.SearchBar_4, e); } } @@ -275,7 +275,7 @@ public class SearchBar extends WorkbenchWindowControlContribution{ */ @Override public void widgetSelected(SelectionEvent e) { - NavigationUtil.info("configuration menu clicked"); + NavigationUtil.info(Messages.SearchBar_5); SearchOption option = (SearchOption) e.widget.getData(); switch (option){ @@ -314,10 +314,10 @@ public class SearchBar extends WorkbenchWindowControlContribution{ * @version 1.0 */ enum SearchOption { - TAXON("Taxa"), - SYNONYM("Synonyms"), - NAME("Names (without taxa)"), - COMMON_NAME("Common Names"); + TAXON(Messages.SearchBar_6), + SYNONYM(Messages.SearchBar_7), + NAME(Messages.SearchBar_8), + COMMON_NAME(Messages.SearchBar_9); private final String label; diff --git a/eu.etaxonomy.taxeditor.printpublisher/OSGI-INF/l10n/bundle.properties b/eu.etaxonomy.taxeditor.printpublisher/OSGI-INF/l10n/bundle.properties new file mode 100644 index 000000000..e0e4fc276 --- /dev/null +++ b/eu.etaxonomy.taxeditor.printpublisher/OSGI-INF/l10n/bundle.properties @@ -0,0 +1,4 @@ +#Properties file for eu.etaxonomy.taxeditor.printpublisher +category.name = Print Publishing +command.label = Generate PDF +command.name = Generate PDF \ No newline at end of file diff --git a/eu.etaxonomy.taxeditor.printpublisher/OSGI-INF/l10n/bundle_de.properties b/eu.etaxonomy.taxeditor.printpublisher/OSGI-INF/l10n/bundle_de.properties new file mode 100644 index 000000000..88df08a6e --- /dev/null +++ b/eu.etaxonomy.taxeditor.printpublisher/OSGI-INF/l10n/bundle_de.properties @@ -0,0 +1,4 @@ +#Properties file for eu.etaxonomy.taxeditor.printpublisher +category.name = Print Publishing +command.label = Erzeuge PDF +command.name = Erzeuge PDF \ No newline at end of file diff --git a/eu.etaxonomy.taxeditor.printpublisher/OSGI-INF/l10n/bundle_en.properties b/eu.etaxonomy.taxeditor.printpublisher/OSGI-INF/l10n/bundle_en.properties new file mode 100644 index 000000000..e0e4fc276 --- /dev/null +++ b/eu.etaxonomy.taxeditor.printpublisher/OSGI-INF/l10n/bundle_en.properties @@ -0,0 +1,4 @@ +#Properties file for eu.etaxonomy.taxeditor.printpublisher +category.name = Print Publishing +command.label = Generate PDF +command.name = Generate PDF \ No newline at end of file diff --git a/eu.etaxonomy.taxeditor.printpublisher/build.properties b/eu.etaxonomy.taxeditor.printpublisher/build.properties index 5589fdf94..4b96d0673 100644 --- a/eu.etaxonomy.taxeditor.printpublisher/build.properties +++ b/eu.etaxonomy.taxeditor.printpublisher/build.properties @@ -2,4 +2,7 @@ source.. = src/main/java/ bin.includes = META-INF/,\ .,\ plugin.xml,\ - p2.inf + p2.inf,\ + OSGI-INF/l10n/bundle.properties,\ + OSGI-INF/l10n/bundle_de.properties,\ + OSGI-INF/l10n/bundle_en.properties diff --git a/eu.etaxonomy.taxeditor.printpublisher/plugin.xml b/eu.etaxonomy.taxeditor.printpublisher/plugin.xml index baacae2bd..c8e8b9582 100644 --- a/eu.etaxonomy.taxeditor.printpublisher/plugin.xml +++ b/eu.etaxonomy.taxeditor.printpublisher/plugin.xml @@ -5,7 +5,7 @@ point="org.eclipse.ui.exportWizards"> + name="%category.name"> + name="%command.name"> --> diff --git a/eu.etaxonomy.taxeditor.store/META-INF/MANIFEST.MF b/eu.etaxonomy.taxeditor.store/META-INF/MANIFEST.MF index f3a5d62f5..07a0fb8de 100644 --- a/eu.etaxonomy.taxeditor.store/META-INF/MANIFEST.MF +++ b/eu.etaxonomy.taxeditor.store/META-INF/MANIFEST.MF @@ -236,3 +236,4 @@ Bundle-ClassPath: ., xpp3_min-1.1.4c.jar, xstream-1.4.4.jar, yjp-controller-api-redist-9.0.8.jar +Bundle-Localization: OSGI-INF/l10n/bundle diff --git a/eu.etaxonomy.taxeditor.store/OSGI-INF/l10n/bundle.properties b/eu.etaxonomy.taxeditor.store/OSGI-INF/l10n/bundle.properties new file mode 100644 index 000000000..dc98244fc --- /dev/null +++ b/eu.etaxonomy.taxeditor.store/OSGI-INF/l10n/bundle.properties @@ -0,0 +1,126 @@ +#Properties file for eu.etaxonomy.taxeditor.store +page.name = Taxonomic Editor +page.name.0 = Description +page.name.1 = Features +page.name.2 = Distribution Status +page.name.3 = Taxonomic +page.name.4 = Nomenclatural Code +page.name.5 = Ranks +page.name.6 = Nomenclatural Status Type +page.name.7 = Name Relationship Type +page.name.8 = Taxon Relationship Type +page.name.9 = Specimen Type Designation Status +page.name.10 = Available Languages +page.name.11 = Marker Types +page.name.12 = Extension Types +page.name.13 = Name Type Designation Status +page.name.14 = Named Area Type +page.name.15 = Matching (Experimental) +page.name.16 = NonViralName Matching Strategy +page.name.17 = Reference Matching Strategy +page.name.18 = Team or Person Matching Strategy +page.name.19 = Stage +page.name.20 = Preservation Method +page.name.21 = Feature Tree +page.name.22 = Default Feature Trees +page.name.23 = Language +page.name.24 = Mobot Open Url +page.name.25 = Type Designations +view.name = Datasource +view.name.0 = Progress +view.name.1 = Message +view.name.2 = Reporting +view.name.3 = Supplemental Data +view.name.4 = Details +view.name.5 = Use Records +view.name.6 = Derivate Search +editor.name = Defined Term Editor +menu.label = Show View +command.label = Derivate Search +command.label.0 = Details +command.label.1 = Supplemental +command.label.2 = Datasource +command.label.3 = Messages +command.label.4 = Reporting +command.label.5 = Switch User +command.label.6 = Connect +command.label.7 = New +command.label.8 = Edit +command.label.9 = Delete +command.label.10 = Close Active Connection +command.label.11 = Update Datamodel +menu.label.0 = New +command.label.12 = Vocabulary +command.label.13 = Defined Term +command.label.14 = Delete +extension.name = Popup Menu Commands +command.name = Connect Datasource +command.name.0 = Edit Datasource +command.name.1 = Create Datasource +command.name.2 = Close Active Connection +command.name.3 = Update Datasource +command.name.4 = Show Login Window +command.name.5 = Open Defined Term Editor +commandParameter.name = inputType +commandParameter.name.0 = inputType +command.name.6 = New Defined Term +command.name.7 = New Term Vocabulary +category.name = CDM +wizard.name = TCS +wizard.name.0 = Berlin Model +wizard.name.1 = Endnote +wizard.name.2 = Excel Normal Explicit Taxa +wizard.name.3 = ABCD +wizard.name.4 = SDD +wizard.name.5 = Specimen CDM Excel +category.name.0 = CDM +wizard.name.6 = JAXB +wizard.name.7 = Berlin Model +category.name.1 = Excel +wizard.name.8 = SDD +wizard.name.9 = DwC-A +wizard.name.10 = Reference +wizard.name.11 = Name +wizard.name.12 = Team +wizard.name.13 = Person +wizard.name.14 = Specimen +wizard.name.15 = Polytomous Key +category.name.2 = CDM +wizard.name.16 = Taxon +wizard.name.17 = Classification +themeElementCategory.label = Taxonomic Editor +themeElementCategory.description = Color and font definitions for the EDIT Taxonomic Editor +colorDefinition.label = List Background +colorDefinition.label.0 = Global Text Color +colorDefinition.label.1 = Global Color Composite Background +colorDefinition.label.2 = Global Color Composite Irrelevant +colorDefinition.label.3 = Global Text Color Disabled +colorDefinition.label.4 = Global Background Color Disabled +themeElementCategory.label.0 = Details View +themeElementCategory.description.0 = Colors and fonts for the details view +colorDefinition.label.5 = Entity Element List Background Odd +colorDefinition.label.6 = Entity Element List Background Even +themeElementCategory.label.1 = Name Editor +themeElementCategory.description.1 = Colors and fonts for the name editor +colorDefinition.label.7 = Container Background +colorDefinition.label.8 = Container Selected Focus +colorDefinition.label.9 = Container Selected +colorDefinition.label.10 = Container Drag Enter +fontDefinition.label = Accepted Taxon Font +fontDefinition.label.0 = Synonym Font +fontDefinition.label.1 = Misapplication Font +fontDefinition.label.2 = Concept Font +fontDefinition.label.3 = Default Font +themeElementCategory.label.2 = Search View +themeElementCategory.description.2 = Colors and fonts for the search view +colorDefinition.label.11 = Search View Foreground +colorDefinition.label.12 = Search View Focus +fontDefinition.label.4 = Accepted font +fontDefinition.description = The font that is used for accepted taxa in the search result list. +fontDefinition.label.5 = Synonym font +fontDefinition.description.0 = The font that is used for synonyms in the search result list. +fontDefinition.label.6 = Other font +fontDefinition.description.1 = The font used by default in the search result list. +colorDefinition.label.13 = Parse Error +colorDefinition.label.14 = Disabled Name Editor Field +colorDefinition.label.15 = Editor On Error \ No newline at end of file diff --git a/eu.etaxonomy.taxeditor.store/OSGI-INF/l10n/bundle_de.properties b/eu.etaxonomy.taxeditor.store/OSGI-INF/l10n/bundle_de.properties new file mode 100644 index 000000000..94c9770fd --- /dev/null +++ b/eu.etaxonomy.taxeditor.store/OSGI-INF/l10n/bundle_de.properties @@ -0,0 +1,126 @@ +#Properties file for eu.etaxonomy.taxeditor.store, German +page.name = Taxonomischer Editor +page.name.0 = Beschreibung +page.name.1 = Merkmal +page.name.2 = Verbreitungsstatus +page.name.3 = Taxonomisch +page.name.4 = Nomenklaturcode +page.name.5 = R\u00e4nge +page.name.6 = Nomenklaturstatus Typ +page.name.7 = Beziehungstyp Name +page.name.8 = Beziehungstyp Taxon +page.name.9 = Belegtyp Bezeichnungsstatus +page.name.10 = Verf\u00fcgbare Sprachen +page.name.11 = Markertypen +page.name.12 = Erweiterungstypen +page.name.13 = Namenstyp Bezeichnungsstatus +page.name.14 = Benannte Gebiete +page.name.15 = Matching (Experimental) +page.name.16 = NonViralName Matching Strategie +page.name.17 = Referenz Matching Strategie +page.name.18 = Team oder Person Matching Strategie +page.name.19 = Stufe (Stage) +page.name.20 = Erhaltungs-(Preservation) Methode +page.name.21 = Merkmalsbaum +page.name.22 = Standard Merkmalsbaum +page.name.23 = Sprache +page.name.24 = Mobot Open Url +page.name.25 = Typ Bezeichnungen +view.name = Datenquelle +view.name.0 = Fortschritt +view.name.1 = Nachrichten +view.name.2 = Berichte +view.name.3 = Zusatzdaten +view.name.4 = Details +view.name.5 = Benutze Datensatz +view.name.6 = Suche Derivate +editor.name = Editor f\u00fcr definierte Begriffe +menu.label = Zeige Ansicht +command.label = Derivatsuche +command.label.0 = Details +command.label.1 = Zusatz +command.label.2 = Datenquelle +command.label.3 = Fehlermeldungen +command.label.4 = Berichte +command.label.5 = Benutzer wechseln +command.label.6 = Verbinden +command.label.7 = Neu +command.label.8 = Bearbeiten +command.label.9 = L\u00f6schen +command.label.10 = Schlie\u00dfe aktive Verbindung +command.label.11 = Aktualisiere Datenmodel +menu.label.0 = Neu +command.label.12 = Vokabular +command.label.13 = Definierter Begriff +command.label.14 = L\u00f6schen +extension.name = Popup Men\u00fc Befehle +command.name = Verbinde Datenquelle +command.name.0 = Bearbeite Datenquelle +command.name.1 = Erstelle Datenquelle +command.name.2 = Schie\u00dfe aktive Verbindungen +command.name.3 = Aktualisiere Datenquellen +command.name.4 = Zeige Login Window +command.name.5 = \u00d6ffne Editor f\u00fcr definierte Begriffe +commandParameter.name = inputTyp +commandParameter.name.0 = inputTyp +command.name.6 = Neuer definierter Begriff +command.name.7 = Neues Begriffsvokabular +category.name = CDM +wizard.name = TCS +wizard.name.0 = Berlin Modell +wizard.name.1 = Endnote +wizard.name.2 = Excel Normal Explicit Taxa +wizard.name.3 = ABCD +wizard.name.4 = SDD +wizard.name.5 = Beleg CDM Excel +category.name.0 = CDM +wizard.name.6 = JAXB +wizard.name.7 = Berlin Model +category.name.1 = Excel +wizard.name.8 = SDD +wizard.name.9 = DwC-A +wizard.name.10 = Referenz +wizard.name.11 = Name +wizard.name.12 = Team +wizard.name.13 = Person +wizard.name.14 = Beleg +wizard.name.15 = Polytomous Key +category.name.2 = CDM +wizard.name.16 = Taxon +wizard.name.17 = Klassifikation +themeElementCategory.label = Taxonomischer Editor +themeElementCategory.description = Farb- und Schriftdefinitionen f\u00fcr den EDIT Taxonomischen Editor +colorDefinition.label = Liste Hintergrund +colorDefinition.label.0 = Globale Textfarbe +colorDefinition.label.1 = Globale Farbe Composite Hintergrund +colorDefinition.label.2 = Globale Composite Farbe irrelevant +colorDefinition.label.3 = Globale Textfarbe gesperrt +colorDefinition.label.4 = Globale Hintergrundfarbe gesperrt +themeElementCategory.label.0 = Ansicht Details +themeElementCategory.description.0 = Farben und Schriften f\u00fcr die Detailansicht +colorDefinition.label.5 = Entity Element List Background Odd +colorDefinition.label.6 = Entity Element List Background Even +themeElementCategory.label.1 = Namenseditor +themeElementCategory.description.1 = Farben und Schriften f\u00fcr den Namenseditor +colorDefinition.label.7 = Container Hintergrund +colorDefinition.label.8 = Container ausgew\u00e4hlter Fokus +colorDefinition.label.9 = Container ausgew\u00e4hlt +colorDefinition.label.10 = Container Drag Enter +fontDefinition.label = Schrift akzeptiertes Taxon +fontDefinition.label.0 = Schrift Synonyme +fontDefinition.label.1 = Schrift Fehlanwendungen +fontDefinition.label.2 = Schrift Konzepte +fontDefinition.label.3 = Schrift Normal +themeElementCategory.label.2 = Suche Ansicht +themeElementCategory.description.2 = Farben und Schriften f\u00fcr die Suchansicht +colorDefinition.label.11 = Suche Ansicht Fordergrund +colorDefinition.label.12 = Suche Ansicht Fokus +fontDefinition.label.4 = Schrift f\u00fcr Akzeptierte +fontDefinition.description = Die Schrift f\u00fcr akzeptierte Taxa in den Suchergebnissen. +fontDefinition.label.5 = Synonymschrift +fontDefinition.description.0 = Die Schrift f\u00fcr Synonyme in den Suchergebnissen. +fontDefinition.label.6 = Andere Schrift +fontDefinition.description.1 = Die Schrift die normalerweise in den Suchergebnissen benutzt wird. +colorDefinition.label.13 = Fehler beim Parsing +colorDefinition.label.14 = Gesperrtes Namenseditierfeld +colorDefinition.label.15 = Editor fehlerhaft diff --git a/eu.etaxonomy.taxeditor.store/OSGI-INF/l10n/bundle_en.properties b/eu.etaxonomy.taxeditor.store/OSGI-INF/l10n/bundle_en.properties new file mode 100644 index 000000000..dc98244fc --- /dev/null +++ b/eu.etaxonomy.taxeditor.store/OSGI-INF/l10n/bundle_en.properties @@ -0,0 +1,126 @@ +#Properties file for eu.etaxonomy.taxeditor.store +page.name = Taxonomic Editor +page.name.0 = Description +page.name.1 = Features +page.name.2 = Distribution Status +page.name.3 = Taxonomic +page.name.4 = Nomenclatural Code +page.name.5 = Ranks +page.name.6 = Nomenclatural Status Type +page.name.7 = Name Relationship Type +page.name.8 = Taxon Relationship Type +page.name.9 = Specimen Type Designation Status +page.name.10 = Available Languages +page.name.11 = Marker Types +page.name.12 = Extension Types +page.name.13 = Name Type Designation Status +page.name.14 = Named Area Type +page.name.15 = Matching (Experimental) +page.name.16 = NonViralName Matching Strategy +page.name.17 = Reference Matching Strategy +page.name.18 = Team or Person Matching Strategy +page.name.19 = Stage +page.name.20 = Preservation Method +page.name.21 = Feature Tree +page.name.22 = Default Feature Trees +page.name.23 = Language +page.name.24 = Mobot Open Url +page.name.25 = Type Designations +view.name = Datasource +view.name.0 = Progress +view.name.1 = Message +view.name.2 = Reporting +view.name.3 = Supplemental Data +view.name.4 = Details +view.name.5 = Use Records +view.name.6 = Derivate Search +editor.name = Defined Term Editor +menu.label = Show View +command.label = Derivate Search +command.label.0 = Details +command.label.1 = Supplemental +command.label.2 = Datasource +command.label.3 = Messages +command.label.4 = Reporting +command.label.5 = Switch User +command.label.6 = Connect +command.label.7 = New +command.label.8 = Edit +command.label.9 = Delete +command.label.10 = Close Active Connection +command.label.11 = Update Datamodel +menu.label.0 = New +command.label.12 = Vocabulary +command.label.13 = Defined Term +command.label.14 = Delete +extension.name = Popup Menu Commands +command.name = Connect Datasource +command.name.0 = Edit Datasource +command.name.1 = Create Datasource +command.name.2 = Close Active Connection +command.name.3 = Update Datasource +command.name.4 = Show Login Window +command.name.5 = Open Defined Term Editor +commandParameter.name = inputType +commandParameter.name.0 = inputType +command.name.6 = New Defined Term +command.name.7 = New Term Vocabulary +category.name = CDM +wizard.name = TCS +wizard.name.0 = Berlin Model +wizard.name.1 = Endnote +wizard.name.2 = Excel Normal Explicit Taxa +wizard.name.3 = ABCD +wizard.name.4 = SDD +wizard.name.5 = Specimen CDM Excel +category.name.0 = CDM +wizard.name.6 = JAXB +wizard.name.7 = Berlin Model +category.name.1 = Excel +wizard.name.8 = SDD +wizard.name.9 = DwC-A +wizard.name.10 = Reference +wizard.name.11 = Name +wizard.name.12 = Team +wizard.name.13 = Person +wizard.name.14 = Specimen +wizard.name.15 = Polytomous Key +category.name.2 = CDM +wizard.name.16 = Taxon +wizard.name.17 = Classification +themeElementCategory.label = Taxonomic Editor +themeElementCategory.description = Color and font definitions for the EDIT Taxonomic Editor +colorDefinition.label = List Background +colorDefinition.label.0 = Global Text Color +colorDefinition.label.1 = Global Color Composite Background +colorDefinition.label.2 = Global Color Composite Irrelevant +colorDefinition.label.3 = Global Text Color Disabled +colorDefinition.label.4 = Global Background Color Disabled +themeElementCategory.label.0 = Details View +themeElementCategory.description.0 = Colors and fonts for the details view +colorDefinition.label.5 = Entity Element List Background Odd +colorDefinition.label.6 = Entity Element List Background Even +themeElementCategory.label.1 = Name Editor +themeElementCategory.description.1 = Colors and fonts for the name editor +colorDefinition.label.7 = Container Background +colorDefinition.label.8 = Container Selected Focus +colorDefinition.label.9 = Container Selected +colorDefinition.label.10 = Container Drag Enter +fontDefinition.label = Accepted Taxon Font +fontDefinition.label.0 = Synonym Font +fontDefinition.label.1 = Misapplication Font +fontDefinition.label.2 = Concept Font +fontDefinition.label.3 = Default Font +themeElementCategory.label.2 = Search View +themeElementCategory.description.2 = Colors and fonts for the search view +colorDefinition.label.11 = Search View Foreground +colorDefinition.label.12 = Search View Focus +fontDefinition.label.4 = Accepted font +fontDefinition.description = The font that is used for accepted taxa in the search result list. +fontDefinition.label.5 = Synonym font +fontDefinition.description.0 = The font that is used for synonyms in the search result list. +fontDefinition.label.6 = Other font +fontDefinition.description.1 = The font used by default in the search result list. +colorDefinition.label.13 = Parse Error +colorDefinition.label.14 = Disabled Name Editor Field +colorDefinition.label.15 = Editor On Error \ No newline at end of file diff --git a/eu.etaxonomy.taxeditor.store/OSGI-INF/l10n/messages.properties b/eu.etaxonomy.taxeditor.store/OSGI-INF/l10n/messages.properties new file mode 100644 index 000000000..887b08241 --- /dev/null +++ b/eu.etaxonomy.taxeditor.store/OSGI-INF/l10n/messages.properties @@ -0,0 +1,12 @@ +CdmDataSourceViewPart_1=Loading datasources +CdmDataSourceViewPart_10=Server +CdmDataSourceViewPart_11=Name +CdmDataSourceViewPart_12=Connected +CdmDataSourceViewPart_2=Notes +CdmDataSourceViewPart_3=Compatible +CdmDataSourceViewPart_4=CDM Version +CdmDataSourceViewPart_5=Created +CdmDataSourceViewPart_6=Nomenclatural Code +CdmDataSourceViewPart_7=Database +CdmDataSourceViewPart_8=Type +CdmDataSourceViewPart_9=Up diff --git a/eu.etaxonomy.taxeditor.store/OSGI-INF/l10n/messages_de.properties b/eu.etaxonomy.taxeditor.store/OSGI-INF/l10n/messages_de.properties new file mode 100644 index 000000000..ca152050d --- /dev/null +++ b/eu.etaxonomy.taxeditor.store/OSGI-INF/l10n/messages_de.properties @@ -0,0 +1,12 @@ +CdmDataSourceViewPart_1=Datenquelle wird geladen +CdmDataSourceViewPart_10=Server +CdmDataSourceViewPart_11=Name +CdmDataSourceViewPart_12=Verbunden +CdmDataSourceViewPart_2=Notizen +CdmDataSourceViewPart_3=Kompatibel +CdmDataSourceViewPart_4=CDM Version +CdmDataSourceViewPart_5=Erstellt +CdmDataSourceViewPart_6=Nomenklaturcode +CdmDataSourceViewPart_7=Datenquelle +CdmDataSourceViewPart_8=Typ +CdmDataSourceViewPart_9=Verf\u00FCgbar diff --git a/eu.etaxonomy.taxeditor.store/OSGI-INF/l10n/messages_en.properties b/eu.etaxonomy.taxeditor.store/OSGI-INF/l10n/messages_en.properties new file mode 100644 index 000000000..887b08241 --- /dev/null +++ b/eu.etaxonomy.taxeditor.store/OSGI-INF/l10n/messages_en.properties @@ -0,0 +1,12 @@ +CdmDataSourceViewPart_1=Loading datasources +CdmDataSourceViewPart_10=Server +CdmDataSourceViewPart_11=Name +CdmDataSourceViewPart_12=Connected +CdmDataSourceViewPart_2=Notes +CdmDataSourceViewPart_3=Compatible +CdmDataSourceViewPart_4=CDM Version +CdmDataSourceViewPart_5=Created +CdmDataSourceViewPart_6=Nomenclatural Code +CdmDataSourceViewPart_7=Database +CdmDataSourceViewPart_8=Type +CdmDataSourceViewPart_9=Up diff --git a/eu.etaxonomy.taxeditor.store/build.properties b/eu.etaxonomy.taxeditor.store/build.properties index 925934e50..ba626c829 100644 --- a/eu.etaxonomy.taxeditor.store/build.properties +++ b/eu.etaxonomy.taxeditor.store/build.properties @@ -6,4 +6,6 @@ bin.includes = META-INF/,\ .,\ plugin.xml,\ icons/,\ - p2.inf + p2.inf,\ + OSGI-INF/ + diff --git a/eu.etaxonomy.taxeditor.store/plugin.xml b/eu.etaxonomy.taxeditor.store/plugin.xml index 8277d0a74..cb91bc2fc 100644 --- a/eu.etaxonomy.taxeditor.store/plugin.xml +++ b/eu.etaxonomy.taxeditor.store/plugin.xml @@ -6,37 +6,37 @@ + name="%page.name"> + name="%page.name.0"> + name="%page.name.1"> + name="%page.name.2"> + name="%page.name.3"> + name="%page.name.4"> + name="%wizard.name.2"> + name="%wizard.name.3"> + name="%wizard.name.4"> + name="%wizard.name.5"> + name="%category.name.0"> + name="%wizard.name.6"> + name="%category.name.1"> + name="%wizard.name.8"> + name="%wizard.name.9"> + name="%wizard.name.10"> + name="%wizard.name.11"> + name="%wizard.name.12"> + name="%wizard.name.13"> + name="%wizard.name.14"> + name="%wizard.name.15"> + name="%category.name.2"> + name="%wizard.name.16"> + name="%wizard.name.17"> + label="%themeElementCategory.label"> - Color and font definitions for the EDIT Taxonomic Editor + %themeElementCategory.description - Colors and fonts for the details view + %themeElementCategory.description.0 - Colors and fonts for the name editor + %themeElementCategory.description.1 - Colors and fonts for the search view + %themeElementCategory.description.2 - The font that is used for accepted taxa in the search result list. + %fontDefinition.description - The font that is used for synonyms in the search result list. + %fontDefinition.description.0 - The font used by default in the search result list. + %fontDefinition.description.1 diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/editor/definedterm/TermLabelProvider.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/editor/definedterm/TermLabelProvider.java index ea74041fd..2d223b436 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/editor/definedterm/TermLabelProvider.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/editor/definedterm/TermLabelProvider.java @@ -1,12 +1,12 @@ // $Id$ /** -* Copyright (C) 2009 EDIT -* European Distributed Institute of Taxonomy -* http://www.e-taxonomy.eu -* -* The contents of this file are subject to the Mozilla Public License Version 1.1 -* See LICENSE.TXT at the top of this package for the full license terms. -*/ + * Copyright (C) 2009 EDIT + * European Distributed Institute of Taxonomy + * http://www.e-taxonomy.eu + * + * The contents of this file are subject to the Mozilla Public License Version 1.1 + * See LICENSE.TXT at the top of this package for the full license terms. + */ package eu.etaxonomy.taxeditor.editor.definedterm; import org.apache.commons.lang.StringUtils; @@ -31,76 +31,81 @@ import eu.etaxonomy.cdm.model.common.TermVocabulary; */ public class TermLabelProvider extends StyledCellLabelProvider { - private static Color vocColor = Display.getCurrent().getSystemColor( - SWT.COLOR_BLUE); - private Styler vocStyler; - /* (non-Javadoc) - * @see org.eclipse.jface.viewers.DelegatingStyledCellLabelProvider.IStyledLabelProvider#getStyledText(java.lang.Object) - */ - - /* - * (non-Javadoc) - * - * @see - * org.eclipse.jface.viewers.StyledCellLabelProvider#update(org.eclipse. - * jface.viewers.ViewerCell) - */ - @Override - public void update(ViewerCell cell) { - Object element = cell.getElement(); - int columnIndex = cell.getColumnIndex(); - - String text = getText(element); - cell.setText(text); - - if (element instanceof TermVocabulary) { - StyledString styledString = new StyledString(text, getVocabularyStyler()); - StyleRange[] styleRanges; - styleRanges = styledString.getStyleRanges(); - cell.setStyleRanges(styleRanges); - } - super.update(cell); - } - - public StyledString getStyledText(Object element) { - - if(element instanceof TermVocabulary){ - new StyledString(getText(element), getVocabularyStyler()); - } - return new StyledString(getText(element), StyledString.QUALIFIER_STYLER); - } - - /* (non-Javadoc) - * @see org.eclipse.jface.viewers.LabelProvider#getText(java.lang.Object) - */ - - public String getText(Object element) { - - if(element instanceof DefinedTermBase){ - DefinedTermBase dtb = (DefinedTermBase)element; - if (StringUtils.isNotBlank(dtb.getIdInVocabulary())){ - return dtb.getIdInVocabulary() + " : " + dtb.getTitleCache(); - } else{ - return dtb.getTitleCache(); - } - } else if (element instanceof TermBase){ - return ((TermBase)element).getTitleCache(); - } - - //FIXME : must throw an exception here - return element.toString(); - } - - private Styler getVocabularyStyler() { - if (vocStyler == null) { - vocStyler = new Styler() { - @Override - public void applyStyles(TextStyle textStyle) { - textStyle.foreground = vocColor; - } - }; - } - return vocStyler; - } + private static Color vocColor = Display.getCurrent().getSystemColor(SWT.COLOR_BLUE); + private Styler vocStyler; + + public TermLabelProvider() { + } + + public TermLabelProvider(Styler vocStyler){ + this.vocStyler = vocStyler; + } + + /* + * (non-Javadoc) + * + * @see + * org.eclipse.jface.viewers.StyledCellLabelProvider#update(org.eclipse. + * jface.viewers.ViewerCell) + */ + @Override + public void update(ViewerCell cell) { + Object element = cell.getElement(); + int columnIndex = cell.getColumnIndex(); + + String text = getText(element); + cell.setText(text); + + if (element instanceof TermVocabulary) { + StyledString styledString = new StyledString(text, getVocabularyStyler()); + StyleRange[] styleRanges; + styleRanges = styledString.getStyleRanges(); + cell.setStyleRanges(styleRanges); + } + super.update(cell); + } + + public StyledString getStyledText(Object element) { + + if (element instanceof TermVocabulary) { + new StyledString(getText(element), getVocabularyStyler()); + } + return new StyledString(getText(element), StyledString.QUALIFIER_STYLER); + } + + /* + * (non-Javadoc) + * + * @see org.eclipse.jface.viewers.LabelProvider#getText(java.lang.Object) + */ + + public String getText(Object element) { + + if (element instanceof DefinedTermBase) { + DefinedTermBase dtb = (DefinedTermBase) element; + if (StringUtils.isNotBlank(dtb.getIdInVocabulary())) { + return dtb.getIdInVocabulary() + " : " + dtb.getTitleCache(); + } else { + return dtb.getTitleCache(); + } + } else if (element instanceof TermBase) { + return ((TermBase) element).getTitleCache(); + } + + // FIXME : must throw an exception here + return element.toString(); + } + + private Styler getVocabularyStyler() { + if (vocStyler == null) { + vocStyler = new Styler() { + @Override + public void applyStyles(TextStyle textStyle) { + textStyle.foreground = vocColor; + } + }; + } + return vocStyler; + } } diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/handler/OpenDistributionEditorWizardHandler.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/handler/OpenDistributionEditorWizardHandler.java new file mode 100644 index 000000000..930eead5b --- /dev/null +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/handler/OpenDistributionEditorWizardHandler.java @@ -0,0 +1,39 @@ +// $Id$ +/** +* Copyright (C) 2014 EDIT +* European Distributed Institute of Taxonomy +* http://www.e-taxonomy.eu +* +* The contents of this file are subject to the Mozilla Public License Version 1.1 +* See LICENSE.TXT at the top of this package for the full license terms. +*/ +package eu.etaxonomy.taxeditor.handler; + +import org.eclipse.core.commands.AbstractHandler; +import org.eclipse.core.commands.ExecutionEvent; +import org.eclipse.core.commands.ExecutionException; +import org.eclipse.jface.wizard.WizardDialog; + +import eu.etaxonomy.taxeditor.preference.wizard.AvailableDistributionWizard; +import eu.etaxonomy.taxeditor.store.StoreUtil; + +/** + * @author a.oppermann + * @date 21.07.2014 + * + */ +public class OpenDistributionEditorWizardHandler extends AbstractHandler{ + + String commandID = "eu.etaxonomy.taxeditor.store.open.OpenDistributionEditorWizardHandler"; + + @Override + public Object execute(ExecutionEvent event) throws ExecutionException { + AvailableDistributionWizard availableDistributionWizard = new AvailableDistributionWizard(); + WizardDialog dialog = new WizardDialog(StoreUtil.getShell(), + availableDistributionWizard); + + dialog.open(); + return null; + } + + } diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/ChecklistEditorGeneralPreference.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/ChecklistEditorGeneralPreference.java new file mode 100644 index 000000000..ca82b0e19 --- /dev/null +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/ChecklistEditorGeneralPreference.java @@ -0,0 +1,95 @@ +// $Id$ +/** + * Copyright (C) 2014 EDIT + * European Distributed Institute of Taxonomy + * http://www.e-taxonomy.eu + * + * The contents of this file are subject to the Mozilla Public License Version 1.1 + * See LICENSE.TXT at the top of this package for the full license terms. + */ +package eu.etaxonomy.taxeditor.preference; + +import org.eclipse.jface.preference.PreferencePage; +import org.eclipse.swt.SWT; +import org.eclipse.swt.custom.CLabel; +import org.eclipse.swt.events.SelectionAdapter; +import org.eclipse.swt.events.SelectionEvent; +import org.eclipse.swt.layout.GridLayout; +import org.eclipse.swt.widgets.Button; +import org.eclipse.swt.widgets.Composite; +import org.eclipse.swt.widgets.Control; +import org.eclipse.ui.IWorkbench; +import org.eclipse.ui.IWorkbenchPreferencePage; + +import eu.etaxonomy.taxeditor.ui.element.CommandHandlerButton; + +/** + * @author a.oppermann + * @date 21.07.2014 + * + */ +public class ChecklistEditorGeneralPreference extends PreferencePage implements IWorkbenchPreferencePage { + + boolean isEditorActivated; + Composite child ; + /* + * (non-Javadoc) + * + * @see + * org.eclipse.jface.preference.FieldEditorPreferencePage#createFieldEditors + * () + */ + @Override + protected Control createContents(Composite parent) { + + Composite composite = new Composite(parent, SWT.NULL); + composite.setLayout(new GridLayout()); + isEditorActivated = PreferencesUtil.getPreferenceStore().getBoolean(IPreferenceKeys.DISTRIBUTION_AREA_PREFRENCES_ACTIVE); + final Button activateCheckButton = new Button(composite, SWT.CHECK); + activateCheckButton.setText("Enable Checklist Editor"); + activateCheckButton.setSelection(isEditorActivated); + activateCheckButton.addSelectionListener(new SelectionAdapter(){ + @Override + public void widgetSelected(SelectionEvent e) { + isEditorActivated = activateCheckButton.getSelection(); + PreferencesUtil.getPreferenceStore().setValue(IPreferenceKeys.DISTRIBUTION_AREA_PREFRENCES_ACTIVE, isEditorActivated); + if(isEditorActivated){ + child.setVisible(true); + child.setEnabled(true); + }else{ + child.setVisible(false); + child.setEnabled(false); + } + + } + }); + + child = new Composite(composite, SWT.NULL); + child.setLayout(new GridLayout()); + child.setVisible(isEditorActivated); + final CLabel label = new CLabel(child, SWT.NULL); + label.setText("Please open the wizard below, in order to \n" + "choose the areas for the Checklist Editor"); + final CommandHandlerButton button_openFeatureTree = new CommandHandlerButton(child, SWT.PUSH, + "eu.etaxonomy.taxeditor.store.open.OpenDistributionEditorWizardHandler"); + + button_openFeatureTree.setText("Open Distribution Selection Wizard"); + if(isEditorActivated){ + child.setEnabled(true); + }else{ + child.setEnabled(false); + } + + return composite; + } + + /* + * (non-Javadoc) + * + * @see + * org.eclipse.ui.IWorkbenchPreferencePage#init(org.eclipse.ui.IWorkbench) + */ + @Override + public void init(IWorkbench workbench) { + } + +} diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/IPreferenceKeys.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/IPreferenceKeys.java index 27db8420b..1f7a15b6b 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/IPreferenceKeys.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/IPreferenceKeys.java @@ -118,4 +118,15 @@ public interface IPreferenceKeys { public static final String ADD_TYPES_TO_ALL_NAMES = "eu.etaxonomy.taxeditor.store.addTypeToAllNames"; public static final String DETERMINATION_ONLY_FOR_FIELD_UNITS = "eu.etaxonomy.taxeditor.specimen.determinationOnlyOnFieldUnitLevel"; + + + public static final String DISTRIBUTION_AREA_PREFRENCES_ACTIVE = "eu.etaxonomy.taxeditor.checklist.distributionAreaPreferencesActive"; + + public static final String DISTRIBUTION_AREA_OCCURENCE_STATUS = "eu.etaxonomy.taxeditor.checklist.distributionAreaStatus"; + + public static final String DISTRIBUTION_AREA_OCCURENCE_STATUS_GRAYED = "eu.etaxonomy.taxeditor.checklist.distributionAreaStatusGrayed"; + + // TODO RL + public static final String IS_RL = "eu.etaxonomy.taxeditor.isRL"; + } diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/PreferencePropertyTester.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/PreferencePropertyTester.java index aee9397c9..8a00f1ff7 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/PreferencePropertyTester.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/PreferencePropertyTester.java @@ -1,9 +1,9 @@ // $Id$ /** * Copyright (C) 2007 EDIT -* European Distributed Institute of Taxonomy +* European Distributed Institute of Taxonomy * http://www.e-taxonomy.eu -* +* * The contents of this file are subject to the Mozilla Public License Version 1.1 * See LICENSE.TXT at the top of this package for the full license terms. */ @@ -21,18 +21,23 @@ public class PreferencePropertyTester extends PropertyTester { private static final String SHOW_EXPERIMENTAL_FEATURES = "isShowExperimentalFeatures"; - + + private static final String SHOW_CHECKLIST_EDITOR = "isChecklistEditorEnabled"; + /* (non-Javadoc) * @see org.eclipse.core.expressions.IPropertyTester#test(java.lang.Object, java.lang.String, java.lang.Object[], java.lang.Object) */ @Override public boolean test(Object receiver, String property, Object[] args, Object expectedValue) { - + if(SHOW_EXPERIMENTAL_FEATURES.equals(property)){ return isShowExperimentalFeatures(); } - + if(SHOW_CHECKLIST_EDITOR.equals(property)){ + return isChecklistEditorEnabled(); + } + return false; } @@ -42,5 +47,8 @@ public class PreferencePropertyTester extends PropertyTester { private boolean isShowExperimentalFeatures() { return PreferencesUtil.getPreferenceStore().getBoolean(IPreferenceKeys.SHOW_EXPERIMENTAL_FEATURES); } - + + private boolean isChecklistEditorEnabled() { + return PreferencesUtil.getPreferenceStore().getBoolean(IPreferenceKeys.DISTRIBUTION_AREA_PREFRENCES_ACTIVE); + } } diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/SpecimenOrObservationPreferences.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/SpecimenOrObservationPreferences.java index ef581b5b0..f217610d4 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/SpecimenOrObservationPreferences.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/SpecimenOrObservationPreferences.java @@ -34,7 +34,6 @@ public class SpecimenOrObservationPreferences extends FieldEditorPreferencePage */ @Override protected void createFieldEditors() { - addField(new BooleanFieldEditor(IPreferenceKeys.DETERMINATION_ONLY_FOR_FIELD_UNITS, "Taxon determination only on FieldUnit level", getFieldEditorParent())); diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/TaxonomicEditorGeneralPreferences.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/TaxonomicEditorGeneralPreferences.java index d2a229be4..3ac5d7470 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/TaxonomicEditorGeneralPreferences.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/TaxonomicEditorGeneralPreferences.java @@ -57,6 +57,7 @@ public class TaxonomicEditorGeneralPreferences extends addField(new BooleanFieldEditor(IPreferenceKeys.SEARCH_OPEN_RESULTS_IN_SEPARATE_WINDOWS, "Open search results in separate windows", getFieldEditorParent())); + } /* diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/TemplatePreferencePage.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/TemplatePreferencePage.java new file mode 100644 index 000000000..f8255b86e --- /dev/null +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/TemplatePreferencePage.java @@ -0,0 +1,37 @@ +// $Id$ +/** +* Copyright (C) 2014 EDIT +* European Distributed Institute of Taxonomy +* http://www.e-taxonomy.eu +* +* The contents of this file are subject to the Mozilla Public License Version 1.1 +* See LICENSE.TXT at the top of this package for the full license terms. +*/ +package eu.etaxonomy.taxeditor.preference; + +import org.eclipse.jface.preference.BooleanFieldEditor; +import org.eclipse.jface.preference.FieldEditorPreferencePage; +import org.eclipse.ui.IWorkbench; +import org.eclipse.ui.IWorkbenchPreferencePage; + +/** + * @author a.oppermann + * @date 13.08.2014 + * + */ +public class TemplatePreferencePage extends FieldEditorPreferencePage implements IWorkbenchPreferencePage { + + @Override + public void init(IWorkbench workbench) { + setPreferenceStore(PreferencesUtil.getPreferenceStore()); + } + + /* (non-Javadoc) + * @see org.eclipse.jface.preference.FieldEditorPreferencePage#createFieldEditors() + */ + @Override + protected void createFieldEditors() { + addField(new BooleanFieldEditor(IPreferenceKeys.IS_RL, "Rote Liste 2020", getFieldEditorParent())); + } + +} diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/wizard/AvailableDistributionPage.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/wizard/AvailableDistributionPage.java new file mode 100644 index 000000000..cc3ec2fdc --- /dev/null +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/wizard/AvailableDistributionPage.java @@ -0,0 +1,248 @@ +// $Id$ +/** + * Copyright (C) 2014 EDIT + * European Distributed Institute of Taxonomy + * http://www.e-taxonomy.eu + * + * The contents of this file are subject to the Mozilla Public License Version 1.1 + * See LICENSE.TXT at the top of this package for the full license terms. + */ +package eu.etaxonomy.taxeditor.preference.wizard; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; +import java.util.Set; +import java.util.UUID; + +import org.eclipse.jface.preference.IPreferenceStore; +import org.eclipse.jface.viewers.CheckStateChangedEvent; +import org.eclipse.jface.viewers.CheckboxTreeViewer; +import org.eclipse.jface.viewers.ICheckStateListener; +import org.eclipse.jface.viewers.ITreeSelection; +import org.eclipse.jface.viewers.StyledString.Styler; +import org.eclipse.jface.viewers.TreePath; +import org.eclipse.jface.wizard.WizardPage; +import org.eclipse.swt.SWT; +import org.eclipse.swt.graphics.TextStyle; +import org.eclipse.swt.layout.GridData; +import org.eclipse.swt.layout.GridLayout; +import org.eclipse.swt.widgets.Composite; +import org.eclipse.swt.widgets.Display; + +import eu.etaxonomy.cdm.api.service.ITermService; +import eu.etaxonomy.cdm.api.service.IVocabularyService; +import eu.etaxonomy.cdm.model.common.DefinedTermBase; +import eu.etaxonomy.cdm.model.common.TermType; +import eu.etaxonomy.cdm.model.common.TermVocabulary; +import eu.etaxonomy.taxeditor.editor.definedterm.TermContentProvider; +import eu.etaxonomy.taxeditor.editor.definedterm.TermLabelProvider; +import eu.etaxonomy.taxeditor.preference.PreferencesUtil; +import eu.etaxonomy.taxeditor.store.CdmStore; + +/** + * @author a.oppermann + * @date 21.07.2014 + * + */ +public class AvailableDistributionPage extends WizardPage { + + private CheckboxTreeViewer viewer; + + private Set> vocabularies; + + /** + * @param pageName + */ + protected AvailableDistributionPage(String pageName) { + super(pageName); + // TODO check if configuration exists + } + + /* + * (non-Javadoc) + * + * @see + * org.eclipse.jface.dialogs.IDialogPage#createControl(org.eclipse.swt.widgets + * .Composite) + */ + /** {@inheritDoc} */ + @Override + public void createControl(Composite parent) { + IPreferenceStore preferenceStore = PreferencesUtil.getPreferenceStore(); + String checkedValues = preferenceStore.getString(PreferencesUtil.DISTRIBUTION_AREA_OCCURENCE_STATUS); + String grayedValues = preferenceStore.getString(PreferencesUtil.DISTRIBUTION_AREA_OCCURENCE_STATUS_GRAYED); + setTitle("Select areas for ChecklistEditor"); + setDescription("In order to be able to modify and see the distribution status of taxa,\n" + + "you have to select the areas which you like to see."); + Composite composite = new Composite(parent, SWT.NULL); + composite.setLayout(new GridLayout()); + viewer = new CheckboxTreeViewer(composite, SWT.NULL); + viewer.getTree().setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true)); + viewer.setContentProvider(new TermContentProvider()); + Styler styler = new Styler() { + @Override + public void applyStyles(TextStyle textStyle) { + textStyle.foreground = Display.getCurrent().getSystemColor(SWT.COLOR_BLACK); + } + }; + viewer.setLabelProvider(new TermLabelProvider(styler)); + viewer.addCheckStateListener(new ICheckStateListener() { + + private boolean ignoreCheckEvent = false; + + @Override + public void checkStateChanged(CheckStateChangedEvent event) { + + + if (ignoreCheckEvent ) { + return; + } + + ignoreCheckEvent = true; + + try { + TreePath path = ((ITreeSelection) viewer.getSelection()).getPaths()[0]; + checkChildren(path, event.getChecked()); + checkParents(path.getParentPath()); + } + finally { + ignoreCheckEvent = false; + } + checkNoneChecked(); + } + }); + // TODO: write listener or toggle button to select all named areas + + rememberCheckedValues(checkedValues, grayedValues); + setControl(composite); + } + + + protected List> initialiseVocabularies() { + if (vocabularies != null) { + vocabularies.clear(); + } + List> vocs = CdmStore.getService(IVocabularyService.class).findByTermType( + TermType.NamedArea); + return vocs; + } + + private void rememberCheckedValues(String checkedValues, String grayedValues) { + viewer.setInput(initialiseVocabularies()); + + if (grayedValues != null && grayedValues != "") { + String[] listGrayed = grayedValues.split(","); + ArrayList listGrayedTerms = new ArrayList(); + getTermsFromStringValues(listGrayed, listGrayedTerms); + for(Object element : listGrayedTerms){ + if(element != null){ + viewer.setGrayChecked(element, true); + } + } + } + if (checkedValues != null && checkedValues != "") { + String[] listChecked = checkedValues.split(","); + ArrayList> listCheckedTerms = new ArrayList>(); + getTermsFromStringValues(listChecked, listCheckedTerms); + for(Object element : listCheckedTerms){ + if(element != null){ + viewer.setChecked(element, true); + } + } + } + } + + /** + * @param split + * @param termlist + */ + private void getTermsFromStringValues(String[] split, ArrayList termlist) { + List listValue = Arrays.asList(split); + for (String s : listValue) { + UUID uuid = UUID.fromString(s); + ITermService termService = CdmStore.getService(ITermService.class); + DefinedTermBase definedTermBase = termService.load(uuid); + if(definedTermBase != null){ + termlist.add(definedTermBase); + }else{ + IVocabularyService vocabularyService = CdmStore.getService(IVocabularyService.class); + TermVocabulary termVocabulary = vocabularyService.load(uuid); + termlist.add(termVocabulary); + } + } + } + + private boolean checkNoneChecked() { + + if (viewer.getCheckedElements().length == 0) { + setMessage("Please check at least one item", WARNING); + return true; + } else { + setMessage(null); + return false; + } + } + + /** + * @return the viewer + */ + public CheckboxTreeViewer getViewer() { + return viewer; + } + + /** + * + * @param path + */ + private void checkParents(final TreePath path) { + if (path == null) { + return; + } + TermContentProvider tcp = new TermContentProvider(); + Object treeElement = path.getLastSegment(); + + if (treeElement != null) { + boolean allChecked = true; + boolean allUnchecked = true; + for (final Object fieldElement : tcp.getChildren(treeElement)) { + allChecked = allChecked && this.viewer.getChecked(fieldElement); + allUnchecked = allUnchecked && !this.viewer.getChecked(fieldElement); + } + if (allUnchecked) { + this.viewer.setChecked(treeElement, false); + this.viewer.setGrayed(treeElement, false); + } else if (allChecked) { + this.viewer.setChecked(treeElement, true); + this.viewer.setGrayed(treeElement, false); + } else if (!allUnchecked && !allChecked) { + this.viewer.setChecked(treeElement, true); + this.viewer.setGrayed(treeElement, true); + } + } + checkParents(path.getParentPath()); + } + + /** + * + * @param path + * @param checked + */ + private void checkChildren(final TreePath path, final boolean checked) { + TermContentProvider tcp = new TermContentProvider(); + + if (path == null) { + return; + } + final Object element = path.getLastSegment(); + if (element != null) { + this.viewer.setChecked(element, checked); + this.viewer.setGrayed(element, false); + int length = tcp.getChildren(element).length; + if(length>1){ + this.viewer.setSubtreeChecked(element, checked); + } + } + } + +} diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/wizard/AvailableDistributionWizard.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/wizard/AvailableDistributionWizard.java new file mode 100644 index 000000000..19408b39c --- /dev/null +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/wizard/AvailableDistributionWizard.java @@ -0,0 +1,130 @@ +// $Id$ +/** + * Copyright (C) 2014 EDIT + * European Distributed Institute of Taxonomy + * http://www.e-taxonomy.eu + * + * The contents of this file are subject to the Mozilla Public License Version 1.1 + * See LICENSE.TXT at the top of this package for the full license terms. + */ +package eu.etaxonomy.taxeditor.preference.wizard; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.UUID; + +import org.apache.commons.collections.CollectionUtils; +import org.apache.commons.lang.StringUtils; +import org.eclipse.jface.preference.IPreferenceStore; +import org.eclipse.jface.wizard.Wizard; + +import eu.etaxonomy.cdm.api.conversation.ConversationHolder; +import eu.etaxonomy.cdm.api.conversation.IConversationEnabled; +import eu.etaxonomy.cdm.model.common.DefinedTermBase; +import eu.etaxonomy.cdm.model.common.OrderedTermVocabulary; +import eu.etaxonomy.cdm.model.location.NamedArea; +import eu.etaxonomy.cdm.persistence.hibernate.CdmDataChangeMap; +import eu.etaxonomy.taxeditor.preference.PreferencesUtil; +import eu.etaxonomy.taxeditor.store.CdmStore; + +/** + * @author alex + * @date 21.07.2014 + * + */ +public class AvailableDistributionWizard extends Wizard implements IConversationEnabled { + + private ConversationHolder conversation; + private final AvailableDistributionPage aPage; + + public AvailableDistributionWizard() { + setWindowTitle("Distribution Selection Wizard"); + // TODO if preferenceStore has elements checked load elements in wizard + aPage = new AvailableDistributionPage("AvailableDistributionPage"); + } + + /* + * (non-Javadoc) + * + * @see org.eclipse.jface.wizard.Wizard#performFinish() + */ + @Override + public boolean performFinish() { + // TODO: get Selection and save in EditorPreferences + if (!checkNoneChecked()) { + Object[] checkedElements = aPage.getViewer().getCheckedElements(); + Object[] grayedElements = aPage.getViewer().getGrayedElements(); + ArrayList checkedList = new ArrayList(Arrays.asList(checkedElements)); + ArrayList grayedList = new ArrayList(Arrays.asList(grayedElements)); + checkedList = (ArrayList) CollectionUtils.subtract(checkedList, grayedList); + ArrayList listUIIDChecked = new ArrayList(); + ArrayList listUIIDGrayed = new ArrayList(); + for (Object o : checkedList) { + if (o instanceof NamedArea) { + NamedArea na = (NamedArea) o; + listUIIDChecked.add(na.getUuid()); + + }else if(o instanceof OrderedTermVocabulary){ + OrderedTermVocabulary otb = (OrderedTermVocabulary) o; + listUIIDGrayed.add(otb.getUuid()); + } + } + for (Object o : grayedList) { + if(o instanceof DefinedTermBase){ + DefinedTermBase dt = (DefinedTermBase) o; + listUIIDGrayed.add(dt.getUuid()); + }else if(o instanceof OrderedTermVocabulary){ + OrderedTermVocabulary otb = (OrderedTermVocabulary) o; + listUIIDGrayed.add(otb.getUuid()); + } + + } + + String saveCheckedElements = StringUtils.join(listUIIDChecked, ","); + String saveGrayedElements = StringUtils.join(listUIIDGrayed, ","); + IPreferenceStore preferenceStore = PreferencesUtil.getPreferenceStore(); + preferenceStore.setValue(PreferencesUtil.DISTRIBUTION_AREA_OCCURENCE_STATUS, saveCheckedElements); + preferenceStore.setValue(PreferencesUtil.DISTRIBUTION_AREA_OCCURENCE_STATUS_GRAYED, saveGrayedElements); + return true; + } else { + return false; + } + } + + @Override + public void addPages() { + addPage(aPage); + } + + private boolean checkNoneChecked() { + + if (aPage.getViewer().getCheckedElements().length == 0) { + aPage.setMessage("Please check at least one item", aPage.WARNING); + return true; + } else { + aPage.setMessage(null); + return false; + } + } + + @Override + public ConversationHolder getConversationHolder() { + if (conversation == null) { + conversation = CdmStore.createConversation(); + } + return conversation; + } + + /* + * (non-Javadoc) + * + * @see + * eu.etaxonomy.cdm.persistence.hibernate.ICdmPostDataChangeObserver#update + * (eu.etaxonomy.cdm.persistence.hibernate.CdmDataChangeMap) + */ + @Override + public void update(CdmDataChangeMap changeEvents) { + // TODO Auto-generated method stub + + } +} diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/combo/EnumComboElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/combo/EnumComboElement.java index f60a73691..363629cc2 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/combo/EnumComboElement.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/combo/EnumComboElement.java @@ -53,6 +53,12 @@ public class EnumComboElement> extends AbstractCdmFormElement implements SelectionListener, IEnableableFormElement, ISelectable { + //TODO RL + public void setVisible(boolean b){ + combo.setVisible(b); + } + + private static CdmEnumDataHolder[] cdmEnumDataHolders = { new CdmEnumDataHolder(){ diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/element/ToggleableTextElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/element/ToggleableTextElement.java index 0d1c7be8c..3581a3d1c 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/element/ToggleableTextElement.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/element/ToggleableTextElement.java @@ -41,12 +41,20 @@ public class ToggleableTextElement extends AbstractCdmFormElement implements Sel private final Text text_cache; private final Button button_toggle; - private boolean state; private final Set selectionListener = new HashSet(); private final Label label; private final Composite container; + //TODO for RL + public void setVisible(boolean b) { + text_cache.setVisible(b); + button_toggle.setVisible(b); + label.setVisible(b); + container.setVisible(b); + } + + /** *

Constructor for ToggleableTextElement.

* diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/name/AuthorshipDetailElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/name/AuthorshipDetailElement.java index 6fc520ea9..17d1f305b 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/name/AuthorshipDetailElement.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/name/AuthorshipDetailElement.java @@ -21,6 +21,8 @@ import eu.etaxonomy.taxeditor.ui.element.IEnableableFormElement; import eu.etaxonomy.taxeditor.ui.section.AbstractIdentifiableEntityDetailElement; import eu.etaxonomy.taxeditor.ui.selection.EntitySelectionElement; import eu.etaxonomy.taxeditor.ui.selection.NomenclaturalAuthorTeamSelectionElement; +import eu.etaxonomy.taxeditor.preference.IPreferenceKeys; +import eu.etaxonomy.taxeditor.preference.PreferencesUtil; /** *

@@ -66,6 +68,11 @@ public class AuthorshipDetailElement extends toggleable_cache = formFactory.createToggleableTextField(this, "Authorship Cache", entity.getAuthorshipCache(), entity.isProtectedAuthorshipCache(), style); + + //TODO RL + if(PreferencesUtil.getPreferenceStore().getBoolean(IPreferenceKeys.IS_RL)){ + toggleable_cache.setVisible(false); + } selection_combinationAuthorTeam = formFactory.createNomenclaturalAuthorTeamSelectionElement( getConversationHolder(), formElement, "Author", diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/name/NameDetailElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/name/NameDetailElement.java index 48c9cdee7..e5e085782 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/name/NameDetailElement.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/name/NameDetailElement.java @@ -22,6 +22,8 @@ import eu.etaxonomy.cdm.model.name.NonViralName; import eu.etaxonomy.cdm.model.name.Rank; import eu.etaxonomy.cdm.model.name.ZoologicalName; import eu.etaxonomy.cdm.strategy.parser.ParserProblem; +import eu.etaxonomy.taxeditor.preference.IPreferenceKeys; +import eu.etaxonomy.taxeditor.preference.PreferencesUtil; import eu.etaxonomy.taxeditor.ui.combo.TermComboElement; import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory; import eu.etaxonomy.taxeditor.ui.element.CheckboxElement; @@ -128,7 +130,11 @@ public class NameDetailElement extends AbstractIdentifiableEntityDetailElement containers = new ArrayList(); @@ -136,19 +136,19 @@ public class CdmDataSourceViewPart extends ViewPart{ for(final CdmMetaDataAwareDataSourceContainer container : containers){ - if(logger.isDebugEnabled()) logger.debug(" #" + container.hashCode() + " : next DataSourceContainer"); + if(logger.isDebugEnabled()) logger.debug(" #" + container.hashCode() + " : next DataSourceContainer"); //$NON-NLS-1$ //$NON-NLS-2$ container.getMetaDataFromDataSource(); - if(logger.isDebugEnabled()) logger.debug(" #" + container.hashCode() + " : metadata retrieved, creating new runnable ..."); + if(logger.isDebugEnabled()) logger.debug(" #" + container.hashCode() + " : metadata retrieved, creating new runnable ..."); //$NON-NLS-1$ //$NON-NLS-2$ Display.getDefault().asyncExec(new Runnable() { @Override public void run() { - if(logger.isDebugEnabled()) logger.debug(" #" + container.hashCode() + " starting sub thread to update ..."); + if(logger.isDebugEnabled()) logger.debug(" #" + container.hashCode() + " starting sub thread to update ..."); //$NON-NLS-1$ //$NON-NLS-2$ viewer.update(container, null); - if(logger.isDebugEnabled()) logger.debug(" #" + container.hashCode() + " end of sub thread to update ..."); + if(logger.isDebugEnabled()) logger.debug(" #" + container.hashCode() + " end of sub thread to update ..."); //$NON-NLS-1$ //$NON-NLS-2$ } }); - if(logger.isDebugEnabled()) logger.debug(" #" + container.hashCode() + " done"); + if(logger.isDebugEnabled()) logger.debug(" #" + container.hashCode() + " done"); //$NON-NLS-1$ //$NON-NLS-2$ monitor.worked(1); } @@ -160,7 +160,7 @@ public class CdmDataSourceViewPart extends ViewPart{ } /** Constant ID="eu.etaxonomy.taxeditor.store.datasource"{trunked} */ - public static String ID = "eu.etaxonomy.taxeditor.view.datasource"; + public static String ID = "eu.etaxonomy.taxeditor.view.datasource"; //$NON-NLS-1$ private TableViewer viewer; @@ -222,7 +222,7 @@ public class CdmDataSourceViewPart extends ViewPart{ Object element = ((StructuredSelection) event .getSelection()).getFirstElement(); if (element instanceof CdmMetaDataAwareDataSourceContainer) { - String commandId = "eu.etaxonomy.taxeditor.store.datasource.change"; + String commandId = "eu.etaxonomy.taxeditor.store.datasource.change"; //$NON-NLS-1$ ICommandService commandService = (ICommandService)getSite().getService(ICommandService.class); @@ -255,7 +255,7 @@ public class CdmDataSourceViewPart extends ViewPart{ // This will create the columns for the table private void createColumns(TableViewer viewer) { Table table = viewer.getTable(); - String[] titles = {"Connected", "Name", "Server", "Up", "Type", "Database", "Nomenclatural Code", "Created", "CDM Version", "Compatible", "Notes"}; + String[] titles = {Messages.CdmDataSourceViewPart_12, Messages.CdmDataSourceViewPart_11, Messages.CdmDataSourceViewPart_10, Messages.CdmDataSourceViewPart_9, Messages.CdmDataSourceViewPart_8, Messages.CdmDataSourceViewPart_7, Messages.CdmDataSourceViewPart_6, Messages.CdmDataSourceViewPart_5, Messages.CdmDataSourceViewPart_4, Messages.CdmDataSourceViewPart_3, Messages.CdmDataSourceViewPart_2}; int[] bounds = { 24, 200, 100, 50 , 80, 120, 50, 100, 100, 50, 300}; for (int i = 0; i < titles.length; i++) { @@ -279,7 +279,7 @@ public class CdmDataSourceViewPart extends ViewPart{ *

refresh

*/ public void refresh(){ - getService().schedule(new DataSourceJob("Loading datasources", CdmDataSourceRepository.getAll()), Job.LONG); + getService().schedule(new DataSourceJob(Messages.CdmDataSourceViewPart_1, CdmDataSourceRepository.getAll()), Job.LONG); } /** {@inheritDoc} */ @@ -306,7 +306,7 @@ public class CdmDataSourceViewPart extends ViewPart{ // viewer.getTable().setEnabled(!busy); if(busy){ partNameCache = getPartName(); - setPartName("Loading datasources"); + setPartName(Messages.CdmDataSourceViewPart_1); }else{ if(partNameCache != null){ setPartName(partNameCache); diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/datasource/Messages.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/datasource/Messages.java new file mode 100644 index 000000000..ac1f5ae50 --- /dev/null +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/datasource/Messages.java @@ -0,0 +1,40 @@ +// $Id$ +/** + * Copyright (C) 2014 EDIT + * European Distributed Institute of Taxonomy + * http://www.e-taxonomy.eu + * + * The contents of this file are subject to the Mozilla Public License Version 1.1 + * See LICENSE.TXT at the top of this package for the full license terms. + */ +package eu.etaxonomy.taxeditor.view.datasource; + +import org.eclipse.osgi.util.NLS; + +/** + * @author d.schild + * @date 18.06.2014 + * + */ +public class Messages extends NLS { + private static final String BUNDLE_NAME = "OSGI-INF/l10n/messages"; //$NON-NLS-1$ + public static String CdmDataSourceViewPart_1; + public static String CdmDataSourceViewPart_10; + public static String CdmDataSourceViewPart_11; + public static String CdmDataSourceViewPart_12; + public static String CdmDataSourceViewPart_2; + public static String CdmDataSourceViewPart_3; + public static String CdmDataSourceViewPart_4; + public static String CdmDataSourceViewPart_5; + public static String CdmDataSourceViewPart_6; + public static String CdmDataSourceViewPart_7; + public static String CdmDataSourceViewPart_8; + public static String CdmDataSourceViewPart_9; + static { + // initialize resource bundle + NLS.initializeMessages(BUNDLE_NAME, Messages.class); + } + + private Messages() { + } +} diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/detail/DetailsViewer.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/detail/DetailsViewer.java index 3d746ac2c..b2132c23f 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/detail/DetailsViewer.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/detail/DetailsViewer.java @@ -403,45 +403,46 @@ public class DetailsViewer extends AbstractCdmDataViewer { private void createTaxonSections(RootElement parent) { destroySections(); - TaxonBaseDetailSection taxonBaseDetailSection = formFactory.createTaxonBaseDetailSection(getConversationHolder(), parent, this, ExpandableComposite.TWISTIE); - + TaxonBaseDetailSection taxonBaseDetailSection = formFactory.createTaxonBaseDetailSection(getConversationHolder(), parent, this, + ExpandableComposite.TWISTIE | ExpandableComposite.EXPANDED); formFactory.createHorizontalSeparator(parent, SWT.BORDER); - NonViralNameDetailSection nonViralNameSection = formFactory.createNonViralNameDetailSection(getConversationHolder(), parent, this, ExpandableComposite.TWISTIE - | ExpandableComposite.EXPANDED); - + NonViralNameDetailSection nonViralNameSection = formFactory.createNonViralNameDetailSection(getConversationHolder(), parent, this, + ExpandableComposite.TWISTIE | ExpandableComposite.EXPANDED); formFactory.createHorizontalSeparator(parent, SWT.BORDER); - NomenclaturalReferenceDetailSection referenceDetailSection = formFactory.createNomenclaturalReferenceDetailSection(getConversationHolder(), parent, this, ExpandableComposite.TWISTIE); - + NomenclaturalReferenceDetailSection referenceDetailSection = formFactory.createNomenclaturalReferenceDetailSection(getConversationHolder(), parent, this, + ExpandableComposite.TWISTIE | ExpandableComposite.EXPANDED); formFactory.createHorizontalSeparator(parent, SWT.BORDER); - NomenclaturalStatusSection nomenclaturalStatusSection = formFactory.createNomenclaturalStatusSection(getConversationHolder(), parent,ExpandableComposite.TWISTIE); - + NomenclaturalStatusSection nomenclaturalStatusSection = formFactory.createNomenclaturalStatusSection(getConversationHolder(), parent, + ExpandableComposite.TWISTIE | ExpandableComposite.EXPANDED); formFactory.createHorizontalSeparator(parent, SWT.BORDER); - ProtologueSection protologSection = formFactory.createProtologueSection(getConversationHolder(), parent, ExpandableComposite.TWISTIE); + //TODO RL + if(!PreferencesUtil.getPreferenceStore().getBoolean(IPreferenceKeys.IS_RL)){ + ProtologueSection protologSection = formFactory.createProtologueSection(getConversationHolder(), parent, ExpandableComposite.TWISTIE); + formFactory.createHorizontalSeparator(parent, SWT.BORDER); - formFactory.createHorizontalSeparator(parent, SWT.BORDER); - - TypeDesignationSection typeDesignationSection = formFactory.createTypeDesignationSection(getConversationHolder(), parent, ExpandableComposite.TWISTIE); + TypeDesignationSection typeDesignationSection = formFactory.createTypeDesignationSection(getConversationHolder(), parent, ExpandableComposite.TWISTIE); + formFactory.createHorizontalSeparator(parent, SWT.BORDER); - formFactory.createHorizontalSeparator(parent, SWT.BORDER); + NameRelationshipDetailSection nameRelationshipSection = formFactory.createNameRelationshipDetailSection(getConversationHolder(), parent, ExpandableComposite.TWISTIE); + formFactory.createHorizontalSeparator(parent, SWT.BORDER); - NameRelationshipDetailSection nameRelationshipSection = formFactory.createNameRelationshipDetailSection(getConversationHolder(), parent, ExpandableComposite.TWISTIE); - - formFactory.createHorizontalSeparator(parent, SWT.BORDER); + addPart(protologSection); + addPart(typeDesignationSection); + addPart(nameRelationshipSection); + } - ParsingMessagesSection parsingMessagesSection = formFactory.createParsingMessagesSection(getConversationHolder(), parent, this, ExpandableComposite.EXPANDED); + ParsingMessagesSection parsingMessagesSection = formFactory.createParsingMessagesSection(getConversationHolder(), parent, this, + ExpandableComposite.EXPANDED | ExpandableComposite.EXPANDED); addPart(taxonBaseDetailSection); addPart(nonViralNameSection); addPart(nomenclaturalStatusSection); - addPart(protologSection); - addPart(referenceDetailSection); - addPart(typeDesignationSection); - addPart(nameRelationshipSection); addPart(parsingMessagesSection); + addPart(referenceDetailSection); } /** @@ -451,36 +452,35 @@ public class DetailsViewer extends AbstractCdmDataViewer { */ private void createNameSections(RootElement parent) { destroySections(); - NonViralNameDetailSection nonViralNameSection = formFactory.createNonViralNameDetailSection(getConversationHolder(), parent, this, ExpandableComposite.TWISTIE | ExpandableComposite.EXPANDED); - + NonViralNameDetailSection nonViralNameSection = formFactory.createNonViralNameDetailSection(getConversationHolder(), parent, this, + ExpandableComposite.TWISTIE | ExpandableComposite.EXPANDED); formFactory.createHorizontalSeparator(parent, SWT.BORDER); - NomenclaturalReferenceDetailSection referenceDetailSection = formFactory.createNomenclaturalReferenceDetailSection(getConversationHolder(), parent, this, ExpandableComposite.TWISTIE); - - formFactory.createHorizontalSeparator(parent, SWT.BORDER); - - NomenclaturalStatusSection nomenclaturalStatusSection = formFactory.createNomenclaturalStatusSection(getConversationHolder(), parent, ExpandableComposite.TWISTIE); - - formFactory.createHorizontalSeparator(parent, SWT.BORDER); - - ProtologueSection protologSection = formFactory.createProtologueSection(getConversationHolder(), parent, ExpandableComposite.TWISTIE); - - formFactory.createHorizontalSeparator(parent, SWT.BORDER); - - TypeDesignationSection typeDesignationSection = formFactory.createTypeDesignationSection(getConversationHolder(), parent, ExpandableComposite.TWISTIE); - + NomenclaturalReferenceDetailSection referenceDetailSection = formFactory.createNomenclaturalReferenceDetailSection(getConversationHolder(), parent, this, + ExpandableComposite.TWISTIE | ExpandableComposite.EXPANDED); formFactory.createHorizontalSeparator(parent, SWT.BORDER); - NameRelationshipDetailSection nameRelationshipSection = formFactory.createNameRelationshipDetailSection(getConversationHolder(), parent, ExpandableComposite.TWISTIE); - + NomenclaturalStatusSection nomenclaturalStatusSection = formFactory.createNomenclaturalStatusSection(getConversationHolder(), parent, + ExpandableComposite.TWISTIE | ExpandableComposite.EXPANDED); formFactory.createHorizontalSeparator(parent, SWT.BORDER); addPart(nonViralNameSection); addPart(nomenclaturalStatusSection); - addPart(protologSection); addPart(referenceDetailSection); - addPart(typeDesignationSection); - addPart(nameRelationshipSection); +//TODO RL + if(!PreferencesUtil.getPreferenceStore().getBoolean(IPreferenceKeys.IS_RL)){ + ProtologueSection protologSection = formFactory.createProtologueSection(getConversationHolder(), parent, ExpandableComposite.TWISTIE); + formFactory.createHorizontalSeparator(parent, SWT.BORDER); + + TypeDesignationSection typeDesignationSection = formFactory.createTypeDesignationSection(getConversationHolder(), parent, ExpandableComposite.TWISTIE); + formFactory.createHorizontalSeparator(parent, SWT.BORDER); + + NameRelationshipDetailSection nameRelationshipSection = formFactory.createNameRelationshipDetailSection(getConversationHolder(), parent, ExpandableComposite.TWISTIE); + formFactory.createHorizontalSeparator(parent, SWT.BORDER); + addPart(protologSection); + addPart(typeDesignationSection); + addPart(nameRelationshipSection); + } } /** @@ -491,7 +491,8 @@ public class DetailsViewer extends AbstractCdmDataViewer { private void createReferenceSections(RootElement parent) { destroySections(); - ReferenceDetailSection referenceDetailSection = formFactory.createReferenceDetailSection(getConversationHolder(), parent, this, ExpandableComposite.TWISTIE | ExpandableComposite.EXPANDED); + ReferenceDetailSection referenceDetailSection = formFactory.createReferenceDetailSection(getConversationHolder(), parent, this, + ExpandableComposite.TWISTIE | ExpandableComposite.EXPANDED); addPart(referenceDetailSection); } -- 2.34.1