Project

General

Profile

Download (4.5 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(Messages.OrderPreferences_Restore);
38
            activateRestoreNavigatorButton.setSelection(isRestoreTaxonNavigator);
39
            activateRestoreNavigatorButton.addSelectionListener(new SelectionAdapter(){
40
                @Override
41
                public void widgetSelected(SelectionEvent e) {
42
                    setApply(true);
43
                    if(isRestoreTaxonNavigator != activateRestoreNavigatorButton.getSelection()) {
44
                        isRestoreTaxonNavigator = activateRestoreNavigatorButton.getSelection();
45

    
46
                    }
47
                }
48

    
49
            });
50

    
51

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

    
55
	        Label label = new Label(composite, SWT.NONE);
56
	        label.setText(Messages.OrderPreferences_Sorting);
57

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

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

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

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

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

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

    
85
            final Label description = new Label(parent, SWT.NONE);
86
            description.setText(""); //$NON-NLS-1$
87

    
88
	        return composite;
89
	    }
90

    
91

    
92
		@Override
93
		public boolean performOk() {
94
		    if (this.orderActivated != null){
95
    		    PreferencesUtil.setSortNodes(this.orderActivated);
96
    	        PreferencesUtil.setStoreNavigatorState(isRestoreTaxonNavigator);
97
    	    	MessageDialog.openInformation(getShell(), null, ""); //$NON-NLS-1$
98
		    }
99
			return super.performOk();
100

    
101
		}
102

    
103

    
104
        /**
105
         * {@inheritDoc}
106
         */
107
        @Override
108
        public void widgetSelected(SelectionEvent e) {
109
            setApply(true);
110
            isSelectionChanged = true;
111
            for (NavigatorOrderEnum item : NavigatorOrderEnum.values()){
112
                if (item.getLabel().equalsIgnoreCase(orderSelectionCombo.getText())){
113
                    this.orderActivated = item;
114
                }
115
            }
116
        }
117

    
118

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

    
126
        }
127

    
128

    
129
}
(25-25/40)