Project

General

Profile

« Previous | Next » 

Revision e9116e90

Added by Patrick Plitzner over 10 years ago

  • added DerivateSearchView

View differences:

.gitattributes
1260 1260
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/basicFields/ToggleableTextFieldController.java -text
1261 1261
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/compatibility/ICdmFormElement.java -text
1262 1262
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/compatibility/IEntitySelectionElement.java -text
1263
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/derivatesearch/DerivateSearchComposite.java -text
1264
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/derivatesearch/DerivateSearchCompositeController.java -text
1265
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/derivatesearch/DerivateSearchResultsLabelProvider.java -text
1266
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/derivatesearch/DerivateSearchView.java -text
1263 1267
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/detailViews/fieldObservation/FieldObservationDetailsElement.java -text
1264 1268
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/detailViews/fieldObservation/FieldObservationDetailsElementController.java -text
1265 1269
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/detailViews/fieldObservation/FieldObservationDetailsSection.java -text
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/derivate/CreateDerivateContextMenu.java
73 73
                                        if(activePart instanceof DerivateView){
74 74
                                            DerivateView derivateView = (DerivateView)activePart;
75 75
                                            derivateView.viewer.refresh();
76
                                            derivateView.getEditor().doSave(new NullProgressMonitor());
76
                                            derivateView.doSave(new NullProgressMonitor());
77 77
                                        }
78 78
                                    }
79 79

  
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/derivate/DerivateView.java
1 1
package eu.etaxonomy.taxeditor.editor.view.derivate;
2 2

  
3
import org.eclipse.core.runtime.IProgressMonitor;
3 4
import org.eclipse.jface.action.MenuManager;
4
import org.eclipse.jface.viewers.ISelection;
5 5
import org.eclipse.jface.viewers.TreeViewer;
6
import org.eclipse.jface.viewers.Viewer;
7 6
import org.eclipse.swt.SWT;
8 7
import org.eclipse.swt.widgets.Composite;
9 8
import org.eclipse.swt.widgets.Control;
10 9
import org.eclipse.swt.widgets.Menu;
11 10
import org.eclipse.swt.widgets.Tree;
12
import org.eclipse.ui.IWorkbenchPart;
11
import org.eclipse.ui.IEditorInput;
12
import org.eclipse.ui.IEditorSite;
13
import org.eclipse.ui.PartInitException;
14
import org.eclipse.ui.part.EditorPart;
13 15

  
14
import eu.etaxonomy.cdm.model.common.CdmBase;
15
import eu.etaxonomy.taxeditor.bulkeditor.BulkEditor;
16
import eu.etaxonomy.taxeditor.model.AbstractUtility;
17 16
import eu.etaxonomy.taxeditor.model.IPartContentHasDetails;
18 17
import eu.etaxonomy.taxeditor.model.IPartContentHasSupplementalData;
19
import eu.etaxonomy.taxeditor.view.AbstractCdmEditorViewPart;
20 18

  
21 19
/**
22 20
 * Displays the derivate hierarchy of all derivates belonging to a taxon.
23 21
 *
24 22
 */
25
public class DerivateView extends AbstractCdmEditorViewPart implements IPartContentHasDetails, IPartContentHasSupplementalData {
23
public class DerivateView extends EditorPart implements IPartContentHasDetails, IPartContentHasSupplementalData {
26 24

  
27 25
	/** Constant <code>ID="eu.etaxonomy.taxeditor.editor.view.desc"{trunked}</code> */
28 26
	public static final String ID = "eu.etaxonomy.taxeditor.editor.view.derivate.DerivateView";
29 27

  
30 28
	protected TreeViewer viewer;
31 29

  
32
	@Override
33
	public void createViewer(Composite parent) {
34
		viewer = new TreeViewer(new Tree(parent, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL | SWT.FULL_SELECTION));
35
		viewer.setContentProvider(new DerivateContentProvider());
36
		viewer.setLabelProvider(new DerivateLabelProvider());
37
		viewer.setAutoExpandLevel(2);
30
    /* (non-Javadoc)
31
     * @see org.eclipse.ui.part.WorkbenchPart#createPartControl(org.eclipse.swt.widgets.Composite)
32
     */
33
    @Override
34
    public void createPartControl(Composite parent) {
35
        viewer = new TreeViewer(new Tree(parent, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL | SWT.FULL_SELECTION));
36
        viewer.setContentProvider(new DerivateContentProvider());
37
        viewer.setLabelProvider(new DerivateLabelProvider());
38
        viewer.setAutoExpandLevel(2);
38 39
        // Propagate selection from viewer
39 40
        getSite().setSelectionProvider(viewer);
40 41

  
......
47 48
        Menu menu = menuManager.createContextMenu(control);
48 49

  
49 50
        control.setMenu(menu);
50
	}
51

  
52
	@Override
53
	public void selectionChanged(IWorkbenchPart part, ISelection selection) {
54
	    if(AbstractUtility.getActiveEditor()==null || !(AbstractUtility.getActiveEditor() instanceof BulkEditor)){
55
	        showEmptyPage();
56
	        return;
57
	    }
58
	    else if(part instanceof BulkEditor){
59
	        this.part = part;
60

  
61
	        getViewer().setInput(selection);
62

  
63
	        showViewer();
64
	        return;
65
	    }
66
	}
67

  
68
	@Override
69
	public boolean onComplete() {
70
		// TODO Auto-generated method stub
71
		return false;
72
	}
73

  
74
	@Override
75
	public Viewer getViewer() {
76
		return viewer;
77
	}
78

  
79

  
80
	@Override
81
    public boolean postOperation(CdmBase objectAffectedByOperation) {
82
		return super.postOperation(objectAffectedByOperation);
83
	}
51

  
52
    }
53

  
54
    /* (non-Javadoc)
55
     * @see org.eclipse.ui.part.EditorPart#doSave(org.eclipse.core.runtime.IProgressMonitor)
56
     */
57
    @Override
58
    public void doSave(IProgressMonitor monitor) {
59
        // TODO Auto-generated method stub
60

  
61
    }
62

  
63
    /* (non-Javadoc)
64
     * @see org.eclipse.ui.part.EditorPart#doSaveAs()
65
     */
66
    @Override
67
    public void doSaveAs() {
68
        // TODO Auto-generated method stub
69

  
70
    }
71

  
72
    /* (non-Javadoc)
73
     * @see org.eclipse.ui.part.EditorPart#init(org.eclipse.ui.IEditorSite, org.eclipse.ui.IEditorInput)
74
     */
75
    @Override
76
    public void init(IEditorSite site, IEditorInput input) throws PartInitException {
77
        // TODO Auto-generated method stub
78

  
79
    }
80

  
81
    /* (non-Javadoc)
82
     * @see org.eclipse.ui.part.EditorPart#isDirty()
83
     */
84
    @Override
85
    public boolean isDirty() {
86
        // TODO Auto-generated method stub
87
        return false;
88
    }
89

  
90
    /* (non-Javadoc)
91
     * @see org.eclipse.ui.part.EditorPart#isSaveAsAllowed()
92
     */
93
    @Override
94
    public boolean isSaveAsAllowed() {
95
        // TODO Auto-generated method stub
96
        return false;
97
    }
98

  
99

  
100
    /* (non-Javadoc)
101
     * @see org.eclipse.ui.part.WorkbenchPart#setFocus()
102
     */
103
    @Override
104
    public void setFocus() {
105
        // TODO Auto-generated method stub
106

  
107
    }
108

  
109
//	@Override
110
//	public void createViewer(Composite parent) {
111
//		viewer = new TreeViewer(new Tree(parent, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL | SWT.FULL_SELECTION));
112
//		viewer.setContentProvider(new DerivateContentProvider());
113
//		viewer.setLabelProvider(new DerivateLabelProvider());
114
//		viewer.setAutoExpandLevel(2);
115
//        // Propagate selection from viewer
116
//        getSite().setSelectionProvider(viewer);
117
//
118
//        //create context menu
119
//        MenuManager menuManager = new MenuManager();
120
//
121
//        getSite().registerContextMenu(menuManager, viewer);
122
//
123
//        Control control = viewer.getControl();
124
//        Menu menu = menuManager.createContextMenu(control);
125
//
126
//        control.setMenu(menu);
127
//	}
128
//
129
//	@Override
130
//	public void selectionChanged(IWorkbenchPart part, ISelection selection) {
131
//	    if(AbstractUtility.getActiveEditor()==null || !(AbstractUtility.getActiveEditor() instanceof BulkEditor)){
132
//	        showEmptyPage();
133
//	        return;
134
//	    }
135
//	    else if(part instanceof BulkEditor){
136
//	        this.part = part;
137
//
138
//	        getViewer().setInput(selection);
139
//
140
//	        showViewer();
141
//	        return;
142
//	    }
143
//	}
144
//
145
//	@Override
146
//	public boolean onComplete() {
147
//		// TODO Auto-generated method stub
148
//		return false;
149
//	}
150
//
151
//	@Override
152
//	public Viewer getViewer() {
153
//		return viewer;
154
//	}
155
//
156
//
157
//	@Override
158
//    public boolean postOperation(CdmBase objectAffectedByOperation) {
159
//		return super.postOperation(objectAffectedByOperation);
160
//	}
84 161

  
85 162

  
86 163
}
eu.etaxonomy.taxeditor.store/plugin.xml
226 226
        id="eu.etaxonomy.taxeditor.view.userecords"
227 227
        name="Use Records"
228 228
        restorable="true">
229
  </view>
230
  <view
231
        class="eu.etaxonomy.taxeditor.ui.campanula.derivatesearch.DerivateSearchView"
232
        id="eu.etaxonomy.taxeditor.ui.campanula.derivatesearch.DerivateSearchView"
233
        name="Derivate Search"
234
        restorable="true">
229 235
  </view>
230 236
   </extension>
231 237
   <extension
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/derivatesearch/DerivateSearchComposite.java
1
// $Id$
2
/**
3
* Copyright (C) 2013 EDIT
4
* European Distributed Institute of Taxonomy
5
* http://www.e-taxonomy.eu
6
*
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.
9
*/
10
package eu.etaxonomy.taxeditor.ui.campanula.derivatesearch;
11

  
12
import org.eclipse.jface.viewers.TableViewer;
13
import org.eclipse.swt.SWT;
14
import org.eclipse.swt.layout.GridData;
15
import org.eclipse.swt.layout.GridLayout;
16
import org.eclipse.swt.widgets.Combo;
17
import org.eclipse.swt.widgets.Composite;
18
import org.eclipse.swt.widgets.Display;
19
import org.eclipse.swt.widgets.Label;
20
import org.eclipse.swt.widgets.Table;
21
import org.eclipse.swt.widgets.Text;
22
import org.eclipse.ui.forms.widgets.FormToolkit;
23

  
24
/**
25
 * @author pplitzner
26
 * @date 25.11.2013
27
 *
28
 */
29
public class DerivateSearchComposite extends Composite {
30
    private final FormToolkit formToolkit = new FormToolkit(Display.getDefault());
31
    private Text searchField;
32
    private Table table;
33
    private TableViewer resultViewer;
34

  
35
    /**
36
     * Create the composite.
37
     * @param parent
38
     * @param style
39
     */
40
    public DerivateSearchComposite(Composite parent, int style) {
41
        super(parent, style);
42
        setLayout(new GridLayout(2, false));
43

  
44
        Label lblDerivateType = new Label(this, SWT.NULL);
45
        lblDerivateType.setLayoutData(new GridData(SWT.RIGHT, SWT.CENTER, false, false, 1, 1));
46
        lblDerivateType.setText("Derivate Type");
47

  
48
        Combo combo = new Combo(this, SWT.NONE);
49
        combo.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false, 1, 1));
50
        formToolkit.paintBordersFor(combo);
51

  
52
        searchField = formToolkit.createText(this, "New Text", SWT.NONE);
53
        searchField.setText("");
54
        searchField.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false, 2, 1));
55

  
56
        resultViewer = new TableViewer(this, SWT.BORDER | SWT.FULL_SELECTION);
57
        table = resultViewer.getTable();
58
        table.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true, 2, 1));
59

  
60
    }
61

  
62
    @Override
63
    protected void checkSubclass() {
64
        // Disable the check that prevents subclassing of SWT components
65
    }
66
    public Text getSearchField() {
67
        return searchField;
68
    }
69
    public TableViewer getResultViewer() {
70
        return resultViewer;
71
    }
72
}
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/derivatesearch/DerivateSearchCompositeController.java
1
// $Id$
2
/**
3
* Copyright (C) 2013 EDIT
4
* European Distributed Institute of Taxonomy
5
* http://www.e-taxonomy.eu
6
*
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.
9
*/
10
package eu.etaxonomy.taxeditor.ui.campanula.derivatesearch;
11

  
12
import java.util.List;
13

  
14
import org.eclipse.jface.viewers.ArrayContentProvider;
15
import org.eclipse.jface.viewers.DoubleClickEvent;
16
import org.eclipse.jface.viewers.IDoubleClickListener;
17
import org.eclipse.jface.viewers.TableViewer;
18
import org.eclipse.swt.SWT;
19
import org.eclipse.swt.events.KeyAdapter;
20
import org.eclipse.swt.events.KeyEvent;
21

  
22
import eu.etaxonomy.cdm.api.service.config.IIdentifiableEntityServiceConfigurator;
23
import eu.etaxonomy.cdm.api.service.config.IdentifiableServiceConfiguratorImpl;
24
import eu.etaxonomy.cdm.model.occurrence.SpecimenOrObservationBase;
25
import eu.etaxonomy.taxeditor.store.CdmStore;
26

  
27
/**
28
 * @author pplitzner
29
 * @date 25.11.2013
30
 *
31
 */
32
public class DerivateSearchCompositeController {
33

  
34
    private DerivateSearchComposite derivateSearchComposite;
35
    private IIdentifiableEntityServiceConfigurator<SpecimenOrObservationBase<?>> configurator;
36

  
37
    /**
38
     * @param derivateSearchComposite
39
     */
40
    public DerivateSearchCompositeController(DerivateSearchComposite derivateSearchComposite) {
41
        this.derivateSearchComposite = derivateSearchComposite;
42
        init();
43
    }
44

  
45
    private void init(){
46
        derivateSearchComposite.getSearchField().addKeyListener(new KeyAdapter() {
47
            /*
48
             * (non-Javadoc)
49
             * @see org.eclipse.swt.events.KeyAdapter#keyPressed(org.eclipse.swt.events.KeyEvent)
50
             */
51
            @Override
52
            public void keyPressed(KeyEvent e) {
53
                if (e.keyCode == SWT.CR) {
54
                    String searchString = derivateSearchComposite.getSearchField().getText();
55
                    searchDerivates(searchString);
56
                }
57
            }
58
        });
59

  
60
        TableViewer resultViewer = derivateSearchComposite.getResultViewer();
61
        resultViewer.setContentProvider(new ArrayContentProvider());
62
        resultViewer.setLabelProvider(new DerivateSearchResultsLabelProvider());
63
        resultViewer.addDoubleClickListener(new IDoubleClickListener() {
64
            @Override
65
            public void doubleClick(DoubleClickEvent event) {
66
//                PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().openEditor(input, editorId);
67
            }
68
        });
69

  
70
        configurator = new IdentifiableServiceConfiguratorImpl<SpecimenOrObservationBase<?>>();
71
    }
72

  
73
    private void searchDerivates(String searchString){
74
        configurator.setTitleSearchString(searchString);
75
        List<SpecimenOrObservationBase> results = CdmStore.getSearchManager().findOccurrences(configurator);
76
        derivateSearchComposite.getResultViewer().setInput(results);
77
    }
78

  
79
}
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/derivatesearch/DerivateSearchResultsLabelProvider.java
1
// $Id$
2
/**
3
* Copyright (C) 2013 EDIT
4
* European Distributed Institute of Taxonomy
5
* http://www.e-taxonomy.eu
6
*
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.
9
*/
10
package eu.etaxonomy.taxeditor.ui.campanula.derivatesearch;
11

  
12
import org.eclipse.jface.viewers.ColumnLabelProvider;
13
import org.eclipse.swt.graphics.Color;
14

  
15
import eu.etaxonomy.cdm.model.common.UuidAndTitleCache;
16

  
17
/**
18
 * @author pplitzner
19
 * @date 25.11.2013
20
 *
21
 */
22
public class DerivateSearchResultsLabelProvider extends ColumnLabelProvider {
23

  
24
    /** {@inheritDoc} */
25
    @Override
26
    public String getText(Object element) {
27
        if(element instanceof UuidAndTitleCache){
28
            return ((UuidAndTitleCache) element).getTitleCache();
29
        }
30
        return element.toString();
31
    }
32

  
33
    /* (non-Javadoc)
34
     * @see org.eclipse.jface.viewers.ColumnLabelProvider#getBackground(java.lang.Object)
35
     */
36
    /** {@inheritDoc} */
37
    @Override
38
    public Color getBackground(Object element) {
39
        return super.getBackground(element);
40
    }
41

  
42
    /* (non-Javadoc)
43
     * @see org.eclipse.jface.viewers.CellLabelProvider#getToolTipText(java.lang.Object)
44
     *
45
     * does not seem t work right now
46
     */
47
    /** {@inheritDoc} */
48
    @Override
49
    public String getToolTipText(Object element) {
50
        return "Name: " + element.toString();
51
    }
52

  
53
}
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/derivatesearch/DerivateSearchView.java
1
// $Id$
2
/**
3
* Copyright (C) 2013 EDIT
4
* European Distributed Institute of Taxonomy
5
* http://www.e-taxonomy.eu
6
*
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.
9
*/
10
package eu.etaxonomy.taxeditor.ui.campanula.derivatesearch;
11

  
12
import org.eclipse.swt.SWT;
13
import org.eclipse.swt.widgets.Composite;
14
import org.eclipse.ui.part.ViewPart;
15

  
16
/**
17
 * @author pplitzner
18
 * @date 25.11.2013
19
 *
20
 */
21
public class DerivateSearchView extends ViewPart {
22
    public DerivateSearchView() {
23
    }
24

  
25
    /* (non-Javadoc)
26
     * @see org.eclipse.ui.part.WorkbenchPart#createPartControl(org.eclipse.swt.widgets.Composite)
27
     */
28
    @Override
29
    public void createPartControl(Composite parent) {
30
        new DerivateSearchCompositeController(new DerivateSearchComposite(parent, SWT.NONE));
31
    }
32

  
33
    /* (non-Javadoc)
34
     * @see org.eclipse.ui.part.WorkbenchPart#setFocus()
35
     */
36
    @Override
37
    public void setFocus() {
38
        // TODO Auto-generated method stub
39

  
40
    }
41

  
42
}

Also available in: Unified diff