Add initial OccurenceView to RCP plugin
[taxeditor.git] / eu.etaxonomy.taxeditor.store / src / main / java / eu / etaxonomy / taxeditor / view / 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.view.derivateSearch;
11
12 import org.eclipse.jface.viewers.TableViewer;
13 import org.eclipse.swt.SWT;
14 import org.eclipse.swt.events.SelectionAdapter;
15 import org.eclipse.swt.events.SelectionEvent;
16 import org.eclipse.swt.layout.GridData;
17 import org.eclipse.swt.layout.GridLayout;
18 import org.eclipse.swt.widgets.Button;
19 import org.eclipse.swt.widgets.Combo;
20 import org.eclipse.swt.widgets.Composite;
21 import org.eclipse.swt.widgets.Display;
22 import org.eclipse.swt.widgets.Label;
23 import org.eclipse.swt.widgets.Table;
24 import org.eclipse.swt.widgets.Text;
25 import org.eclipse.ui.forms.widgets.FormToolkit;
26 import org.eclipse.wb.swt.ResourceManager;
27
28 /**
29 * The widgets of the {@link DerivateSearchView}<br>
30 *
31 */
32 public class DerivateSearchComposite extends Composite {
33 private final FormToolkit formToolkit = new FormToolkit(Display.getDefault());
34 private final Text searchField;
35 private final Table table;
36 private final TableViewer resultViewer;
37 private final Combo comboDerivateType;
38 private final Button buttonSearch;
39 private final Button btnFilterUndeterminedSpecimen;
40 private final Text textTaxonName;
41 private final Button btnBrowseTaxa;
42 private final Label lblTaxon;
43 private final Label lblDerivateType;
44 private final Button btnClearTaxon;
45
46 /**
47 * Create the composite.
48 * @param parent
49 * @param style
50 */
51 public DerivateSearchComposite(Composite parent, int style) {
52 super(parent, style);
53 setLayout(new GridLayout(4, false));
54
55 lblTaxon = new Label(this, SWT.NONE);
56 lblTaxon.setText("Taxon");
57
58 textTaxonName = formToolkit.createText(this, "New Text", SWT.NONE);
59 textTaxonName.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false, 1, 1));
60 textTaxonName.setEnabled(false);
61 textTaxonName.setText("");
62
63 btnBrowseTaxa = formToolkit.createButton(this, "", SWT.NONE);
64 btnBrowseTaxa.setImage(ResourceManager.getPluginImage("eu.etaxonomy.taxeditor.store", "icons/open.gif"));
65
66 btnClearTaxon = formToolkit.createButton(this, "", SWT.NONE);
67 btnClearTaxon.setLayoutData(new GridData(SWT.LEFT, SWT.TOP, false, false, 1, 1));
68 btnClearTaxon.setImage(ResourceManager.getPluginImage("eu.etaxonomy.taxeditor.store", "icons/trash.gif"));
69
70 lblDerivateType = new Label(this, SWT.NULL);
71 lblDerivateType.setText("Derivative Type");
72
73 comboDerivateType = new Combo(this, SWT.READ_ONLY);
74 comboDerivateType.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, false, false, 1, 1));
75 formToolkit.paintBordersFor(comboDerivateType);
76
77 btnFilterUndeterminedSpecimen = new Button(this, SWT.CHECK);
78 btnFilterUndeterminedSpecimen.setLayoutData(new GridData(SWT.LEFT, SWT.CENTER, false, false, 2, 1));
79 btnFilterUndeterminedSpecimen.addSelectionListener(new SelectionAdapter() {
80 @Override
81 public void widgetSelected(SelectionEvent e) {
82 }
83 });
84 btnFilterUndeterminedSpecimen.setText("Determined");
85
86 buttonSearch = new Button(this, SWT.NONE);
87 formToolkit.adapt(buttonSearch, true, true);
88 buttonSearch.setText("Search");
89
90 searchField = formToolkit.createText(this, "New Text", SWT.NONE);
91 searchField.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, false, false, 1, 1));
92 searchField.setText("");
93 new Label(this, SWT.NONE);
94 new Label(this, SWT.NONE);
95
96 resultViewer = new TableViewer(this, SWT.BORDER | SWT.FULL_SELECTION | SWT.MULTI);
97 table = resultViewer.getTable();
98 table.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true, 4, 1));
99
100 }
101
102 @Override
103 protected void checkSubclass() {
104 // Disable the check that prevents subclassing of SWT components
105 }
106 public Text getSearchField() {
107 return searchField;
108 }
109 public TableViewer getResultViewer() {
110 return resultViewer;
111 }
112 public Combo getComboDerivateType() {
113 return comboDerivateType;
114 }
115 public Button getButtonSearch() {
116 return buttonSearch;
117 }
118
119 @Override
120 public void setEnabled(boolean enabled){
121 super.setEnabled(enabled);
122 searchField.setEnabled(enabled);
123 table.setEnabled(enabled);
124 // resultViewer.setEnabled(enabled);
125 comboDerivateType.setEnabled(enabled);
126 buttonSearch.setEnabled(enabled);
127 btnFilterUndeterminedSpecimen.setEnabled(enabled);
128 btnBrowseTaxa.setEnabled(enabled);
129 lblTaxon.setEnabled(enabled);
130 lblDerivateType.setEnabled(enabled);
131 }
132 public Button getBtnFilterUndeterminedSpecimen() {
133 return btnFilterUndeterminedSpecimen;
134 }
135 public Button getBtnBrowseTaxa() {
136 return btnBrowseTaxa;
137 }
138 public Text getTextTaxonName() {
139 return textTaxonName;
140 }
141 public Button getBtnClearTaxon() {
142 return btnClearTaxon;
143 }
144 }