3 * Copyright (C) 2007 EDIT
4 * European Distributed Institute of Taxonomy
5 * http://www.e-taxonomy.eu
7 * The contents of this file are subject to the Mozilla Public License Version 1.1
8 * See LICENSE.TXT at the top of this package for the full license terms.
11 package eu
.etaxonomy
.taxeditor
.bulkeditor
.preference
;
13 import java
.util
.HashMap
;
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
;
24 import org
.eclipse
.ui
.IWorkbench
;
25 import org
.eclipse
.ui
.IWorkbenchPreferencePage
;
27 import eu
.etaxonomy
.cdm
.model
.common
.MarkerType
;
28 import eu
.etaxonomy
.taxeditor
.preference
.PreferencesUtil
;
29 import eu
.etaxonomy
.taxeditor
.store
.TermStore
;
32 * <p>BulkEditorMarkerPreferenceComposite class.</p>
38 public class BulkEditorMarkerPreferencePage
extends PreferencePage
implements IWorkbenchPreferencePage
{
40 private Map
<MarkerType
, Boolean
> markerTypeEditingMap
= new HashMap
<MarkerType
, Boolean
>();
43 * @see org.eclipse.ui.IWorkbenchPreferencePage#init(org.eclipse.ui.IWorkbench)
46 public void init(IWorkbench workbench
) {
47 setPreferenceStore(PreferencesUtil
.getPreferenceStore());
48 markerTypeEditingMap
= PreferencesUtil
.getEditMarkerTypePreferences();
52 * @see org.eclipse.jface.preference.PreferencePage#createContents(org.eclipse.swt.widgets.Composite)
55 protected Control
createContents(Composite parent
) {
56 Composite container
= new Composite(parent
, SWT
.NULL
);
57 container
.setLayout(new GridLayout());
59 for (final MarkerType markerType
: TermStore
.getNonTechnicalMarkerTypes()) {
60 final Button button
= new Button(container
, SWT
.CHECK
);
61 button
.setText(String
.format("Edit '%s' markers", markerType
.getLabel()));
63 button
.addSelectionListener(new SelectionAdapter() {
64 public void widgetSelected(SelectionEvent e
) {
65 markerTypeEditingMap
.put(markerType
, button
.getSelection());
69 boolean edit
= markerTypeEditingMap
.get(markerType
) == null ?
true : markerTypeEditingMap
.get(markerType
);
71 button
.setSelection(edit
);
78 * @see org.eclipse.jface.preference.PreferencePage#performOk()
81 public boolean performOk() {
82 PreferencesUtil
.setEditMarkerTypePreferences(markerTypeEditingMap
);
84 return super.performOk();