package eu.etaxonomy.taxeditor.preference;\r
\r
-import java.io.IOException;\r
-\r
import org.eclipse.jface.dialogs.MessageDialog;\r
import org.eclipse.jface.preference.PreferencePage;\r
-import org.eclipse.jface.resource.ImageDescriptor;\r
-import org.eclipse.jface.viewers.ArrayContentProvider;\r
-import org.eclipse.jface.viewers.LabelProvider;\r
import org.eclipse.swt.SWT;\r
import org.eclipse.swt.events.SelectionAdapter;\r
import org.eclipse.swt.events.SelectionEvent;\r
-import org.eclipse.swt.graphics.Image;\r
-import org.eclipse.swt.graphics.Point;\r
import org.eclipse.swt.layout.GridLayout;\r
import org.eclipse.swt.widgets.Button;\r
import org.eclipse.swt.widgets.Composite;\r
import org.eclipse.swt.widgets.Label;\r
import org.eclipse.ui.IWorkbench;\r
import org.eclipse.ui.IWorkbenchPreferencePage;\r
-import org.eclipse.ui.PlatformUI;\r
-import org.eclipse.ui.dialogs.ListSelectionDialog;\r
\r
import eu.etaxonomy.taxeditor.Messages;\r
\r
public class OrderPreferences extends PreferencePage implements IWorkbenchPreferencePage {\r
- \r
+\r
\r
boolean isNaturalOrderActivated;\r
boolean isAlphabeticalOrderActivated;\r
boolean isRankAndNameOrderActivated;\r
+ boolean isRestoreTaxonNavigator;\r
boolean isSelectionChanged = false;\r
boolean isStrictlyAlphabeticallyOrdered;\r
/*\r
@Override\r
protected Control createContents(Composite parent) {\r
\r
- Composite composite = new Composite(parent, SWT.NULL);\r
+ isRestoreTaxonNavigator = PreferencesUtil.isRestoreNavigator();\r
+\r
+ Composite secondComposite = new Composite(parent, SWT.NULL);\r
+ secondComposite.setLayout(new GridLayout());\r
+\r
+ final Button activateRestoreNavigatorButton = new Button(secondComposite, SWT.CHECK | SWT.LEFT);\r
+ activateRestoreNavigatorButton.setText("Restore the last Taxon Navigator state.");\r
+ activateRestoreNavigatorButton.setSelection(isRestoreTaxonNavigator);\r
+ activateRestoreNavigatorButton.addSelectionListener(new SelectionAdapter(){\r
+ @Override\r
+ public void widgetSelected(SelectionEvent e) {\r
+ if(isRestoreTaxonNavigator != activateRestoreNavigatorButton.getSelection()) {\r
+ isRestoreTaxonNavigator = activateRestoreNavigatorButton.getSelection();\r
+ PreferencesUtil.setRestoreNavigator(isRestoreTaxonNavigator);\r
+ }\r
+ }\r
+\r
+ });\r
+\r
+\r
+ Composite composite = new Composite(parent, SWT.NULL);\r
composite.setLayout(new GridLayout());\r
- final Label description = new Label(parent, SWT.NONE);\r
- description.setText(Messages.OrderPreferencePage_NewNavigatorWindowRequired);\r
+\r
isNaturalOrderActivated = PreferencesUtil.getSortNodesNaturally();\r
final Button activateNaturalOrderCheckButton = new Button(composite, SWT.RADIO);\r
activateNaturalOrderCheckButton.setText("Enable Natural Order");\r
activateNaturalOrderCheckButton.setSelection(isNaturalOrderActivated);\r
- \r
+\r
isRankAndNameOrderActivated = !PreferencesUtil.getSortNodesStrictlyAlphabetically() && !PreferencesUtil.getSortNodesNaturally();\r
final Button activateRankAndNameOrderActivatedCheckButton = new Button(composite, SWT.RADIO);\r
activateRankAndNameOrderActivatedCheckButton.setText("Enable Rank and Aplhabetical Order");\r
activateRankAndNameOrderActivatedCheckButton.setSelection(isRankAndNameOrderActivated);\r
- \r
+\r
isAlphabeticalOrderActivated = PreferencesUtil.getSortNodesStrictlyAlphabetically();\r
final Button activateAlphabeticallyOrderedCheckButton = new Button(composite, SWT.RADIO);\r
activateAlphabeticallyOrderedCheckButton.setText("Enable Alphabetical Order");\r
activateAlphabeticallyOrderedCheckButton.setSelection(isAlphabeticalOrderActivated);\r
- \r
+\r
activateNaturalOrderCheckButton.addSelectionListener(new SelectionAdapter(){\r
@Override\r
public void widgetSelected(SelectionEvent e) {\r
if (isAlphabeticalOrderActivated && isNaturalOrderActivated){\r
isAlphabeticalOrderActivated = false;\r
PreferencesUtil.setSortNodesStrictlyAlphabetically(isAlphabeticalOrderActivated);\r
- } \r
+ }\r
if (isRankAndNameOrderActivated && isNaturalOrderActivated){\r
isRankAndNameOrderActivated = false;\r
- } \r
+ }\r
PreferencesUtil.setSortNodesNaturally(isNaturalOrderActivated);\r
isSelectionChanged = true;\r
}else{\r
if (isNaturalOrderActivated && isAlphabeticalOrderActivated){\r
isNaturalOrderActivated = false;\r
PreferencesUtil.setSortNodesNaturally(isNaturalOrderActivated);\r
- } \r
+ }\r
if (isRankAndNameOrderActivated && isAlphabeticalOrderActivated){\r
isRankAndNameOrderActivated = false;\r
- } \r
+ }\r
PreferencesUtil.setSortNodesStrictlyAlphabetically(isAlphabeticalOrderActivated);\r
isSelectionChanged = true;\r
}else{\r
\r
}\r
});\r
- \r
+\r
activateRankAndNameOrderActivatedCheckButton.addSelectionListener(new SelectionAdapter(){\r
@Override\r
public void widgetSelected(SelectionEvent e) {\r
isRankAndNameOrderActivated = activateRankAndNameOrderActivatedCheckButton.getSelection();\r
if (isAlphabeticalOrderActivated && isRankAndNameOrderActivated){\r
isAlphabeticalOrderActivated = false;\r
- } \r
+ }\r
if (isNaturalOrderActivated && isRankAndNameOrderActivated){\r
isNaturalOrderActivated = false;\r
- } \r
- \r
+ }\r
+\r
if (isRankAndNameOrderActivated ||(!isNaturalOrderActivated && !isAlphabeticalOrderActivated)){\r
PreferencesUtil.setSortNodesStrictlyAlphabetically(false);\r
PreferencesUtil.setSortNodesNaturally(false);\r
});\r
\r
\r
- \r
+\r
+\r
+\r
+ final Label description = new Label(parent, SWT.NONE);\r
+ description.setText(Messages.OrderPreferencePage_NewNavigatorWindowRequired);\r
\r
return composite;\r
}\r
\r
- \r
+\r
@Override\r
public void init(IWorkbench workbench) {\r
// TODO Auto-generated method stub\r
- \r
+\r
}\r
\r
/* (non-Javadoc)\r