import org.eclipse.swt.custom.CLabel;
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.layout.GridLayout;
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.taxeditor.preference.menu.CdmPreferencePage;
-public class NameDetailsViewConfiguration extends CdmPreferencePage {
+public class NameDetailsViewConfiguration extends CdmPreferencePage implements SelectionListener{
- protected boolean isSimpleDetailsViewActivated;
+ /**
+ *
+ */
+ private static final String DISABLE = "Disable";
+ /**
+ *
+ */
+ private static final String ENABLE = "Enable";
+ protected Boolean isSimpleDetailsViewActivated;
boolean isUseLocalSettings;
protected NameDetailsConfigurator nameDetailsConfig;
Composite localSettings ;
+ CdmPreference nameDetailsPref;
protected boolean isShowTaxon;
protected boolean isShowNameApprobiation ;
private Button showSecDetail;
private Button secEnabled;
- protected Button activateCheckButton;
+ protected Combo activateCheckButton;
protected Button allowLocalPreference;
protected Button showTaxon;
protected Button showLsid;
protected Button showHybrid;
protected Button showNameApprobiation;
+ Composite dbSettings;
+
@Override
protected Control createContents(Composite parent) {
getValues();
nameDetailsConfig = new NameDetailsConfigurator(false);
}
- activateCheckButton = new Button(title, SWT.CHECK);
- allowLocalPreference = createAllowOverrideButton(title);
- Composite dbSettings = new Composite(parent, SWT.NONE);
+ activateCheckButton = createBooleanCombo(title, ENABLE, DISABLE, PreferencePredicate.SimpleDetailsViewActivated, Messages.NameDetailsViewConfiguration_activateSimpleDetailsView, isAdminPreference);
+ if (isAdminPreference){
+ allowLocalPreference = createAllowOverrideButton(title);
- activateCheckButton.setLayoutData(new GridData(SWT.LEFT, SWT.CENTER, true, true, 1, 1));
- activateCheckButton.setText(Messages.NameDetailsViewConfiguration_activateSimpleDetailsView);
- isSimpleDetailsViewActivated = nameDetailsConfig.isSimpleDetailsViewActivated();
+ allowLocalPreference.addSelectionListener(new SelectionAdapter(){
+ @Override
+ public void widgetSelected(SelectionEvent e) {
+ setApply(true);
+ if (isAdminPreference){
+ isAllowOverride = allowLocalPreference.getSelection();
+ }else{
+ isOverride = allowLocalPreference.getSelection();
+ }
- activateCheckButton.addSelectionListener(new SelectionAdapter(){
- @Override
- public void widgetSelected(SelectionEvent e) {
- setApply(true);
- isSimpleDetailsViewActivated = activateCheckButton.getSelection();
- nameDetailsConfig.setSimpleDetailsViewActivated(isSimpleDetailsViewActivated);
- dbSettings.setEnabled(isSimpleDetailsViewActivated);
- PreferencesUtil.recursiveSetEnabled(dbSettings, isSimpleDetailsViewActivated);
- if (isSimpleDetailsViewActivated){
- showSecDetail.setEnabled(isShowTaxon);
- secEnabled.setEnabled(isShowTaxon);
}
+ });
- }
- });
+ }
+ dbSettings = new Composite(parent, SWT.NONE);
+// activateCheckButton.setLayoutData(new GridData(SWT.LEFT, SWT.CENTER, true, true, 1, 1));
+// activateCheckButton.setText(Messages.NameDetailsViewConfiguration_activateSimpleDetailsView);
+ isSimpleDetailsViewActivated = nameDetailsConfig.isSimpleDetailsViewActivated();
- allowLocalPreference.addSelectionListener(new SelectionAdapter(){
- @Override
- public void widgetSelected(SelectionEvent e) {
- setApply(true);
- if (isAdminPreference){
- isAllowOverride = allowLocalPreference.getSelection();
- }else{
- isOverride = allowLocalPreference.getSelection();
- }
+ activateCheckButton.addSelectionListener(this);
+// new SelectionAdapter(){
+// @Override
+// public void widgetSelected(SelectionEvent e) {
+// setApply(true);
+// isSimpleDetailsViewActivated = activateCheckButton.getSelectionIndex() == 0? true:false;
+// nameDetailsConfig.setSimpleDetailsViewActivated(isSimpleDetailsViewActivated);
+// dbSettings.setEnabled(isSimpleDetailsViewActivated);
+// PreferencesUtil.recursiveSetEnabled(dbSettings, isSimpleDetailsViewActivated);
+// if (isSimpleDetailsViewActivated){
+// showSecDetail.setEnabled(isShowTaxon);
+// secEnabled.setEnabled(isShowTaxon);
+// }
+//
+// }
+// });
- }
- });
dbSettings.setLayout(new GridLayout());
dbSettings.setEnabled(isSimpleDetailsViewActivated);
public boolean performOk() {
if (nameDetailsConfig != null){
PreferencesUtil.setStringValue(PreferencePredicate.NameDetailsView.getKey(), nameDetailsConfig.toString());
- PreferencesUtil.setBooleanValue(PreferencesUtil.prefOverrideKey(PreferencePredicate.NameDetailsView.getKey()), isOverride);
+ if (nameDetailsPref == null || !nameDetailsConfig.toString().equals(nameDetailsPref.getValue())) {
+ PreferencesUtil.setBooleanValue(PreferencesUtil.prefOverrideKey(PreferencePredicate.NameDetailsView.getKey()), true);
+ }
}
return true;
@Override
public void getValues(){
if (nameDetailsConfig == null){
- CdmPreference nameDetailsPref = PreferencesUtil.getPreferenceFromDB(PreferencePredicate.NameDetailsView);
+ nameDetailsPref = PreferencesUtil.getPreferenceFromDB(PreferencePredicate.NameDetailsView);
isAdminPreference = false;
isAllowOverride = true;
if (nameDetailsPref != null){
isAllowOverride = nameDetailsPref.isAllowOverride();
}
- isOverride = PreferencesUtil.getBooleanValue(PreferencesUtil.prefOverrideKey(PreferencePredicate.NameDetailsView.getKey()));
+ isOverride = PreferencesUtil.getBooleanValue(PreferencesUtil.prefOverrideKey(PreferencePredicate.NameDetailsView.getKey()), true) != null? PreferencesUtil.getBooleanValue(PreferencesUtil.prefOverrideKey(PreferencePredicate.NameDetailsView.getKey()), true): false;
nameDetailsConfig = PreferencesUtil.getPreferredNameDetailsConfiguration(true);
}
}
protected void setButtonSelections(){
- activateCheckButton.setSelection(isSimpleDetailsViewActivated);;
+
+ int index = 0;
+ if (isSimpleDetailsViewActivated != null){
+ if (isSimpleDetailsViewActivated){
+ index = 1;
+ }else{
+ index = 2;
+ }
+ }
+ activateCheckButton.select(index);
if (isAdminPreference){
allowLocalPreference.setSelection(isAllowOverride);
- }else{
- allowLocalPreference.setSelection(isOverride);
}
showTaxon.setSelection(isShowTaxon);
showLsid.setSelection(isShowLSID);
super.performDefaults();
}
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public void widgetSelected(SelectionEvent e) {
+ if (e.getSource().equals(activateCheckButton)){
+ String text = activateCheckButton.getText();
+ if(text.equals(Messages.Preference_Use_Default)){
+ isSimpleDetailsViewActivated = null;
+ if (isAdminPreference){
+ nameDetailsPref.setAllowOverride(true);
+ allowLocalPreference.setSelection(true);
+ }
+ return;
+ }
+ if (text.equals(ENABLE)){
+ isSimpleDetailsViewActivated = true;
+
+ }else{
+ isSimpleDetailsViewActivated = false;
+ }
+ nameDetailsConfig.setSimpleDetailsViewActivated(isSimpleDetailsViewActivated);
+ dbSettings.setEnabled(isSimpleDetailsViewActivated);
+ PreferencesUtil.recursiveSetEnabled(dbSettings, isSimpleDetailsViewActivated);
+ if (isSimpleDetailsViewActivated){
+ showSecDetail.setEnabled(isShowTaxon);
+ secEnabled.setEnabled(isShowTaxon);
+ }
+ setApply(true);
+ }
+
+
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public void widgetDefaultSelected(SelectionEvent e) {
+ // TODO Auto-generated method stub
+
+ }
+
}