Project

General

Profile

Download (4.32 KB) Statistics
| Branch: | Tag: | Revision:
1
package eu.etaxonomy.taxeditor.preference;
2

    
3
import org.eclipse.jface.dialogs.MessageDialog;
4
import org.eclipse.swt.SWT;
5
import org.eclipse.swt.events.SelectionAdapter;
6
import org.eclipse.swt.events.SelectionEvent;
7
import org.eclipse.swt.events.SelectionListener;
8
import org.eclipse.swt.layout.GridData;
9
import org.eclipse.swt.layout.GridLayout;
10
import org.eclipse.swt.widgets.Button;
11
import org.eclipse.swt.widgets.Combo;
12
import org.eclipse.swt.widgets.Composite;
13
import org.eclipse.swt.widgets.Control;
14
import org.eclipse.swt.widgets.Label;
15

    
16
import eu.etaxonomy.taxeditor.l10n.Messages;
17
import eu.etaxonomy.taxeditor.preference.menu.CdmPreferencePage;
18

    
19
public class OrderPreferences extends CdmPreferencePage implements SelectionListener{
20

    
21

    
22
        NavigatorOrderEnum orderActivated;
23
        private Combo orderSelectionCombo;
24
	    boolean isRestoreTaxonNavigator;
25
	    boolean isSelectionChanged = false;
26
	    boolean isStrictlyAlphabeticallyOrdered;
27

    
28
	    @Override
29
	    protected Control createContents(Composite parent) {
30

    
31
	        isRestoreTaxonNavigator = PreferencesUtil.isStoreNavigatorState();
32

    
33
            Composite secondComposite = new Composite(parent, SWT.NULL);
34
            secondComposite.setLayout(new GridLayout());
35

    
36
            final Button activateRestoreNavigatorButton = new Button(secondComposite, SWT.CHECK | SWT.LEFT);
37
            activateRestoreNavigatorButton.setText("Restore the last Taxon Navigator state.");
38
            activateRestoreNavigatorButton.setSelection(isRestoreTaxonNavigator);
39
            activateRestoreNavigatorButton.addSelectionListener(new SelectionAdapter(){
40
                @Override
41
                public void widgetSelected(SelectionEvent e) {
42
                    if(isRestoreTaxonNavigator != activateRestoreNavigatorButton.getSelection()) {
43
                        isRestoreTaxonNavigator = activateRestoreNavigatorButton.getSelection();
44

    
45
                    }
46
                }
47

    
48
            });
49

    
50

    
51
            Composite composite = new Composite(parent, SWT.NULL);
52
	        composite.setLayout(new GridLayout());
53

    
54
	        Label label = new Label(composite, SWT.NONE);
55
	        label.setText("Sorting");
56

    
57
	        GridData gridData = new GridData();
58
            gridData = new GridData(GridData.BEGINNING, GridData.CENTER, true, false);
59
            gridData.horizontalIndent = 5;
60

    
61
	        orderSelectionCombo = new Combo(composite, SWT.BORDER| SWT.READ_ONLY);
62
	        orderSelectionCombo.setLayoutData(gridData);
63

    
64
            for(NavigatorOrderEnum display: NavigatorOrderEnum.values()){
65
                orderSelectionCombo.add(display.getLabel());
66
            }
67

    
68
            int index = 0;
69
            if (PreferencesUtil.getStringValue(IPreferenceKeys.SORT_NODES) != null){
70
                this.orderActivated = NavigatorOrderEnum.valueOf(PreferencesUtil.getStringValue(IPreferenceKeys.SORT_NODES));
71

    
72
                for (String itemLabel : orderSelectionCombo.getItems()){
73
                    if (itemLabel.equalsIgnoreCase(orderActivated.getLabel())){
74
                        orderSelectionCombo.select(index);
75
                        break;
76
                    }
77
                    index++;
78
                }
79
            }
80

    
81
            // TODO remember last selection
82
            orderSelectionCombo.addSelectionListener(this);
83

    
84

    
85

    
86

    
87

    
88

    
89
            final Label description = new Label(parent, SWT.NONE);
90
            description.setText(Messages.OrderPreferencePage_NewNavigatorWindowRequired);
91

    
92
	        return composite;
93
	    }
94

    
95

    
96
		@Override
97
		public boolean performOk() {
98
	       if(isSelectionChanged){
99
	           PreferencesUtil.setSortNodes(this.orderActivated);
100

    
101
	           PreferencesUtil.setStoreNavigatorState(isRestoreTaxonNavigator);
102
	    	  MessageDialog.openInformation(getShell(), null, Messages.OrderPreferencePage_PleaseReopenNavigator);
103
	    	  isSelectionChanged = false;
104
			return super.performOk();
105
	       }
106
	       return true;
107
		}
108

    
109

    
110
        /**
111
         * {@inheritDoc}
112
         */
113
        @Override
114
        public void widgetSelected(SelectionEvent e) {
115
            // TODO Auto-generated method stub
116

    
117
        }
118

    
119

    
120
        /**
121
         * {@inheritDoc}
122
         */
123
        @Override
124
        public void widgetDefaultSelected(SelectionEvent e) {
125
            // TODO Auto-generated method stub
126

    
127
        }
128

    
129

    
130
}
(20-20/30)