id="eu.etaxonomy.taxeditor.preference.taxonSearchPreferences"
name="%page.name.57">
</page>
+ <page
+ category="eu.etaxonomy.taxeditor.preference.defaultlanguagepditorpreferencePage"
+ class="eu.etaxonomy.taxeditor.preference.menu.CommonNameLanguagePreferences"
+ id="eu.etaxonomy.taxeditor.preferences.commonnamelanguages"
+ name="Common Name Languages">
+ </page>
</extension>
Composite child ;
protected boolean isAllowOverride;
- protected Button activateCheckButton;
- protected Button allowOverrideActivatedButton;
+ protected Combo activateCombo;
+ // protected Button allowOverrideActivatedButton;
protected Button activateRankButton;
protected Button allowOverrideRankButton;
if(!isAdminPreference && !isEditorActivated && !isAllowOverride){
Label label = new Label(composite, SWT.NONE);
label.setText("The CDM settings don't allow to set the preferences for using the distribution editor locally. If you need to make local settings, please ask an administrator.");
-
+ this.setDefaultButtonActivated(false);
}else{
Composite activateComp = createComposite(composite);
Label separator= new Label(activateComp, SWT.HORIZONTAL | SWT.SEPARATOR);
GridData sepGrid = createTextGridData();
separator.setLayoutData(sepGrid);
separator.setVisible(false);
- activateCheckButton = new Button(activateComp, SWT.CHECK);
- activateCheckButton.setText(Messages.ChecklistEditorGeneralPreference_enable);
- activateCheckButton.setSelection(isEditorActivated);
- activateCheckButton.addSelectionListener(new SelectionAdapter(){
- @Override
- public void widgetSelected(SelectionEvent e) {
- setApply(true);
- isEditorActivated = activateCheckButton.getSelection();
- if(!isAdminPreference){
- overrideActivated = true;
- child.setEnabled(isEditorActivated);
- PreferencesUtil.recursiveSetEnabled(child, isEditorActivated);
- }
-
-
-
-
+ activateCombo = new Combo(activateComp, SWT.BORDER| SWT.READ_ONLY);
+ CdmPreference dbPref = PreferencesUtil.getPreferenceFromDB(PreferencePredicate.DistributionEditorActivated);
+ if (dbPref != null){
+ if (Boolean.valueOf(dbPref.getValue())){
+ activateCombo.add("Enable (default)");
+ activateCombo.add("Disable");
+ }else{
+ activateCombo.add("Enable");
+ activateCombo.add("Disable (default)");
}
- });
- allowOverrideActivatedButton = createAllowOverrideButton(activateComp);
- if (isAdminPreference){
- allowOverrideActivatedButton.setSelection(allowOverrideActivated);
- allowOverrideActivatedButton.addSelectionListener(new SelectionAdapter(){
- @Override
- public void widgetSelected(SelectionEvent e) {
- setApply(true);
- allowOverrideActivated = allowOverrideActivatedButton.getSelection();
- }
- });
}else{
- allowOverrideActivatedButton.setSelection(overrideActivated);
- allowOverrideActivatedButton.addSelectionListener(new SelectionAdapter(){
- @Override
- public void widgetSelected(SelectionEvent e) {
- setApply(true);
- overrideActivated = allowOverrideActivatedButton.getSelection();
- }
- });
+ boolean defaultValue = (Boolean)PreferencePredicate.DistributionEditorActivated.getDefaultValue();
+ if (defaultValue){
+ activateCombo.add("Enable (default)");
+ activateCombo.add("Disable");
+ }else{
+ activateCombo.add("Enable");
+ activateCombo.add("Disable (default)");
+ }
+ }
+
+ if (isEditorActivated){
+ activateCombo.select(0);
+ }else{
+ activateCombo.select(1);
}
+ activateCombo.addSelectionListener(this);
+// allowOverrideActivatedButton = createAllowOverrideButton(activateComp);
+// if (isAdminPreference){
+// allowOverrideActivatedButton.setSelection(allowOverrideActivated);
+// allowOverrideActivatedButton.addSelectionListener(new SelectionAdapter(){
+// @Override
+// public void widgetSelected(SelectionEvent e) {
+// setApply(true);
+// allowOverrideActivated = allowOverrideActivatedButton.getSelection();
+// }
+// });
+// }else{
+// allowOverrideActivatedButton.setSelection(overrideActivated);
+// allowOverrideActivatedButton.addSelectionListener(new SelectionAdapter(){
+// @Override
+// public void widgetSelected(SelectionEvent e) {
+// setApply(true);
+// overrideActivated = allowOverrideActivatedButton.getSelection();
+// }
+// });
+// }
+
+
child = createComposite(composite);
if(!isAdminPreference){
@Override
protected void performDefaults() {
isEditorActivated = (Boolean)PreferencePredicate.DistributionEditorActivated.getDefaultValue();
- activateCheckButton.setSelection(isEditorActivated);
+ if (isEditorActivated){
+ activateCombo.select(0);
+ }else{
+ activateCombo.select(1);
+ }
displayArea = ((TermDisplayEnum)PreferencePredicate.DisplayOfAreasInDistributionEditor.getDefaultValue()).getKey();
TermDisplayEnum areaDisplay;
ownDescriptionForDistributionEditor = Boolean.valueOf(PreferencePredicate.OwnDescriptionForDistributionEditor.getDefaultValue().toString());
allowOverrideActivated = true;
- allowOverrideActivatedButton.setSelection(allowOverrideActivated);
+ // allowOverrideActivatedButton.setSelection(allowOverrideActivated);
overrideActivated = true;
allowOverrideAreaDisplay = true;
overrideAreaDisplay = true;
}else{
final CLabel description = new CLabel(parent, SWT.NULL);
description.setText(Messages.NameDetailsViewConfiguration_description_not_available);
+ this.setDefaultButtonActivated(false);
}
import eu.etaxonomy.cdm.hibernate.HibernateProxyHelper;
import eu.etaxonomy.cdm.io.specimen.abcd206.in.Abcd206ImportConfigurator;
import eu.etaxonomy.cdm.model.common.ICdmBase;
-import eu.etaxonomy.cdm.model.term.IDefinedTerm;
-import eu.etaxonomy.cdm.model.term.ISimpleTerm;
import eu.etaxonomy.cdm.model.common.Language;
import eu.etaxonomy.cdm.model.common.MarkerType;
-import eu.etaxonomy.cdm.model.term.TermBase;
-import eu.etaxonomy.cdm.model.term.FeatureTree;
import eu.etaxonomy.cdm.model.metadata.CdmPreference;
import eu.etaxonomy.cdm.model.metadata.CdmPreference.PrefKey;
import eu.etaxonomy.cdm.model.metadata.IPreferencePredicate;
import eu.etaxonomy.cdm.model.metadata.PreferenceSubject;
import eu.etaxonomy.cdm.model.metadata.TermDisplayEnum;
import eu.etaxonomy.cdm.model.name.NomenclaturalCode;
+import eu.etaxonomy.cdm.model.term.FeatureTree;
+import eu.etaxonomy.cdm.model.term.IDefinedTerm;
+import eu.etaxonomy.cdm.model.term.ISimpleTerm;
+import eu.etaxonomy.cdm.model.term.TermBase;
import eu.etaxonomy.cdm.strategy.match.DefaultMatchStrategy;
import eu.etaxonomy.cdm.strategy.match.FieldMatcher;
import eu.etaxonomy.cdm.strategy.match.IMatchStrategy;
}
-
-
/**
* @param saveCheckedElements
* @param saveCheckedElements2
}
}
+}
-
-
+public static List<UUID> createUUIDListFromStringPref(String prefKey) {
+ String prefValue = PreferencesUtil.getStringValue(prefKey);
+ String[] stringArray = prefValue.split(";");
+ List<UUID> uuidList = new ArrayList();
+ for (String uuid: stringArray){
+ uuidList.add(UUID.fromString(uuid));
+ }
+ return uuidList;
}
public static boolean getFilterCommonNameReferences(){
return super.performOk();
}
- private boolean checkNoneChecked(){
+ protected boolean checkNoneChecked(){
if(tableViewer!=null && tableViewer.getCheckedElements().length == 0){
setMessage("Please check at least one item", WARNING);
public abstract class CdmPreferencePage extends PreferencePage implements IE4PreferencePage {
private boolean isApply = false;
+ private boolean isDefaultButtonActivated = true;
protected boolean isAdminPreference;
if (getApplyButton() != null){
this.getApplyButton().setEnabled(false);
}
+ if (getDefaultsButton() != null){
+ this.getDefaultsButton().setEnabled(isDefaultButtonActivated);
+ }
}
}
}
+ public boolean isDefaultButtonActivated() {
+ return isDefaultButtonActivated;
+ }
+
+ public void setDefaultButtonActivated(boolean isDefaultButtonActivated) {
+ this.isDefaultButtonActivated = isDefaultButtonActivated;
+ }
+
--- /dev/null
+/**
+* Copyright (C) 2007 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.menu;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.UUID;
+
+import org.apache.commons.lang.StringUtils;
+import org.eclipse.jface.viewers.ITableLabelProvider;
+import org.eclipse.jface.viewers.LabelProvider;
+import org.eclipse.jface.viewers.ViewerComparator;
+import org.eclipse.swt.graphics.Image;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
+
+import eu.etaxonomy.cdm.model.common.Language;
+import eu.etaxonomy.cdm.model.metadata.PreferencePredicate;
+import eu.etaxonomy.cdm.model.term.TermType;
+import eu.etaxonomy.taxeditor.l10n.Messages;
+import eu.etaxonomy.taxeditor.preference.PreferencesUtil;
+import eu.etaxonomy.taxeditor.store.CdmStore;
+
+/**
+ * <p>LanguageMenuPreferences class.</p>
+ *
+ * @author p.ciardelli
+ * @created 24.08.2009
+ * @version 1.0
+ */
+public class CommonNameLanguagePreferences extends AbstractMenuPreferences<Language> {
+
+ /** Constant <code>ID="eu.etaxonomy.taxeditor.preferences.lang"{trunked}</code> */
+ public final static String ID = "eu.etaxonomy.taxeditor.preferences.languages"; //$NON-NLS-1$
+
+ /**
+ * <p>Constructor for LanguageMenuPreferences.</p>
+ */
+ public CommonNameLanguagePreferences() {
+ super("Language Preferences", //$NON-NLS-1$
+ Messages.LanguageMenuPreferences_configure,
+ false);
+ }
+
+ /* (non-Javadoc)
+ * @see eu.etaxonomy.taxeditor.preference.AbstractMenuPreferences#createContents(org.eclipse.swt.widgets.Composite)
+ */
+ /** {@inheritDoc} */
+ @Override
+ public Control createContents(Composite parent) {
+ Control control = super.createContents(parent);
+
+ tableViewer.setLabelProvider(new LanguagePreferenceLabelProvider());
+ tableViewer.setComparator(new ViewerComparator());
+
+ return control;
+ }
+
+ class LanguagePreferenceLabelProvider extends LabelProvider implements ITableLabelProvider{
+
+ /* (non-Javadoc)
+ * @see org.eclipse.jface.viewers.ITableLabelProvider#getColumnImage(java.lang.Object, int)
+ */
+ @Override
+ public Image getColumnImage(Object element, int columnIndex) {
+ return null;
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.jface.viewers.ITableLabelProvider#getColumnText(java.lang.Object, int)
+ */
+ @Override
+ public String getColumnText(Object element, int columnIndex) {
+ String description = ((Language)element).getDescription();
+ if (description == null) {
+ description = ((Language)element).getLabel() + Messages.LanguageMenuPreferences_warning;
+ }
+ return description;
+ }
+
+ }
+
+ /* (non-Javadoc)
+ * @see eu.etaxonomy.taxeditor.preference.menu.AbstractMenuPreferences#getTermClass()
+ */
+ /** {@inheritDoc} */
+ @Override
+ protected TermType getTermType() {
+ return TermType.Language;
+ }
+
+
+ @Override
+ protected void refresh(List<Language> definedTerms) {
+ tableViewer.setInput(definedTerms);
+ String prefValue = PreferencesUtil.getStringValue(PreferencePredicate.CommonNameLanguages.getKey());
+ String[] prefArray = prefValue.split(";");
+ List<UUID> uuids = new ArrayList();
+ for (String uuid: prefArray){
+ uuids.add(UUID.fromString(uuid));
+ }
+ List<Language> preferedTerms = CdmStore.getTermManager().getTerms(uuids, Language.class);
+
+ tableViewer.setCheckedElements(preferedTerms.toArray());
+ }
+
+
+
+ @Override
+ public boolean performOk() {
+ if(!CdmStore.isActive()) {
+ return true;
+ }
+
+ if(super.checkNoneChecked()){
+ return false;
+ }
+
+ getConversationHolder().commit(true);
+
+ if(tableViewer!=null){
+ List<UUID> preferredTermUuids = new ArrayList<UUID>();
+ for (Object element : tableViewer.getCheckedElements()){
+ preferredTermUuids.add(((Language)element).getUuid());
+ }
+
+ String preferredLanguagesString = StringUtils.join(preferredTermUuids, ";");
+ PreferencesUtil.setStringValue(PreferencePredicate.CommonNameLanguages.getKey(), preferredLanguagesString);
+
+
+ PreferencesUtil.firePreferencesChanged(this.getClass());
+ }
+
+ return super.performOk();
+ }
+}
public TermComboElement(CdmFormFactory formFactory,
ICdmFormElement parentElement, TermType termType, String labelString, T selection, boolean addEmptyElement,
int style, boolean useAbbrevLabel, Comparator<T> comparator) {
- this(formFactory, parentElement, null, termType, null, labelString, selection, addEmptyElement, style, useAbbrevLabel, comparator);
+ this(formFactory, parentElement, null, termType, null, null, labelString, selection, addEmptyElement, style, useAbbrevLabel, comparator);
}
public TermComboElement(CdmFormFactory formFactory,
ICdmFormElement parentElement, TermVocabulary<?> termVocabulary, String labelString, T selection, boolean addEmptyElement,
int style, boolean useAbbrevLabel, Comparator<T> comparator) {
- this(formFactory, parentElement, null, null, termVocabulary, labelString, selection, addEmptyElement, style, useAbbrevLabel, comparator);
+ this(formFactory, parentElement, null, null, termVocabulary, null,labelString, selection, addEmptyElement, style, useAbbrevLabel, comparator);
}
public TermComboElement(CdmFormFactory formFactory,
ICdmFormElement parentElement, Class<T> termClass, String labelString, T selection, boolean addEmptyElement,
int style) {
- this(formFactory, parentElement, termClass, null, null, labelString, selection, addEmptyElement, style, false, null);
+ this(formFactory, parentElement, termClass, null, null, null, labelString, selection, addEmptyElement, style, false, null);
}
public TermComboElement(CdmFormFactory formFactory,
ICdmFormElement parentElement, Class<T> termClass, String labelString, T selection, boolean addEmptyElement,
int style, boolean useAbbrevLabel) {
- this(formFactory, parentElement, termClass, null, null, labelString, selection, addEmptyElement, style, useAbbrevLabel, null);
+ this(formFactory, parentElement, termClass, null, null, null,labelString, selection, addEmptyElement, style, useAbbrevLabel, null);
+
+ }
+
+ public TermComboElement(CdmFormFactory formFactory,
+ ICdmFormElement parentElement, List<T> terms, String labelString, T selection, boolean addEmptyElement,
+ int style, boolean useAbbrevLabel) {
+ this(formFactory, parentElement, null, null, null, terms,labelString, selection, addEmptyElement, style, useAbbrevLabel, null);
}
private TermComboElement(CdmFormFactory formFactory,
- ICdmFormElement parentElement, Class<T> termClass, TermType termType, TermVocabulary<?> termVocabulary, String labelString, T selection, boolean addEmptyElement,
+ ICdmFormElement parentElement, Class<T> termClass, TermType termType, TermVocabulary<?> termVocabulary, List<T> terms,String labelString, T selection, boolean addEmptyElement,
int style, boolean useAbbrevLabel, Comparator<T> comparator) {
super(formFactory, parentElement);
}
else if(this.termClass!=null){
populateTerms(getPreferredTerms());
+ }else if (terms != null){
+ populateTerms(terms);
}
combo.addSelectionListener(this);
import eu.etaxonomy.cdm.model.common.Annotation;
import eu.etaxonomy.cdm.model.common.CdmBase;
import eu.etaxonomy.cdm.model.common.Credit;
-import eu.etaxonomy.cdm.model.term.DefinedTerm;
-import eu.etaxonomy.cdm.model.term.DefinedTermBase;
import eu.etaxonomy.cdm.model.common.Extension;
import eu.etaxonomy.cdm.model.common.GrantedAuthorityImpl;
import eu.etaxonomy.cdm.model.common.Group;
import eu.etaxonomy.cdm.model.common.ICdmBase;
-import eu.etaxonomy.cdm.model.term.IEnumTerm;
import eu.etaxonomy.cdm.model.common.IdentifiableSource;
import eu.etaxonomy.cdm.model.common.Identifier;
import eu.etaxonomy.cdm.model.common.LSID;
import eu.etaxonomy.cdm.model.common.Language;
import eu.etaxonomy.cdm.model.common.LanguageString;
import eu.etaxonomy.cdm.model.common.Marker;
-import eu.etaxonomy.cdm.model.term.Representation;
-import eu.etaxonomy.cdm.model.term.TermBase;
-import eu.etaxonomy.cdm.model.term.TermType;
-import eu.etaxonomy.cdm.model.term.TermVocabulary;
import eu.etaxonomy.cdm.model.common.TimePeriod;
import eu.etaxonomy.cdm.model.common.User;
import eu.etaxonomy.cdm.model.common.VerbatimTimePeriod;
import eu.etaxonomy.cdm.model.taxon.TaxonNode;
import eu.etaxonomy.cdm.model.taxon.TaxonNodeAgentRelation;
import eu.etaxonomy.cdm.model.taxon.TaxonRelationshipType;
+import eu.etaxonomy.cdm.model.term.DefinedTerm;
+import eu.etaxonomy.cdm.model.term.DefinedTermBase;
+import eu.etaxonomy.cdm.model.term.IEnumTerm;
+import eu.etaxonomy.cdm.model.term.Representation;
+import eu.etaxonomy.cdm.model.term.TermBase;
+import eu.etaxonomy.cdm.model.term.TermType;
+import eu.etaxonomy.cdm.model.term.TermVocabulary;
import eu.etaxonomy.cdm.strategy.parser.ParserProblem;
import eu.etaxonomy.taxeditor.model.MessagingUtils;
import eu.etaxonomy.taxeditor.ui.combo.EnumComboElement;
T selection,
int style,
Comparator<T> comparator) {
- return this.createDefinedTermComboElement(termType, null, parentElement, labelString, selection, true, style, false, comparator);
+ return this.createDefinedTermComboElement(termType, null, null, parentElement, labelString, selection, true, style, false, comparator);
}
public <T extends DefinedTermBase> TermComboElement<T> createDefinedTermComboElement(
T selection,
boolean addEmptyElement,
int style) {
- return this.createDefinedTermComboElement(termType, null, parentElement, labelString, selection, addEmptyElement, style, false, null);
+ return this.createDefinedTermComboElement(termType, null, null, parentElement, labelString, selection, addEmptyElement, style, false, null);
}
public <T extends DefinedTermBase> TermComboElement<T> createDefinedTermComboElement(
String labelString,
T selection,
int style) {
- return this.createDefinedTermComboElement(termType, null, parentElement, labelString, selection, true, style, false, null);
+ return this.createDefinedTermComboElement(termType, null, null, parentElement, labelString, selection, true, style, false, null);
}
+
+ public <T extends DefinedTermBase> TermComboElement<T> createDefinedTermComboElement(
+ List<T> terms,
+ ICdmFormElement parentElement,
+ String labelString,
+ T selection,
+ int style) {
+ return this.createDefinedTermComboElement(null, null, terms, parentElement, labelString, selection, true, style, false, null);
+ }
public <T extends DefinedTermBase> TermComboElement<T> createDefinedTermComboElement(
TermType termType,
ICdmFormElement parentElement,
boolean addEmptyElement,
int style,
boolean useAbbrevLabel) {
- return createDefinedTermComboElement(termType, null, parentElement, labelString, selection, addEmptyElement, style, useAbbrevLabel, null);
+ return createDefinedTermComboElement(termType, null, null, parentElement, labelString, selection, addEmptyElement, style, useAbbrevLabel, null);
}
String labelString,
T selection,
int style) {
- return this.createDefinedTermComboElement(null, termVocabulary, parentElement, labelString, selection, true, style, false, null);
+ return this.createDefinedTermComboElement(null, termVocabulary, null, parentElement, labelString, selection, true, style, false, null);
}
public <T extends DefinedTermBase> TermComboElement<T> createDefinedTermComboElement(
boolean addEmptyElement,
int style,
boolean useAbbrevLabel) {
- return createDefinedTermComboElement(null, termVocabulary, parentElement, labelString, selection, addEmptyElement, style, useAbbrevLabel, null);
+ return createDefinedTermComboElement(null, termVocabulary, null, parentElement, labelString, selection, addEmptyElement, style, useAbbrevLabel, null);
}
private <T extends DefinedTermBase> TermComboElement<T> createDefinedTermComboElement(
TermType termType,
TermVocabulary<?> termVocabulary,
+ List<T> terms,
ICdmFormElement parentElement,
String labelString,
T selection,
adapt(element);
parentElement.addElement(element);
return element;
+ }else if (terms != null){
+
+ TermComboElement<T> element = new TermComboElement<T>(this, parentElement, terms, labelString, selection, addEmptyElement, style, useAbbrevLabel);
+ if (comparator!= null){
+ element.setTermComparator(comparator);
+ }
+ adapt(element);
+ parentElement.addElement(element);
+ return element;
}
else {
//this should never happen
return element;
}
+
+
/**
* <p>
* createGatheringEventUnitElement
package eu.etaxonomy.taxeditor.ui.section.description.detail;
+import java.util.List;
+import java.util.UUID;
+
import org.eclipse.swt.SWT;
import eu.etaxonomy.cdm.model.common.Language;
import eu.etaxonomy.cdm.model.description.CommonTaxonName;
import eu.etaxonomy.cdm.model.location.NamedArea;
-import eu.etaxonomy.cdm.model.term.TermType;
+import eu.etaxonomy.cdm.model.metadata.PreferencePredicate;
+import eu.etaxonomy.taxeditor.preference.PreferencesUtil;
+import eu.etaxonomy.taxeditor.store.CdmStore;
import eu.etaxonomy.taxeditor.ui.combo.TermComboElement;
import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement;
CommonTaxonName entity, int style) {
commonName = formFactory.createTextWithLabelElement(this, "Common Name", entity.getName(), SWT.WRAP);
-
- combo_language = formFactory.createDefinedTermComboElement(TermType.Language, this, "Language", entity.getLanguage(), style);
+ List<UUID> uuidList = PreferencesUtil.createUUIDListFromStringPref(PreferencePredicate.CommonNameLanguages.getKey());
+ List<Language> languages = CdmStore.getTermManager().getTerms(uuidList, Language.class);
+ combo_language = formFactory.createDefinedTermComboElement(languages, this, "Language", entity.getLanguage(), style);
selection_namedArea = formFactory.createSelectionElement(NamedArea.class, //getConversationHolder(),
formElement, "Area",
createModifier(formElement, entity, style);
}
+
+
/** {@inheritDoc} */
@Override
public void handleEvent(Object eventSource) {