Project

General

Profile

« Previous | Next » 

Revision 2131fffa

Added by Patrick Plitzner over 8 years ago

Convert MobotOpenUrlPreferences and BulkEditorPreferencePage to
FieldEditorPreferencePage (#5336, #5338)

View differences:

eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/preference/BulkEditorMarkerPreferencePage.java
10 10

  
11 11
package eu.etaxonomy.taxeditor.bulkeditor.preference;
12 12

  
13
import java.util.HashMap;
14
import java.util.Map;
15

  
16
import org.eclipse.jface.preference.PreferencePage;
17
import org.eclipse.swt.SWT;
18
import org.eclipse.swt.events.SelectionAdapter;
19
import org.eclipse.swt.events.SelectionEvent;
20
import org.eclipse.swt.layout.GridLayout;
21
import org.eclipse.swt.widgets.Button;
22
import org.eclipse.swt.widgets.Composite;
23
import org.eclipse.swt.widgets.Control;
13
import org.eclipse.jface.preference.BooleanFieldEditor;
14
import org.eclipse.jface.preference.FieldEditorPreferencePage;
24 15
import org.eclipse.ui.IWorkbench;
25 16
import org.eclipse.ui.IWorkbenchPreferencePage;
26 17

  
27 18
import eu.etaxonomy.cdm.model.common.MarkerType;
28 19
import eu.etaxonomy.taxeditor.model.MessagingUtils;
20
import eu.etaxonomy.taxeditor.preference.IPreferenceKeys;
29 21
import eu.etaxonomy.taxeditor.preference.PreferencesUtil;
30 22
import eu.etaxonomy.taxeditor.store.CdmStore;
31 23
import eu.etaxonomy.taxeditor.store.TermStore;
32 24

  
33 25
/**
34
 * <p>BulkEditorMarkerPreferenceComposite class.</p>
35
 *
36 26
 * @author p.ciardelli
37 27
 * @created 17.08.2009
38 28
 * @version 1.0
39 29
 */
40
public class BulkEditorMarkerPreferencePage extends PreferencePage implements IWorkbenchPreferencePage {
30
public class BulkEditorMarkerPreferencePage extends FieldEditorPreferencePage implements IWorkbenchPreferencePage {
41 31

  
42
	private Map<MarkerType, Boolean> markerTypeEditingMap = new HashMap<MarkerType, Boolean>();
43 32

  
44
	/* (non-Javadoc)
45
	 * @see org.eclipse.ui.IWorkbenchPreferencePage#init(org.eclipse.ui.IWorkbench)
46
	 */
47 33
	@Override
48 34
	public void init(IWorkbench workbench) {
49 35
		setPreferenceStore(PreferencesUtil.getPreferenceStore());
50 36
		if(!CdmStore.isActive()) {
51 37
            MessagingUtils.noDataSourceWarningDialog(null);
52
		}else{
53
		    markerTypeEditingMap = PreferencesUtil.getEditMarkerTypePreferences();
54 38
		}
55 39
	}
56 40

  
57
	/* (non-Javadoc)
58
	 * @see org.eclipse.jface.preference.PreferencePage#createContents(org.eclipse.swt.widgets.Composite)
59
	 */
60
	@Override
61
	protected Control createContents(Composite parent) {
62
		Composite container = new Composite(parent, SWT.NULL);
63
		container.setLayout(new GridLayout());
41
    @Override
42
    protected void createFieldEditors() {
64 43
        if(CdmStore.isActive()){
65 44
            for (final MarkerType markerType : TermStore.getTerms(MarkerType.class)) {
66
                final Button button = new Button(container, SWT.CHECK);
67
                button.setText(String.format("Edit '%s' markers", markerType.getLabel()));
68

  
69
                button.addSelectionListener(new SelectionAdapter() {
70
                    @Override
71
                    public void widgetSelected(SelectionEvent e) {
72
                        markerTypeEditingMap.put(markerType, button.getSelection());
73
                    }
74
                });
75

  
76
                boolean edit = markerTypeEditingMap.get(markerType) == null ? true : markerTypeEditingMap.get(markerType);
77

  
78
                button.setSelection(edit);
45
                addField(new BooleanFieldEditor(IPreferenceKeys.EDIT_MARKER_TYPE_PREFIX
46
                        + markerType.getClass().getName() + markerType.getLabel(), String.format("Edit '%s' markers",
47
                        markerType.getLabel()), getFieldEditorParent()));
79 48
            }
80 49
        }
81
		return container;
82
	}
83

  
84
	/* (non-Javadoc)
85
	 * @see org.eclipse.jface.preference.PreferencePage#performOk()
86
	 */
87
	@Override
88
	public boolean performOk() {
89
		PreferencesUtil.setEditMarkerTypePreferences(markerTypeEditingMap);
90 50

  
91
		return super.performOk();
92
	}
51
    }
93 52
}

Also available in: Unified diff