import org.eclipse.swt.SWT;
import org.eclipse.swt.events.SelectionAdapter;
import org.eclipse.swt.events.SelectionEvent;
+import org.eclipse.swt.events.SelectionListener;
import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.widgets.Button;
+import org.eclipse.swt.widgets.Combo;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Control;
import org.eclipse.swt.widgets.Label;
import eu.etaxonomy.cdm.model.metadata.CdmPreference;
+import eu.etaxonomy.cdm.model.metadata.CdmPreference.PrefKey;
+import eu.etaxonomy.cdm.model.metadata.PreferencePredicate;
+import eu.etaxonomy.cdm.model.metadata.PreferenceSubject;
import eu.etaxonomy.taxeditor.l10n.Messages;
import eu.etaxonomy.taxeditor.preference.menu.CdmPreferencePage;
import eu.etaxonomy.taxeditor.store.CdmStore;
* @date 13.02.2014
*
*/
-public class SpecimenOrObservationPreferences extends CdmPreferencePage {
+public class SpecimenOrObservationPreferences extends CdmPreferencePage implements SelectionListener{
private static final String LOCAL_SETTINGS_NOT_ALLOWED = Messages.SpecimenOrObservationPreferences_0;
private static final String DESCRIPTION = Messages.SpecimenOrObservationPreferences_1;
- protected boolean isShowSpecimenRelatedIssues;
+ protected Boolean isShowSpecimenRelatedIssues;
protected boolean allowOverrideShowSpecimenRelatedIssues;
protected boolean overrideShowSpecimenRelatedIssues;
- protected boolean isShowCollectingAreaInGeneralSection;
+ protected Boolean isShowCollectingAreaInGeneralSection;
protected boolean allowOverrideShowCollectingAreaInGeneralSection;
protected boolean overrideShowCollectionAreaInGeneralSection;
- protected boolean isDeterminationOnlyForFieldUnits;
+ protected Boolean isDeterminationOnlyForFieldUnits;
protected boolean allowOverrideDeterminationOnlyForFieldUnits;
protected boolean overrideDeterminationOnlyForFieldUnits;
- protected boolean isShowTaxonAssociation;
+ protected Boolean isShowTaxonAssociation;
protected boolean allowOverrideShowTaxonAssociation;
protected boolean overrideShowTaxonAssociation;
- protected boolean isShowLifeForm;
+ protected Boolean isShowLifeForm;
protected boolean allowOverrideShowLifeForm;
protected boolean overrideShowLifeForm;
Composite composite;
+ protected Combo showSpecimenButton;
+ protected Button allowOverrideIsShowSpecimenRelatedIssuesButton;
+ protected Combo showCollectingAreaInGeneralSectionButton;
+ protected Button allowOverrideShowCollectingAreaButton;
+ protected Combo determinationOnlyForFieldUnitsButton;
+ protected Button allowOverridesDeterminationOnlyForFieldUnitsButton;
+ protected Combo showTaxonAssociationButton;
+ protected Button allowOverrideIsShowTaxonAssociationButton;
+ protected Button allowOverrideShowLifeFormButton;
+ protected Combo showLifeFormButton;
+
+ CdmPreference showSpecimenPref;
+ CdmPreference showCollectingAreaInGeneralSection;
+ CdmPreference showDeterminationOnlyForFieldUnits;
+ CdmPreference showTaxonAssociation;
+ CdmPreference showLifeForm;
@Override
public void init() {
boolean isEditingAllowed = true;
if(!isAdminPreference){
CdmPreferenceCache cache = CdmPreferenceCache.instance();
- CdmPreference showSpecimenPref = cache.get(EditorPreferencePredicate.ShowSpecimen.getKey());
+
if (showSpecimenPref != null){
if (!showSpecimenPref.isAllowOverride() ){
- Label label = new Label(parent, SWT.NONE);
- label.setText(LOCAL_SETTINGS_NOT_ALLOWED);
isEditingAllowed = false;
-
}
}
}
-
- Label label = new Label(parent, SWT.NONE);
- label.setText(DESCRIPTION);
+ if (isEditingAllowed){
+ Label label = new Label(parent, SWT.NONE);
+ label.setText(DESCRIPTION);
+ }else{
+ Label label = new Label(parent, SWT.NONE);
+ label.setText(LOCAL_SETTINGS_NOT_ALLOWED);
+ this.noDefaultAndApplyButton();
+ return parent;
+ }
Composite titleComp = createComposite(parent);
GridData gridData = createTextGridData();
Label separator= new Label(titleComp, SWT.HORIZONTAL | SWT.SEPARATOR);
separator.setLayoutData(gridData);
separator.setVisible(false);
- final Button showSpecimenButton = new Button(titleComp, SWT.CHECK);
-
- showSpecimenButton.setText(Messages.DatabasePreferncesPage_Show_Specimen);
-
- showSpecimenButton.setSelection(isShowSpecimenRelatedIssues);
- showSpecimenButton.addSelectionListener(new SelectionAdapter(){
- @Override
- public void widgetSelected(SelectionEvent e) {
- setApply(true);
- isShowSpecimenRelatedIssues = showSpecimenButton.getSelection();
- if(isShowSpecimenRelatedIssues){
- composite.setVisible(true);
- composite.setEnabled(true);
- }else{
- composite.setVisible(false);
- composite.setEnabled(false);
- }
- }
- });
- Button allowOverrideIsShowSpecimenRelatedIssuesButton = createAllowOverrideButton(titleComp);
-
+ showSpecimenButton = createBooleanCombo(titleComp, Messages.GeneralPreference_yes, Messages.GeneralPreference_no, PreferencePredicate.ShowSpecimen, Messages.DatabasePreferncesPage_Show_Specimen, isAdminPreference);
+
+ showSpecimenButton.addSelectionListener(this);
+ int index = 0;
+ for (String itemLabel : showSpecimenButton.getItems()) {
+ if (isShowSpecimenRelatedIssues == null && itemLabel.startsWith(Messages.Preference_Use_Default)) {
+ showSpecimenButton.select(index);
+ break;
+ }
+ if (isShowSpecimenRelatedIssues != null && itemLabel.equals(Messages.GeneralPreference_yes) && isShowSpecimenRelatedIssues){
+ showSpecimenButton.select(index);
+ break;
+ }
+ if (isShowSpecimenRelatedIssues != null && itemLabel.equals(Messages.GeneralPreference_no) && !isShowSpecimenRelatedIssues){
+ showSpecimenButton.select(index);
+ break;
+ }
+ index++;
+ }
+ showSpecimenButton.setEnabled(isEditingAllowed);
if (isAdminPreference){
+ allowOverrideIsShowSpecimenRelatedIssuesButton = createAllowOverrideButton(titleComp);
allowOverrideIsShowSpecimenRelatedIssuesButton.setSelection(allowOverrideShowSpecimenRelatedIssues);
+// allowOverrideIsShowSpecimenRelatedIssuesButton.setEnabled(isShowSpecimenRelatedIssues != null);
allowOverrideIsShowSpecimenRelatedIssuesButton.addSelectionListener(new SelectionAdapter(){
@Override
public void widgetSelected(SelectionEvent e) {
allowOverrideShowSpecimenRelatedIssues = allowOverrideIsShowSpecimenRelatedIssuesButton.getSelection();
}
});
- }else{
- allowOverrideIsShowSpecimenRelatedIssuesButton.setSelection(overrideShowSpecimenRelatedIssues);
- allowOverrideIsShowSpecimenRelatedIssuesButton.addSelectionListener(new SelectionAdapter(){
- @Override
- public void widgetSelected(SelectionEvent e) {
- setApply(true);
- overrideShowSpecimenRelatedIssues = allowOverrideIsShowSpecimenRelatedIssuesButton.getSelection();
- }
- });
- if (!allowOverrideShowSpecimenRelatedIssues){
- showSpecimenButton.setEnabled(false);
- allowOverrideIsShowSpecimenRelatedIssuesButton.setEnabled(false);
- }
}
+
composite = createComposite(parent);
- composite.setEnabled(isShowSpecimenRelatedIssues);
+ //composite.setEnabled(isShowSpecimenRelatedIssues);
gridData = createTextGridData();
separator= new Label(composite, SWT.HORIZONTAL | SWT.SEPARATOR);
separator.setLayoutData(gridData);
- final Button showCollectingAreaInGeneralSectionButton = new Button(composite, SWT.CHECK);
-
- showCollectingAreaInGeneralSectionButton.setText(Messages.DatabasePreferncesPage_Show_Collecting_Areas_in_general_section);
-
- showCollectingAreaInGeneralSectionButton.setSelection(isShowCollectingAreaInGeneralSection);
- showCollectingAreaInGeneralSectionButton.addSelectionListener(new SelectionAdapter(){
- @Override
- public void widgetSelected(SelectionEvent e) {
- setApply(true);
- isShowCollectingAreaInGeneralSection = showCollectingAreaInGeneralSectionButton.getSelection();
+ showCollectingAreaInGeneralSectionButton = createBooleanCombo(composite, Messages.GeneralPreference_yes, Messages.GeneralPreference_no, PreferencePredicate.ShowCollectingAreasInGeneralSection, Messages.DatabasePreferncesPage_Show_Collecting_Areas_in_general_section, isAdminPreference);
- }
- });
- Button allowOverrideShowCollectingAreaButton = createAllowOverrideButton(composite);
+ showCollectingAreaInGeneralSectionButton.addSelectionListener(this);
+ index = 0;
+ for (String itemLabel : showCollectingAreaInGeneralSectionButton.getItems()) {
+ if (isShowCollectingAreaInGeneralSection == null && itemLabel.startsWith(Messages.Preference_Use_Default)) {
+ showCollectingAreaInGeneralSectionButton.select(index);
+ break;
+ }
+ if (isShowCollectingAreaInGeneralSection != null && itemLabel.equals(Messages.GeneralPreference_yes) && isShowCollectingAreaInGeneralSection){
+ showCollectingAreaInGeneralSectionButton.select(index);
+ break;
+ }
+ if (isShowCollectingAreaInGeneralSection != null && itemLabel.equals(Messages.GeneralPreference_no) && !isShowCollectingAreaInGeneralSection){
+ showCollectingAreaInGeneralSectionButton.select(index);
+ break;
+ }
+ index++;
+ }
if (isAdminPreference){
+ allowOverrideShowCollectingAreaButton = createAllowOverrideButton(composite);
allowOverrideShowCollectingAreaButton.setSelection(allowOverrideShowCollectingAreaInGeneralSection);
+// allowOverrideShowCollectingAreaButton.setEnabled(isShowCollectingAreaInGeneralSection != null);
allowOverrideShowCollectingAreaButton.addSelectionListener(new SelectionAdapter(){
@Override
public void widgetSelected(SelectionEvent e) {
allowOverrideShowCollectingAreaInGeneralSection = allowOverrideShowCollectingAreaButton.getSelection();
}
});
- }else{
- allowOverrideShowCollectingAreaButton.setSelection(overrideShowCollectionAreaInGeneralSection);
- allowOverrideShowCollectingAreaButton.addSelectionListener(new SelectionAdapter(){
- @Override
- public void widgetSelected(SelectionEvent e) {
- setApply(true);
- overrideShowCollectionAreaInGeneralSection = allowOverrideShowCollectingAreaButton.getSelection();
- }
- });
- if (!allowOverrideShowCollectingAreaInGeneralSection){
- showCollectingAreaInGeneralSectionButton.setEnabled(false);
- allowOverrideShowCollectingAreaButton.setEnabled(false);
- }
}
+ isEditingAllowed = true;
+ if (showCollectingAreaInGeneralSection != null && !showCollectingAreaInGeneralSection.isAllowOverride() ){
+ isEditingAllowed = false;
+ }
+ showCollectingAreaInGeneralSectionButton.setEnabled(isEditingAllowed);
+ determinationOnlyForFieldUnitsButton = createBooleanCombo(composite, Messages.GeneralPreference_yes, Messages.GeneralPreference_no, PreferencePredicate.DeterminationOnlyForFieldUnits, Messages.DatabasePreferncesPage_Determination_only_for_field_unnits, isAdminPreference);
- final Button determinationOnlyForFieldUnitsButton = new Button(composite, SWT.CHECK);
- determinationOnlyForFieldUnitsButton.setText(Messages.DatabasePreferncesPage_Determination_only_for_field_unnits);
- determinationOnlyForFieldUnitsButton.setSelection(isDeterminationOnlyForFieldUnits);
- determinationOnlyForFieldUnitsButton.addSelectionListener(new SelectionAdapter(){
- @Override
- public void widgetSelected(SelectionEvent e) {
- setApply(true);
- isDeterminationOnlyForFieldUnits = determinationOnlyForFieldUnitsButton.getSelection();
- }
- });
- Button allowOverridesDeterminationOnlyForFieldUnitsButton = createAllowOverrideButton(composite);
+ determinationOnlyForFieldUnitsButton.addSelectionListener(this);
+ index = 0;
+ for (String itemLabel : determinationOnlyForFieldUnitsButton.getItems()) {
+ if (isDeterminationOnlyForFieldUnits == null && itemLabel.startsWith(Messages.Preference_Use_Default)) {
+ determinationOnlyForFieldUnitsButton.select(index);
+ break;
+ }
+ if (isDeterminationOnlyForFieldUnits != null && itemLabel.equals(Messages.GeneralPreference_yes) && isDeterminationOnlyForFieldUnits){
+ determinationOnlyForFieldUnitsButton.select(index);
+ break;
+ }
+ if (isDeterminationOnlyForFieldUnits != null && itemLabel.equals(Messages.GeneralPreference_no) && !isDeterminationOnlyForFieldUnits){
+ determinationOnlyForFieldUnitsButton.select(index);
+ break;
+ }
+ index++;
+ }
+ isEditingAllowed = true;
+ if (showDeterminationOnlyForFieldUnits != null && !showDeterminationOnlyForFieldUnits.isAllowOverride() ){
+ isEditingAllowed = false;
+ }
+
+ determinationOnlyForFieldUnitsButton.setEnabled(isEditingAllowed);
if (isAdminPreference){
+ allowOverridesDeterminationOnlyForFieldUnitsButton = createAllowOverrideButton(composite);
allowOverridesDeterminationOnlyForFieldUnitsButton.setSelection(allowOverrideDeterminationOnlyForFieldUnits);
+// allowOverridesDeterminationOnlyForFieldUnitsButton.setEnabled(showDeterminationOnlyForFieldUnits != null);
allowOverridesDeterminationOnlyForFieldUnitsButton.addSelectionListener(new SelectionAdapter(){
@Override
public void widgetSelected(SelectionEvent e) {
allowOverrideDeterminationOnlyForFieldUnits = allowOverridesDeterminationOnlyForFieldUnitsButton.getSelection();
}
});
- }else{
- allowOverridesDeterminationOnlyForFieldUnitsButton.setSelection(overrideDeterminationOnlyForFieldUnits);
- allowOverridesDeterminationOnlyForFieldUnitsButton.addSelectionListener(new SelectionAdapter(){
- @Override
- public void widgetSelected(SelectionEvent e) {
- setApply(true);
- overrideDeterminationOnlyForFieldUnits = allowOverridesDeterminationOnlyForFieldUnitsButton.getSelection();
- }
- });
- if (!allowOverrideDeterminationOnlyForFieldUnits){
- determinationOnlyForFieldUnitsButton.setEnabled(false);
- allowOverridesDeterminationOnlyForFieldUnitsButton.setEnabled(false);
- }
}
- final Button showTaxonAssociationButton = new Button(composite, SWT.CHECK);
-
- showTaxonAssociationButton.setText(Messages.DatabasePreferncesPage_Taxon_Associations);
+ showTaxonAssociationButton =createBooleanCombo(composite, Messages.GeneralPreference_yes, Messages.GeneralPreference_no, PreferencePredicate.ShowTaxonAssociations, Messages.DatabasePreferncesPage_Taxon_Associations, isAdminPreference);
- showTaxonAssociationButton.setSelection(isShowTaxonAssociation);
- showTaxonAssociationButton.addSelectionListener(new SelectionAdapter(){
- @Override
- public void widgetSelected(SelectionEvent e) {
- setApply(true);
- isShowTaxonAssociation = showTaxonAssociationButton.getSelection();
- }
- });
- Button allowOverrideIsShowTaxonAssociationButton = createAllowOverrideButton(composite);
+ showTaxonAssociationButton.addSelectionListener(this);
+ index = 0;
+ for (String itemLabel : showTaxonAssociationButton.getItems()) {
+ if (isShowTaxonAssociation == null && itemLabel.startsWith(Messages.Preference_Use_Default)) {
+ showTaxonAssociationButton.select(index);
+ break;
+ }
+ if (isShowTaxonAssociation != null && itemLabel.equals(Messages.GeneralPreference_yes) && isShowTaxonAssociation){
+ showTaxonAssociationButton.select(index);
+ break;
+ }
+ if (isShowTaxonAssociation != null && itemLabel.equals(Messages.GeneralPreference_no) && !isShowTaxonAssociation){
+ showTaxonAssociationButton.select(index);
+ break;
+ }
+ index++;
+ }
+ isEditingAllowed = true;
+ if (showTaxonAssociation != null && !showTaxonAssociation.isAllowOverride() ){
+ isEditingAllowed = false;
+ }
+ showTaxonAssociationButton.setEnabled(isEditingAllowed);
if (isAdminPreference){
+ allowOverrideIsShowTaxonAssociationButton = createAllowOverrideButton(composite);
allowOverrideIsShowTaxonAssociationButton.setSelection(allowOverrideShowTaxonAssociation);
+// allowOverrideIsShowTaxonAssociationButton.setEnabled(showTaxonAssociation != null);
allowOverrideIsShowTaxonAssociationButton.addSelectionListener(new SelectionAdapter(){
@Override
public void widgetSelected(SelectionEvent e) {
allowOverrideShowTaxonAssociation = allowOverrideIsShowTaxonAssociationButton.getSelection();
}
});
- }else{
- allowOverrideIsShowTaxonAssociationButton.setSelection(overrideShowTaxonAssociation);
- allowOverrideIsShowTaxonAssociationButton.addSelectionListener(new SelectionAdapter(){
- @Override
- public void widgetSelected(SelectionEvent e) {
- setApply(true);
- overrideShowTaxonAssociation = allowOverrideIsShowTaxonAssociationButton.getSelection();
- }
- });
- if (!allowOverrideShowTaxonAssociation){
- showTaxonAssociationButton.setEnabled(false);
- allowOverrideIsShowTaxonAssociationButton.setEnabled(false);
- }
}
- final Button showLifeFormButton = new Button(composite, SWT.CHECK);
- showLifeFormButton.setText(Messages.DatabasePreferncesPage_Life_Form);
- showLifeFormButton.setSelection(isShowLifeForm);
- showLifeFormButton.addSelectionListener(new SelectionAdapter(){
- @Override
- public void widgetSelected(SelectionEvent e) {
- setApply(true);
- isShowLifeForm = showLifeFormButton.getSelection();
-
- }
- });
+ showLifeFormButton = createBooleanCombo(composite, Messages.GeneralPreference_yes, Messages.GeneralPreference_no, PreferencePredicate.ShowLifeForm, Messages.DatabasePreferncesPage_Life_Form, isAdminPreference);
+ showLifeFormButton.addSelectionListener(this);
- Button allowOverrideShowLifeFormButton = createAllowOverrideButton(composite);
+ index = 0;
+ for (String itemLabel: showLifeFormButton.getItems()) {
+ if (isShowLifeForm == null && itemLabel.startsWith(Messages.Preference_Use_Default)) {
+ showLifeFormButton.select(index);
+ break;
+ }
+ if (isShowLifeForm != null && itemLabel.equals(Messages.GeneralPreference_yes) && isShowLifeForm){
+ showLifeFormButton.select(index);
+ break;
+ }
+ if (isShowLifeForm != null && itemLabel.equals(Messages.GeneralPreference_no) && !isShowLifeForm){
+ showLifeFormButton.select(index);
+ break;
+ }
+ index++;
+ }
+ isEditingAllowed = true;
+ if (showLifeForm != null && !showLifeForm.isAllowOverride() ){
+ isEditingAllowed = false;
+ }
+ showLifeFormButton.setEnabled(isEditingAllowed);
if (isAdminPreference){
+ allowOverrideShowLifeFormButton = createAllowOverrideButton(composite);
allowOverrideShowLifeFormButton.setSelection(allowOverrideShowLifeForm);
+// allowOverrideShowLifeFormButton.setEnabled(showLifeForm != null);
allowOverrideShowLifeFormButton.addSelectionListener(new SelectionAdapter(){
@Override
public void widgetSelected(SelectionEvent e) {
allowOverrideShowLifeForm = allowOverrideShowLifeFormButton.getSelection();
}
});
- }else{
- allowOverrideShowLifeFormButton.setSelection(overrideShowLifeForm);
- allowOverrideShowLifeFormButton.addSelectionListener(new SelectionAdapter(){
- @Override
- public void widgetSelected(SelectionEvent e) {
- setApply(true);
- overrideShowLifeForm = allowOverrideShowLifeFormButton.getSelection();
- }
- });
- if (!allowOverrideShowLifeForm){
- showLifeFormButton.setEnabled(false);
- allowOverrideShowLifeFormButton.setEnabled(false);
- }
}
if (!isEditingAllowed){
PreferencesUtil.recursiveSetEnabled(composite, false);
}
+
return composite;
}
protected void getValues() {
CdmPreferenceCache cache = CdmPreferenceCache.instance();
- isShowSpecimenRelatedIssues = PreferencesUtil.getBooleanValue(EditorPreferencePredicate.ShowSpecimen.getKey());
- allowOverrideShowSpecimenRelatedIssues = cache.get(EditorPreferencePredicate.ShowSpecimen.getKey())!= null ? cache.get(EditorPreferencePredicate.ShowSpecimen.getKey()).isAllowOverride():true;
- isShowCollectingAreaInGeneralSection = PreferencesUtil.getBooleanValue(EditorPreferencePredicate.ShowCollectingAreasInGeneralSection.getKey());
- allowOverrideShowCollectingAreaInGeneralSection = cache.get(EditorPreferencePredicate.ShowCollectingAreasInGeneralSection.getKey())!= null ? cache.get(EditorPreferencePredicate.ShowCollectingAreasInGeneralSection.getKey()).isAllowOverride():true;
+ overrideShowSpecimenRelatedIssues = PreferencesUtil.getBooleanValue(
+ PreferencesUtil.prefOverrideKey(PreferencePredicate.ShowSpecimen.getKey()), true) != null? PreferencesUtil.getBooleanValue(
+ PreferencesUtil.prefOverrideKey(PreferencePredicate.ShowSpecimen.getKey()), true): false;
+
+ PrefKey key = CdmPreference.NewKey(PreferenceSubject.NewTaxEditorInstance(), PreferencePredicate.ShowSpecimen);
+ showSpecimenPref = PreferencesUtil.getPreferenceFromDB(PreferencePredicate.ShowSpecimen);
+
+
+ if (showSpecimenPref != null) {
+ if (showSpecimenPref.isAllowOverride() ) {
+ if (overrideShowSpecimenRelatedIssues){
+ isShowSpecimenRelatedIssues = PreferencesUtil.getBooleanValue(PreferencePredicate.ShowSpecimen.getKey(), true);
+ }
+ } else {
+ isShowSpecimenRelatedIssues = Boolean.valueOf(showSpecimenPref.getValue());
+ }
+
+ } else {
+ if(!overrideShowSpecimenRelatedIssues){
+ isShowSpecimenRelatedIssues = null;
+ }else{
+ isShowSpecimenRelatedIssues = PreferencesUtil.getBooleanValue(PreferencePredicate.ShowSpecimen.getKey(), true);
+ }
+ showSpecimenPref = CdmPreference.NewTaxEditorInstance(PreferencePredicate.ShowSpecimen, PreferencePredicate.ShowSpecimen.getDefaultValue() != null ? PreferencePredicate.ShowSpecimen.getDefaultValue().toString(): null);
+ }
+
- isDeterminationOnlyForFieldUnits = PreferencesUtil.getBooleanValue(EditorPreferencePredicate.DeterminationOnlyForFieldUnits.getKey());
- allowOverrideDeterminationOnlyForFieldUnits = cache.get(EditorPreferencePredicate.DeterminationOnlyForFieldUnits.getKey())!= null ? cache.get(EditorPreferencePredicate.DeterminationOnlyForFieldUnits.getKey()).isAllowOverride():true;
- isShowTaxonAssociation = PreferencesUtil.getBooleanValue(EditorPreferencePredicate.ShowTaxonAssociations.getKey());
- allowOverrideShowTaxonAssociation = cache.get(EditorPreferencePredicate.ShowTaxonAssociations.getKey())!= null ? cache.get(EditorPreferencePredicate.ShowTaxonAssociations.getKey()).isAllowOverride():true;
- isShowLifeForm = PreferencesUtil.getBooleanValue(EditorPreferencePredicate.ShowLifeForm.getKey());
- allowOverrideShowLifeForm = cache.get(EditorPreferencePredicate.ShowLifeForm.getKey())!= null ? cache.get(EditorPreferencePredicate.ShowLifeForm.getKey()).isAllowOverride():true;
+ key = CdmPreference.NewKey(PreferenceSubject.NewTaxEditorInstance(), PreferencePredicate.ShowCollectingAreasInGeneralSection);
+ showCollectingAreaInGeneralSection = PreferencesUtil.getPreferenceFromDB(PreferencePredicate.ShowCollectingAreasInGeneralSection);
+ overrideShowCollectionAreaInGeneralSection = PreferencesUtil.getBooleanValue(
+ PreferencesUtil.prefOverrideKey(PreferencePredicate.ShowCollectingAreasInGeneralSection.getKey()), true) != null? PreferencesUtil.getBooleanValue(
+ PreferencesUtil.prefOverrideKey(PreferencePredicate.ShowCollectingAreasInGeneralSection.getKey()), true): false;
+ allowOverrideShowCollectingAreaInGeneralSection = showCollectingAreaInGeneralSection != null ? showCollectingAreaInGeneralSection.isAllowOverride():true;
+ if (showCollectingAreaInGeneralSection != null) {
+ if (showCollectingAreaInGeneralSection.isAllowOverride() ) {
+ if (overrideShowCollectionAreaInGeneralSection){
+ isShowCollectingAreaInGeneralSection = PreferencesUtil.getBooleanValue(PreferencePredicate.ShowCollectingAreasInGeneralSection.getKey(), true);
+ }
+
+ } else {
+ isShowCollectingAreaInGeneralSection = Boolean.valueOf(showCollectingAreaInGeneralSection.getValue());
+
+ }
+
+ } else {
+ if(!overrideShowCollectionAreaInGeneralSection){
+ isShowCollectingAreaInGeneralSection = null;
+ }else{
+ isShowCollectingAreaInGeneralSection = PreferencesUtil.getBooleanValue(PreferencePredicate.ShowCollectingAreasInGeneralSection.getKey(), true);
+ }
+ showCollectingAreaInGeneralSection = CdmPreference.NewTaxEditorInstance(PreferencePredicate.ShowCollectingAreasInGeneralSection, PreferencePredicate.ShowCollectingAreasInGeneralSection.getDefaultValue() != null ? PreferencePredicate.ShowCollectingAreasInGeneralSection.getDefaultValue().toString(): null);
+ }
+
+
+ key = CdmPreference.NewKey(PreferenceSubject.NewTaxEditorInstance(), PreferencePredicate.DeterminationOnlyForFieldUnits);
+ showDeterminationOnlyForFieldUnits = PreferencesUtil.getPreferenceFromDB(PreferencePredicate.DeterminationOnlyForFieldUnits);
+ overrideDeterminationOnlyForFieldUnits = PreferencesUtil.getBooleanValue(
+ PreferencesUtil.prefOverrideKey(PreferencePredicate.DeterminationOnlyForFieldUnits.getKey()), true) != null? PreferencesUtil.getBooleanValue(
+ PreferencesUtil.prefOverrideKey(PreferencePredicate.DeterminationOnlyForFieldUnits.getKey()), true): false;
+ if (showDeterminationOnlyForFieldUnits != null) {
+ if (showDeterminationOnlyForFieldUnits.isAllowOverride() ) {
+ if (overrideDeterminationOnlyForFieldUnits){
+ isDeterminationOnlyForFieldUnits = PreferencesUtil.getBooleanValue(PreferencePredicate.DeterminationOnlyForFieldUnits.getKey());
+ }
+
+ } else {
+ isDeterminationOnlyForFieldUnits = Boolean.valueOf(showDeterminationOnlyForFieldUnits.getValue());
+
+ }
+
+ } else {
+ if(!overrideDeterminationOnlyForFieldUnits){
+ isDeterminationOnlyForFieldUnits = null;
+ }else{
+ isDeterminationOnlyForFieldUnits = PreferencesUtil.getBooleanValue(PreferencePredicate.DeterminationOnlyForFieldUnits.getKey(), true);
+ }
+ showDeterminationOnlyForFieldUnits = CdmPreference.NewTaxEditorInstance(PreferencePredicate.DeterminationOnlyForFieldUnits, PreferencePredicate.DeterminationOnlyForFieldUnits.getDefaultValue() != null ? PreferencePredicate.DeterminationOnlyForFieldUnits.getDefaultValue().toString(): null);
+ }
+
+ allowOverrideDeterminationOnlyForFieldUnits = showDeterminationOnlyForFieldUnits != null ? showDeterminationOnlyForFieldUnits.isAllowOverride():true;
+
+
+ key = CdmPreference.NewKey(PreferenceSubject.NewTaxEditorInstance(), PreferencePredicate.ShowTaxonAssociations);
+ showTaxonAssociation = PreferencesUtil.getPreferenceFromDB(PreferencePredicate.ShowTaxonAssociations);
+ overrideShowTaxonAssociation = PreferencesUtil.getBooleanValue(
+ PreferencesUtil.prefOverrideKey(PreferencePredicate.ShowTaxonAssociations.getKey()), true) != null? PreferencesUtil.getBooleanValue(
+ PreferencesUtil.prefOverrideKey(PreferencePredicate.ShowTaxonAssociations.getKey()), true): false;
+ if (showTaxonAssociation != null) {
+ if (showTaxonAssociation.isAllowOverride() ) {
+ if (overrideShowTaxonAssociation){
+ isShowTaxonAssociation = PreferencesUtil.getBooleanValue(PreferencePredicate.ShowTaxonAssociations.getKey());
+ }
+
+ } else {
+ isShowTaxonAssociation = Boolean.valueOf(showTaxonAssociation.getValue());
+
+ }
+
+ } else {
+ if(!overrideShowTaxonAssociation){
+ isShowTaxonAssociation = null;
+ }else{
+ isShowTaxonAssociation = PreferencesUtil.getBooleanValue(PreferencePredicate.ShowTaxonAssociations.getKey(), true);
+ }
+ showTaxonAssociation = CdmPreference.NewTaxEditorInstance(PreferencePredicate.ShowTaxonAssociations, PreferencePredicate.ShowTaxonAssociations.getDefaultValue() != null ? PreferencePredicate.ShowTaxonAssociations.getDefaultValue().toString(): null);
+ }
+
+ allowOverrideShowTaxonAssociation = showTaxonAssociation != null ? showTaxonAssociation.isAllowOverride():true;
+
+
+ key = CdmPreference.NewKey(PreferenceSubject.NewTaxEditorInstance(), PreferencePredicate.ShowLifeForm);
+ showLifeForm = PreferencesUtil.getPreferenceFromDB(PreferencePredicate.ShowLifeForm);
+ overrideShowLifeForm = PreferencesUtil.getBooleanValue(
+ PreferencesUtil.prefOverrideKey(PreferencePredicate.ShowLifeForm.getKey()), true) != null? PreferencesUtil.getBooleanValue(
+ PreferencesUtil.prefOverrideKey(PreferencePredicate.ShowLifeForm.getKey()), true): false;
+ if (showLifeForm != null) {
+ if (showLifeForm.isAllowOverride() ) {
+ if (overrideShowLifeForm){
+ isShowLifeForm = PreferencesUtil.getBooleanValue(PreferencePredicate.ShowLifeForm.getKey());
+ }
+
+ } else {
+ isShowLifeForm = Boolean.valueOf(showLifeForm.getValue());
+
+ }
+
+ } else {
+ if(!overrideShowLifeForm){
+ isShowLifeForm = null;
+ }else{
+ isShowLifeForm = PreferencesUtil.getBooleanValue(PreferencePredicate.ShowLifeForm.getKey(), true);
+ }
+ showLifeForm = CdmPreference.NewTaxEditorInstance(PreferencePredicate.ShowLifeForm, PreferencePredicate.ShowLifeForm.getDefaultValue() != null ? PreferencePredicate.ShowLifeForm.getDefaultValue().toString(): null);
+ }
+
+ allowOverrideShowLifeForm = showLifeForm != null ? showLifeForm.isAllowOverride():true;
}
@Override
public boolean performOk() {
- if (allowOverrideShowSpecimenRelatedIssues){
- PreferencesUtil.setBooleanValue(EditorPreferencePredicate.ShowSpecimen.getKey(), isShowSpecimenRelatedIssues);
+
+ boolean override = false;
+ if (isShowSpecimenRelatedIssues != null ) {
+ override = true;
+ PreferencesUtil.setStringValue(PreferencePredicate.ShowSpecimen.getKey(), isShowSpecimenRelatedIssues.toString());
}
- if (allowOverrideShowCollectingAreaInGeneralSection){
- PreferencesUtil.setBooleanValue(EditorPreferencePredicate.ShowCollectingAreasInGeneralSection.getKey(), isShowCollectingAreaInGeneralSection);
+ PreferencesUtil.setBooleanValue(
+ PreferencesUtil.prefOverrideKey(PreferencePredicate.ShowSpecimen.getKey()),
+ override);
+
+ override = false;
+ if (isShowCollectingAreaInGeneralSection != null ) {
+ override = true;
+ PreferencesUtil.setStringValue(PreferencePredicate.ShowCollectingAreasInGeneralSection.getKey(), isShowCollectingAreaInGeneralSection.toString());
}
- if (allowOverrideDeterminationOnlyForFieldUnits){
- PreferencesUtil.setBooleanValue(EditorPreferencePredicate.DeterminationOnlyForFieldUnits.getKey(), isDeterminationOnlyForFieldUnits);
+ PreferencesUtil.setBooleanValue(
+ PreferencesUtil.prefOverrideKey(PreferencePredicate.ShowCollectingAreasInGeneralSection.getKey()),
+ override);
+
+ override = false;
+ if (isDeterminationOnlyForFieldUnits != null ) {
+ override = true;
+ PreferencesUtil.setStringValue(PreferencePredicate.DeterminationOnlyForFieldUnits.getKey(), isDeterminationOnlyForFieldUnits.toString());
}
- if (allowOverrideShowTaxonAssociation){
- PreferencesUtil.setBooleanValue(EditorPreferencePredicate.ShowTaxonAssociations.getKey(), isShowTaxonAssociation);
+ PreferencesUtil.setBooleanValue(
+ PreferencesUtil.prefOverrideKey(PreferencePredicate.DeterminationOnlyForFieldUnits.getKey()),
+ override);
+
+ override = false;
+ if (isShowTaxonAssociation != null ) {
+ override = true;
+ PreferencesUtil.setStringValue(PreferencePredicate.ShowTaxonAssociations.getKey(), isShowTaxonAssociation.toString());
}
- if (allowOverrideShowLifeForm){
- PreferencesUtil.setBooleanValue(EditorPreferencePredicate.ShowLifeForm.getKey(), isShowLifeForm);
+ PreferencesUtil.setBooleanValue(
+ PreferencesUtil.prefOverrideKey(PreferencePredicate.ShowTaxonAssociations.getKey()),
+ override);
+
+ override = false;
+ if (isShowLifeForm != null ) {
+ override = true;
+ PreferencesUtil.setStringValue(PreferencePredicate.ShowLifeForm.getKey(), isShowLifeForm.toString());
}
+ PreferencesUtil.setBooleanValue(
+ PreferencesUtil.prefOverrideKey(PreferencePredicate.ShowLifeForm.getKey()),
+ override);
+
return true;
}
+
+ @Override
+ protected void performDefaults() {
+ isShowSpecimenRelatedIssues = null;
+ showSpecimenButton.select(0);
+
+ if (allowOverrideIsShowSpecimenRelatedIssuesButton != null){
+ allowOverrideShowSpecimenRelatedIssues = true;
+ allowOverrideIsShowSpecimenRelatedIssuesButton.setSelection(allowOverrideShowSpecimenRelatedIssues);
+ }
+ isShowCollectingAreaInGeneralSection = null;
+ showCollectingAreaInGeneralSectionButton.select(0);
+
+ if (allowOverrideShowCollectingAreaButton != null){
+ allowOverrideShowCollectingAreaInGeneralSection = true;
+ allowOverrideShowCollectingAreaButton.setSelection(allowOverrideShowSpecimenRelatedIssues);
+ }
+ isDeterminationOnlyForFieldUnits = null;
+ determinationOnlyForFieldUnitsButton.select(0);
+
+ if (allowOverridesDeterminationOnlyForFieldUnitsButton != null){
+ allowOverrideDeterminationOnlyForFieldUnits = true;
+ allowOverridesDeterminationOnlyForFieldUnitsButton.setSelection(allowOverrideShowSpecimenRelatedIssues);
+ }
+
+ isShowTaxonAssociation = null;
+ showTaxonAssociationButton.select(0);
+
+ if (allowOverrideIsShowTaxonAssociationButton != null){
+ allowOverrideShowTaxonAssociation = true;
+ allowOverrideIsShowTaxonAssociationButton.setSelection(allowOverrideShowSpecimenRelatedIssues);
+ }
+
+
+ isShowLifeForm = null;
+
+ showLifeFormButton.select(0);
+
+ if (allowOverrideShowLifeFormButton != null){
+ allowOverrideShowLifeForm = true;
+ allowOverrideShowLifeFormButton.setSelection(allowOverrideShowSpecimenRelatedIssues);
+ }
+ setApply(true);
+
+ super.performDefaults();
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public void widgetSelected(SelectionEvent e) {
+ setApply(true);
+ if (e.getSource().equals(this.showSpecimenButton)) {
+ String text = showSpecimenButton.getText();
+ if(text.startsWith(Messages.Preference_Use_Default)){
+ isShowSpecimenRelatedIssues = null;
+ return;
+ }
+
+ if (text.equals(Messages.GeneralPreference_yes)){
+ isShowSpecimenRelatedIssues = true;
+ }else{
+ isShowSpecimenRelatedIssues = false;
+ }
+ }
+
+ if (e.getSource().equals(this.showCollectingAreaInGeneralSectionButton)) {
+ String text = showCollectingAreaInGeneralSectionButton.getText();
+ if(text.startsWith(Messages.Preference_Use_Default)){
+ isShowCollectingAreaInGeneralSection = null;
+ return;
+ }
+
+ if (text.equals(Messages.GeneralPreference_yes)){
+ isShowCollectingAreaInGeneralSection = true;
+ }else{
+ isShowCollectingAreaInGeneralSection = false;
+ }
+ }
+
+ if (e.getSource().equals(this.determinationOnlyForFieldUnitsButton)) {
+ String text = determinationOnlyForFieldUnitsButton.getText();
+ if(text.startsWith(Messages.Preference_Use_Default)){
+ isDeterminationOnlyForFieldUnits = null;
+ return;
+ }
+ if (text.equals(Messages.GeneralPreference_yes)){
+ isDeterminationOnlyForFieldUnits = true;
+ }else{
+ isDeterminationOnlyForFieldUnits = false;
+ }
+ }
+
+ if (e.getSource().equals(this.showTaxonAssociationButton)) {
+ String text = showTaxonAssociationButton.getText();
+ if(text.startsWith(Messages.Preference_Use_Default)){
+ isShowTaxonAssociation = null;
+ return;
+ }
+
+ if (text.equals(Messages.GeneralPreference_yes)){
+ isShowTaxonAssociation = true;
+ }else{
+ isShowTaxonAssociation = false;
+ }
+ }
+
+ if (e.getSource().equals(this.showLifeFormButton)) {
+ String text = showLifeFormButton.getText();
+ if(text.startsWith(Messages.Preference_Use_Default)){
+ isShowLifeForm = null;
+ return;
+ }
+
+ if (text.equals(Messages.GeneralPreference_yes)){
+ isShowLifeForm = true;
+ }else{
+ isShowLifeForm = false;
+ }
+ }
+
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public void widgetDefaultSelected(SelectionEvent e) {
+ // TODO Auto-generated method stub
+
+ }
+
+
+
+
}