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;
* @since 29.05.2018
*
*/
-public class GeneralPreferencePage extends CdmPreferencePage {
+public class GeneralPreferencePage extends CdmPreferencePage implements SelectionListener{
+ protected Boolean isShowCheckListPerspective;
- protected boolean isShowIOMenu;
-// protected boolean isShowMediaView;
- protected boolean isShowCheckListPerspective;
- protected boolean isShowTaxonNodeWizard;
- protected boolean isAllowOverrideShowIOMenu;
protected boolean isAllowOverrideShowMediaView;
protected boolean isAllowOverrideShowCheckListPerspective;
- protected boolean isAllowOverrideShowTaxonNodeWizard;
- protected boolean isOverrideShowIOMenu;
+
protected boolean isOverrideShowMediaView;
protected boolean isOverrideShowCheckListPerspective;
- protected boolean isOverrideShowTaxonNodeWizard;
- /**
- * {@inheritDoc}
- */
+ protected Combo showChecklistPerspectiveButton;
+ protected Button allowOverrideShowChecklistButton;
+
@Override
protected Control createContents(Composite parent) {
getValues();
final Composite composite = createComposite(parent);
+ GridData gridData = createTextGridData();
+
+ Label separator= new Label(composite, SWT.HORIZONTAL | SWT.SEPARATOR);
+ separator.setLayoutData(gridData);
+ separator.setVisible(false);
+
+
+
+ showChecklistPerspectiveButton = createBooleanCombo(composite, SHOW, DO_NOT_SHOW, PreferencePredicate.ShowChecklistPerspective, "Set Checklist Perspective as Default Perspective",
+ isAdminPreference);
+
+ showChecklistPerspectiveButton.addSelectionListener(this);
- final Button showIOMenuButton = new Button(composite, SWT.CHECK);
- showIOMenuButton.setText(Messages.DatabasePreferncesPage_Show_IOMenu);
- showIOMenuButton.setSelection(isShowIOMenu);
- showIOMenuButton.addSelectionListener(new SelectionAdapter(){
- @Override
- public void widgetSelected(SelectionEvent e) {
- isShowIOMenu = showIOMenuButton.getSelection();
- setApply(true);
- }
- });
- Button allowOverrideShowIOMenuButton = createAllowOverrideButton(composite);
- if (isAdminPreference){
- allowOverrideShowIOMenuButton.setSelection(isAllowOverrideShowIOMenu);
- allowOverrideShowIOMenuButton.addSelectionListener(new SelectionAdapter(){
- @Override
- public void widgetSelected(SelectionEvent e) {
- isAllowOverrideShowIOMenu = allowOverrideShowIOMenuButton.getSelection();
- setApply(true);
- }
- });
- }else{
- allowOverrideShowIOMenuButton.setSelection(isOverrideShowIOMenu);
- allowOverrideShowIOMenuButton.addSelectionListener(new SelectionAdapter(){
- @Override
- public void widgetSelected(SelectionEvent e) {
- isOverrideShowIOMenu = allowOverrideShowIOMenuButton.getSelection();
- setApply(true);
- }
- });
- if (!isAllowOverrideShowIOMenu){
- showIOMenuButton.setEnabled(false);
- allowOverrideShowIOMenuButton.setEnabled(false);
- }
- }
-// final Button showMediaViewButton = new Button(composite, SWT.CHECK);
-// showMediaViewButton.setText(Messages.DatabasePreferncesPage_Show_MediaView);
-// showMediaViewButton.setSelection(isShowMediaView);
-// showMediaViewButton.addSelectionListener(new SelectionAdapter(){
-// @Override
-// public void widgetSelected(SelectionEvent e) {
-// isShowMediaView = showIOMenuButton.getSelection();
-// }
-// });
-//
-// Button allowOverrideShowMediaViewButton = createAllowOverrideButton(composite);
-// if (isAdminPreference){
-// allowOverrideShowMediaViewButton.setSelection(isAllowOverrideShowMediaView);
-// allowOverrideShowMediaViewButton.addSelectionListener(new SelectionAdapter(){
-// @Override
-// public void widgetSelected(SelectionEvent e) {
-// isAllowOverrideShowMediaView = allowOverrideShowMediaViewButton.getSelection();
-// }
-// });
-// }else{
-// allowOverrideShowMediaViewButton.setSelection(isOverrideShowMediaView);
-// allowOverrideShowMediaViewButton.addSelectionListener(new SelectionAdapter(){
-// @Override
-// public void widgetSelected(SelectionEvent e) {
-// isOverrideShowMediaView = allowOverrideShowMediaViewButton.getSelection();
-// }
-// });
-// if (!isAllowOverrideShowMediaView){
-// showMediaViewButton.setEnabled(false);
-// allowOverrideShowMediaViewButton.setEnabled(false);
-// }
-// }
-
- final Button showChecklistPerspectiveButton = new Button(composite, SWT.CHECK);
- showChecklistPerspectiveButton.setText(Messages.DatabasePreferncesPage_Show_ChecklistPerspective);
- showChecklistPerspectiveButton.setSelection(isShowCheckListPerspective);
- showChecklistPerspectiveButton.addSelectionListener(new SelectionAdapter(){
- @Override
- public void widgetSelected(SelectionEvent e) {
- isShowCheckListPerspective = showChecklistPerspectiveButton.getSelection();
- setApply(true);
- }
- });
-
- Button allowOverrideShowChecklistButton = createAllowOverrideButton(composite);
if (isAdminPreference){
- allowOverrideShowChecklistButton.setSelection(isAllowOverrideShowCheckListPerspective);
+ allowOverrideShowChecklistButton = createAllowOverrideButton(composite);
allowOverrideShowChecklistButton.addSelectionListener(new SelectionAdapter(){
@Override
public void widgetSelected(SelectionEvent e) {
setApply(true);
}
});
- }else{
- allowOverrideShowChecklistButton.setSelection(isOverrideShowCheckListPerspective);
- allowOverrideShowChecklistButton.addSelectionListener(new SelectionAdapter(){
- @Override
- public void widgetSelected(SelectionEvent e) {
- isOverrideShowCheckListPerspective = allowOverrideShowChecklistButton.getSelection();
- setApply(true);
- }
- });
- if (!isAllowOverrideShowCheckListPerspective){
- showChecklistPerspectiveButton.setEnabled(false);
- allowOverrideShowChecklistButton.setEnabled(false);
- }
- }
-
- final Button showTaxonNodeWizardButton = new Button(composite, SWT.CHECK);
- showTaxonNodeWizardButton.setText(Messages.DatabasePreferncesPage_Show_TaxonNodeWizard);
- showTaxonNodeWizardButton.setSelection(isShowTaxonNodeWizard);
- showTaxonNodeWizardButton.addSelectionListener(new SelectionAdapter(){
- @Override
- public void widgetSelected(SelectionEvent e) {
- isShowTaxonNodeWizard = showTaxonNodeWizardButton.getSelection();
- setApply(true);
- }
- });
-
- Button allowOverrideShowTaxonNodeWizardButton = createAllowOverrideButton(composite);
- if (isAdminPreference){
- allowOverrideShowTaxonNodeWizardButton.setSelection(isAllowOverrideShowTaxonNodeWizard);
- allowOverrideShowTaxonNodeWizardButton.addSelectionListener(new SelectionAdapter(){
- @Override
- public void widgetSelected(SelectionEvent e) {
- isAllowOverrideShowTaxonNodeWizard = allowOverrideShowTaxonNodeWizardButton.getSelection();
- setApply(true);
- }
- });
- }else{
- allowOverrideShowTaxonNodeWizardButton.setSelection(isOverrideShowTaxonNodeWizard);
- allowOverrideShowTaxonNodeWizardButton.addSelectionListener(new SelectionAdapter(){
- @Override
- public void widgetSelected(SelectionEvent e) {
- isOverrideShowTaxonNodeWizard = allowOverrideShowTaxonNodeWizardButton.getSelection();
- setApply(true);
- }
- });
- if (!isAllowOverrideShowTaxonNodeWizard){
- showTaxonNodeWizardButton.setEnabled(false);
- allowOverrideShowTaxonNodeWizardButton.setEnabled(false);
- }
}
-
+ setSelections();
return composite;
}
@Override
public boolean performOk() {
- if (isAllowOverrideShowCheckListPerspective){
- PreferencesUtil.setBooleanValue(PreferencesUtil.prefOverrideKey(EditorPreferencePredicate.ShowChecklistPerspective.getKey()), isOverrideShowCheckListPerspective);
- PreferencesUtil.setBooleanValue(EditorPreferencePredicate.ShowChecklistPerspective.getKey(), isShowCheckListPerspective);
- }
- if (isAllowOverrideShowIOMenu){
- PreferencesUtil.setBooleanValue(EditorPreferencePredicate.ShowImportExportMenu.getKey(), isShowIOMenu);
- PreferencesUtil.setBooleanValue(PreferencesUtil.prefOverrideKey(EditorPreferencePredicate.ShowImportExportMenu.getKey()), isOverrideShowIOMenu);
+ if (!isApply()){
+ return true;
}
-// if (isAllowOverrideShowMediaView){
-// PreferencesUtil.setBooleanValue(EditorPreferencePredicate.ShowMediaView.getKey(), isShowMediaView);
-// }
- if (isAllowOverrideShowTaxonNodeWizard){
- PreferencesUtil.setBooleanValue(PreferencesUtil.prefOverrideKey(EditorPreferencePredicate.ShowTaxonNodeWizard.getKey()), isOverrideShowTaxonNodeWizard);
- PreferencesUtil.setBooleanValue(EditorPreferencePredicate.ShowTaxonNodeWizard.getKey(), isShowTaxonNodeWizard);
+ if (isAllowOverrideShowCheckListPerspective){
+ if (isShowCheckListPerspective != null){
+ PreferencesUtil.setBooleanValue(PreferencePredicate.ShowChecklistPerspective.getKey(), isShowCheckListPerspective);
+ }
+ PreferencesUtil.setBooleanValue(PreferencesUtil.prefOverrideKey(PreferencePredicate.ShowChecklistPerspective.getKey()), isOverrideShowCheckListPerspective);
+
+
}
+ return true;
+ }
- return true;
- }
@Override
protected void getValues(){
isAdminPreference = false;
CdmPreferenceCache cache = CdmPreferenceCache.instance();
- isShowIOMenu = PreferencesUtil.getBooleanValue(EditorPreferencePredicate.ShowImportExportMenu.getKey());
- isOverrideShowIOMenu = PreferencesUtil.getBooleanValue(PreferencesUtil.prefOverrideKey(EditorPreferencePredicate.ShowImportExportMenu.getKey()));
- CdmPreference pref = cache.get(EditorPreferencePredicate.ShowImportExportMenu.getKey());
- if (pref != null){
- isAllowOverrideShowIOMenu = pref.isAllowOverride();
- }else{
- isAllowOverrideShowIOMenu = true;
+ isOverrideShowCheckListPerspective = PreferencesUtil.getBooleanValue(PreferencesUtil.prefOverrideKey(PreferencePredicate.ShowChecklistPerspective.getKey()), true) != null? PreferencesUtil.getBooleanValue(PreferencesUtil.prefOverrideKey(PreferencePredicate.ShowChecklistPerspective.getKey()), true): false;
+ if (isOverrideShowCheckListPerspective){
+ isShowCheckListPerspective = PreferencesUtil.getBooleanValue(PreferencePredicate.ShowChecklistPerspective.getKey(), true);
}
-// isShowMediaView = PreferencesUtil.getBooleanValue(EditorPreferencePredicate.ShowMediaView.getKey());
-// pref = cache.get(EditorPreferencePredicate.ShowMediaView.getKey());
-// if (pref != null){
-// isAllowOverrideShowMediaView = pref.isAllowOverride();
-// }else{
-// isAllowOverrideShowMediaView = true;
-// }
- isShowCheckListPerspective = PreferencesUtil.getBooleanValue(EditorPreferencePredicate.ShowChecklistPerspective.getKey());
- isOverrideShowCheckListPerspective = PreferencesUtil.getBooleanValue(PreferencesUtil.prefOverrideKey(EditorPreferencePredicate.ShowChecklistPerspective.getKey()));
- pref = cache.get(EditorPreferencePredicate.ShowChecklistPerspective.getKey());
+
+ PrefKey key = CdmPreference.NewKey(PreferenceSubject.NewTaxEditorInstance(), PreferencePredicate.ShowChecklistPerspective);
+ CdmPreference pref = cache.findBestMatching(key);
if (pref != null){
isAllowOverrideShowCheckListPerspective = pref.isAllowOverride();
}else{
isAllowOverrideShowCheckListPerspective = true;
}
- isShowTaxonNodeWizard = PreferencesUtil.getBooleanValue(EditorPreferencePredicate.ShowTaxonNodeWizard.getKey());
- isOverrideShowTaxonNodeWizard = PreferencesUtil.getBooleanValue(PreferencesUtil.prefOverrideKey(EditorPreferencePredicate.ShowTaxonNodeWizard.getKey()));
- pref = cache.get(EditorPreferencePredicate.ShowTaxonNodeWizard.getKey());
- if (pref != null){
- isAllowOverrideShowTaxonNodeWizard = pref.isAllowOverride();
+
+
+ }
+
+ @Override
+ public void widgetSelected(SelectionEvent e) {
+ if (e.getSource().equals(this.showChecklistPerspectiveButton)) {
+ String text = showChecklistPerspectiveButton.getText();
+ if (text.startsWith(Messages.Preference_Use_Default)){
+ isOverrideShowCheckListPerspective = false;
+ isShowCheckListPerspective = null;
+
+ }else if (text.equals(SHOW)){
+ isShowCheckListPerspective = true;
+ isOverrideShowCheckListPerspective = true;
+ }else{
+ isShowCheckListPerspective = false;
+ isOverrideShowCheckListPerspective = true;
+ }
+ }
+
+ this.setSelections();
+ this.setApply(true);
+
+
+ }
+
+
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public void widgetDefaultSelected(SelectionEvent e) {
+ // TODO Auto-generated method stub
+
+ }
+
+ @Override
+ protected void performDefaults() {
+ isOverrideShowCheckListPerspective = false;
+ isShowCheckListPerspective = null;
+
+ setSelections();
+ setApply(true);
+ }
+
+ protected void setSelections(){
+ if (isShowCheckListPerspective == null || (!isOverrideShowCheckListPerspective && !isAdminPreference)){
+ showChecklistPerspectiveButton.select(0);
}else{
- isAllowOverrideShowTaxonNodeWizard = true;
+ if (isShowCheckListPerspective){
+ showChecklistPerspectiveButton.select(1);
+ }else{
+ showChecklistPerspectiveButton.select(2);
+ }
+ }
+
+ if (isAdminPreference){
+ allowOverrideShowChecklistButton.setSelection(isAllowOverrideShowCheckListPerspective);
}
}