\r
import org.eclipse.jface.dialogs.MessageDialog;\r
import org.eclipse.swt.SWT;\r
+import org.eclipse.swt.custom.CLabel;\r
import org.eclipse.swt.events.SelectionAdapter;\r
import org.eclipse.swt.events.SelectionEvent;\r
import org.eclipse.swt.events.SelectionListener;\r
+import org.eclipse.swt.layout.GridData;\r
import org.eclipse.swt.widgets.Button;\r
import org.eclipse.swt.widgets.Combo;\r
import org.eclipse.swt.widgets.Composite;\r
\r
import eu.etaxonomy.cdm.model.metadata.CdmPreference;\r
import eu.etaxonomy.cdm.model.metadata.PreferencePredicate;\r
+import eu.etaxonomy.taxeditor.event.EventUtility;\r
+import eu.etaxonomy.taxeditor.event.WorkbenchEventConstants;\r
import eu.etaxonomy.taxeditor.l10n.Messages;\r
import eu.etaxonomy.taxeditor.preference.menu.CdmPreferencePage;\r
\r
Button activateRestoreNavigatorButton;\r
protected Button allowOverrideButton;\r
protected CdmPreference orderPref;\r
+ protected CdmPreference nodePref;\r
boolean override = false;\r
protected boolean allowOverride;\r
\r
+ protected Combo showTaxonNodeWizardButton;\r
+ protected Button allowOverrideShowTaxonNodeWizardButton;\r
+ protected boolean isOverrideShowTaxonNodeWizard;\r
+ protected boolean isAllowOverrideShowTaxonNodeWizard;\r
+ protected Boolean isShowTaxonNodeWizard;\r
+\r
+\r
\r
@Override\r
protected Control createContents(Composite parent) {\r
});\r
}\r
\r
-// Composite composite = new Composite(parent, SWT.NULL);\r
-// composite.setLayout(new GridLayout());\r
-//\r
-// Label label = new Label(composite, SWT.NONE);\r
-// label.setText(Messages.OrderPreferences_Sorting);\r
-\r
-// GridData gridData = new GridData();\r
-// gridData = new GridData(GridData.BEGINNING, GridData.CENTER, true, false);\r
-// gridData.horizontalIndent = 5;\r
-\r
orderSelectionCombo = createCombo(secondComposite, NavigatorOrderEnum.values(), PreferencePredicate.TaxonNodeOrder, Messages.OrderPreferences_Sorting, isAdminPreference);\r
-// orderSelectionCombo.setLayoutData(gridData);\r
\r
int index = 0;\r
\r
- for (String itemLabel : orderSelectionCombo.getItems()){\r
- if (itemLabel.equalsIgnoreCase(orderActivated.getLabel())){\r
- orderSelectionCombo.select(index);\r
- break;\r
+ if (orderActivated == null){\r
+ orderSelectionCombo.select(index);\r
+ }else{\r
+ for (String itemLabel : orderSelectionCombo.getItems()){\r
+ if (itemLabel.equalsIgnoreCase(orderActivated.getLabel())){\r
+ orderSelectionCombo.select(index);\r
+ break;\r
+ }\r
+ index++;\r
}\r
- index++;\r
}\r
\r
\r
});\r
}\r
\r
-// final CLabel description = new CLabel(secondComposite, SWT.NULL);\r
-// description.setText(Messages.OrderPreferencePage_NewNavigatorWindowRequired);\r
-// GridData textGrid = createTextGridData();\r
-// textGrid.verticalSpan = 2;\r
-// description.setLayoutData(textGrid);\r
-\r
-// final Label description = new Label(secondComposite, SWT.NONE);\r
-// description.setText(Messages.OrderPreferencePage_NewNavigatorWindowRequired);\r
-// GridData textGrid = createTextGridData();\r
-// textGrid.verticalSpan = 2;\r
-// description.setLayoutData(textGrid);\r
+ if (orderPref != null && !isAdminPreference){\r
+ if (!orderPref.isAllowOverride()){\r
+ orderSelectionCombo.setEnabled(false);\r
+ final CLabel description = new CLabel(secondComposite, SWT.NULL);\r
+ description.setText(Messages.OrderPreferencePage_NotAllowed);\r
+ GridData textGrid = createTextGridData();\r
+ textGrid.verticalSpan = 2;\r
+ description.setLayoutData(textGrid);\r
+ }\r
+ }\r
+\r
+ showTaxonNodeWizardButton = createBooleanCombo(secondComposite, SHOW, DO_NOT_SHOW, PreferencePredicate.ShowTaxonNodeWizard, "Show Taxonnode Wizard",\r
+ isAdminPreference);\r
+ showTaxonNodeWizardButton.setText(Messages.DatabasePreferncesPage_Show_TaxonNodeWizard);\r
+ showTaxonNodeWizardButton.addSelectionListener(this);\r
+\r
+\r
+ if (isAdminPreference){\r
+ allowOverrideShowTaxonNodeWizardButton = createAllowOverrideButton(secondComposite);\r
+ allowOverrideShowTaxonNodeWizardButton.addSelectionListener(new SelectionAdapter(){\r
+ @Override\r
+ public void widgetSelected(SelectionEvent e) {\r
+ isAllowOverrideShowTaxonNodeWizard = allowOverrideShowTaxonNodeWizardButton.getSelection();\r
+ setApply(true);\r
+ }\r
+ });\r
+ allowOverrideShowTaxonNodeWizardButton.setSelection(isAllowOverrideShowTaxonNodeWizard);\r
+ }else{\r
+ if (!isAllowOverrideShowTaxonNodeWizard){\r
+ showTaxonNodeWizardButton.setEnabled(false);\r
+\r
+ }\r
+ }\r
+\r
+ if (isShowTaxonNodeWizard == null || (!isOverrideShowTaxonNodeWizard && !isAdminPreference)){\r
+ showTaxonNodeWizardButton.select(0);\r
+ }else{\r
+ if (isShowTaxonNodeWizard){\r
+ showTaxonNodeWizardButton.select(1);\r
+ }else{\r
+ showTaxonNodeWizardButton.select(2);\r
+ }\r
+ }\r
+\r
return secondComposite;\r
}\r
\r
public boolean performOk() {\r
if (isApply()){\r
PreferencesUtil.setSortNodes(this.orderActivated);\r
- //PreferencesUtil.setBooleanValue(PreferencesUtil.createOverridePreferenceString(PreferencePredicate.TaxonNodeOrder), value);\r
+ if (orderActivated != null){\r
+ PreferencesUtil.setBooleanValue(PreferencesUtil.createOverridePreferenceString(PreferencePredicate.TaxonNodeOrder.getKey()), true);\r
+ }else{\r
+ PreferencesUtil.setBooleanValue(PreferencesUtil.createOverridePreferenceString(PreferencePredicate.TaxonNodeOrder.getKey()), false);\r
+ }\r
PreferencesUtil.setStoreNavigatorState(isRestoreTaxonNavigator);\r
- MessageDialog.openInformation(getShell(), null, Messages.OrderPreferencePage_PleaseReopenNavigator);\r
+\r
+\r
+ if (isAllowOverrideShowTaxonNodeWizard){\r
+ if (isShowTaxonNodeWizard != null){\r
+ PreferencesUtil.setBooleanValue(PreferencePredicate.ShowTaxonNodeWizard.getKey(), isShowTaxonNodeWizard);\r
+ }\r
+ PreferencesUtil.setBooleanValue(PreferencesUtil.prefOverrideKey(PreferencePredicate.ShowTaxonNodeWizard.getKey()), isOverrideShowTaxonNodeWizard);\r
+ }\r
+ EventUtility.postEvent(WorkbenchEventConstants.REFRESH_NAVIGATOR, true);\r
}\r
+ \r
return true;\r
\r
}\r
@Override\r
public void widgetSelected(SelectionEvent e) {\r
setApply(true);\r
+ if (e.getSource().equals(orderSelectionCombo)){\r
+ for (NavigatorOrderEnum item : NavigatorOrderEnum.values()){\r
+ if (!orderSelectionCombo.getText().startsWith(Messages.Preference_Use_Default)){\r
+ orderActivated = (NavigatorOrderEnum)orderSelectionCombo.getData(orderSelectionCombo.getText());\r
+ }else{\r
+ orderActivated = null;\r
+ }\r
\r
- for (NavigatorOrderEnum item : NavigatorOrderEnum.values()){\r
- if (!orderSelectionCombo.getText().startsWith(Messages.Preference_Use_Default)){\r
- orderActivated = (NavigatorOrderEnum)orderSelectionCombo.getData(orderSelectionCombo.getText());\r
+ }\r
+ MessageDialog.openInformation(getShell(), null, Messages.OrderPreferencePage_PleaseReopenNavigator);\r
+ }\r
+ if (e.getSource().equals(this.showTaxonNodeWizardButton)) {\r
+ String text = showTaxonNodeWizardButton.getText();\r
+ if (text.startsWith(Messages.Preference_Use_Default)){\r
+ isOverrideShowTaxonNodeWizard = false;\r
+ isShowTaxonNodeWizard = null;\r
+\r
+ }else if (text.equals(SHOW)){\r
+ isShowTaxonNodeWizard = true;\r
+ isOverrideShowTaxonNodeWizard = true;\r
}else{\r
- orderActivated = null;\r
+ isShowTaxonNodeWizard = false;\r
+ isOverrideShowTaxonNodeWizard = true;\r
}\r
\r
}\r
}\r
\r
isRestoreTaxonNavigator = false;\r
- orderActivated = NavigatorOrderEnum.RankAndNameOrder;\r
- int index = 0;\r
- for (String itemLabel : orderSelectionCombo.getItems()){\r
- if (itemLabel.equalsIgnoreCase(orderActivated.getLabel())){\r
- orderSelectionCombo.select(index);\r
- break;\r
- }\r
- index++;\r
- }\r
+ orderActivated = null;\r
+\r
+ orderSelectionCombo.select(0);\r
+ isOverrideShowTaxonNodeWizard = false;\r
+ isShowTaxonNodeWizard = null;\r
+ showTaxonNodeWizardButton.select(0);\r
+\r
super.performDefaults();\r
}\r
\r
@Override\r
protected void getValues(){\r
orderPref = PreferencesUtil.getPreferenceFromDB(PreferencePredicate.TaxonNodeOrder);\r
- override = PreferencesUtil.getBooleanValue(PreferencesUtil.createOverridePreferenceString(PreferencePredicate.TaxonNodeOrder.getKey()));\r
+ override = PreferencesUtil.getOverrideForPreference(PreferencePredicate.TaxonNodeOrder.getKey());\r
allowOverride = orderPref != null? orderPref.isAllowOverride():true;\r
- if (orderPref == null || (allowOverride && override)) {\r
- orderActivated = NavigatorOrderEnum.valueOf(PreferencesUtil.getStringValue(PreferencePredicate.TaxonNodeOrder.getKey()));\r
+ if (orderPref == null || allowOverride ){\r
+ if (override){\r
+ orderActivated = NavigatorOrderEnum.valueOf(PreferencesUtil.getStringValue(PreferencePredicate.TaxonNodeOrder.getKey()));\r
+ }\r
}else{\r
orderActivated = orderPref.getValue()!= null? NavigatorOrderEnum.valueOf(orderPref.getValue()):null;\r
}\r
\r
+ isOverrideShowTaxonNodeWizard = PreferencesUtil.getBooleanValue(PreferencesUtil.prefOverrideKey(PreferencePredicate.ShowTaxonNodeWizard.getKey()), true) != null? PreferencesUtil.getBooleanValue(PreferencesUtil.prefOverrideKey(PreferencePredicate.ShowTaxonNodeWizard.getKey()), true): false;\r
+ if (isOverrideShowTaxonNodeWizard){\r
+ isShowTaxonNodeWizard = PreferencesUtil.getBooleanValue(PreferencePredicate.ShowTaxonNodeWizard.getKey(), true);\r
+ }\r
+\r
+\r
+ nodePref = PreferencesUtil.getPreferenceFromDB(PreferencePredicate.ShowTaxonNodeWizard);\r
+ if (nodePref != null){\r
+ isAllowOverrideShowTaxonNodeWizard = nodePref.isAllowOverride();\r
+ }else{\r
+ isAllowOverrideShowTaxonNodeWizard = true;\r
+ }\r
+\r
}\r
\r
}\r