.
[taxeditor.git] / taxeditor-editor / src / main / java / eu / etaxonomy / taxeditor / propertysheet / tabbed / NomRefPropertySection.java
1 // $Id$
2 /**
3 * Copyright (C) 2007 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
11 package eu.etaxonomy.taxeditor.propertysheet.tabbed;
12
13 import org.apache.log4j.Logger;
14 import org.eclipse.jface.viewers.ISelection;
15 import org.eclipse.swt.custom.CCombo;
16 import org.eclipse.swt.custom.CLabel;
17 import org.eclipse.swt.widgets.Button;
18 import org.eclipse.swt.widgets.Composite;
19 import org.eclipse.swt.widgets.Text;
20 import org.eclipse.ui.IWorkbenchPart;
21 import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage;
22
23 import eu.etaxonomy.cdm.model.reference.ReferenceBase;
24 import eu.etaxonomy.taxeditor.propertysheet.name.ScientificNamePropertySource;
25 import eu.etaxonomy.taxeditor.store.CdmStore;
26
27 /**
28 * @author n.hoffmann
29 * @created 05.06.2009
30 * @version 1.0
31 */
32 public class NomRefPropertySection extends AbstractNamePropertySection {
33 private static final Logger logger = Logger
34 .getLogger(NomRefPropertySection.class);
35
36 private ReferenceBase<?> reference;
37 private String microReference;
38
39
40 private CCombo referenceTypeCombo;
41
42 private Text titleText;
43 private Text placePublishedText;
44 private Text datePublishedText;
45 private Text editorText;
46 private Text publisherText;
47 private Text inSeriesText;
48 private Text pagesText;
49 private Text seriesPartText;
50 private Text volumeText;
51 private Text isbnText;
52 private Text editionText;
53
54
55 private Text microReferenceText;
56
57 private Button searchButton;
58
59 /**
60 *
61 */
62 public NomRefPropertySection() {}
63
64
65 /* (non-Javadoc)
66 * @see org.eclipse.ui.views.properties.tabbed.AbstractPropertySection#createControls(org.eclipse.swt.widgets.Composite, org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage)
67 */
68 @Override
69 public void createControls(Composite parent, TabbedPropertySheetPage tabbedPropertySheetPage) {
70
71 super.createControls(parent, tabbedPropertySheetPage);
72
73 CLabel empty = getWidgetFactory().createCLabel(composite, "");
74 searchButton = createSearchButton(composite);
75
76
77 CLabel referenceTypeLabel = getWidgetFactory().createCLabel(composite, "Reference Type");
78 referenceTypeCombo = getWidgetFactory().createCCombo(composite);
79 referenceTypeCombo.setLayoutData(layoutData);
80
81 for (Class clazz : CdmStore.getReferenceTypes().keySet()){
82 referenceTypeCombo.add(CdmStore.getReferenceTypes().get(clazz));
83 }
84
85 CLabel titleLabel = getWidgetFactory().createCLabel(composite, "Title");
86 titleText = getWidgetFactory().createText(composite, "");
87 titleText.setLayoutData(layoutData);
88
89 CLabel placePublishedLabel = getWidgetFactory().createCLabel(composite, "Place Published");
90 placePublishedText = getWidgetFactory().createText(composite, "");
91 placePublishedText.setLayoutData(layoutData);
92
93 CLabel datePublishedLabel = getWidgetFactory().createCLabel(composite, "Date Published");
94 datePublishedText = getWidgetFactory().createText(composite, "");
95 datePublishedText.setLayoutData(layoutData);
96
97 CLabel editorLabel = getWidgetFactory().createCLabel(composite, "Editor");
98 editorText = getWidgetFactory().createText(composite, "");
99 editorText.setLayoutData(layoutData);
100
101 CLabel publisherLabel = getWidgetFactory().createCLabel(composite, "Publisher");
102 publisherText = getWidgetFactory().createText(composite, "");
103 publisherText.setLayoutData(layoutData);
104
105 CLabel inSeriesLabel = getWidgetFactory().createCLabel(composite, "In Series");
106 inSeriesText = getWidgetFactory().createText(composite, "");
107 inSeriesText.setLayoutData(layoutData);
108
109 CLabel pagesLabel = getWidgetFactory().createCLabel(composite, "Pages");
110 pagesText = getWidgetFactory().createText(composite, "");
111 pagesText.setLayoutData(layoutData);
112
113 CLabel seriesPartLabel = getWidgetFactory().createCLabel(composite, "Series Part");
114 seriesPartText = getWidgetFactory().createText(composite, "");
115 seriesPartText.setLayoutData(layoutData);
116
117 CLabel volumeLabel = getWidgetFactory().createCLabel(composite, "Volume");
118 volumeText = getWidgetFactory().createText(composite, "");
119 volumeText.setLayoutData(layoutData);
120
121 CLabel isbnLabel = getWidgetFactory().createCLabel(composite, "ISBN");
122 isbnText = getWidgetFactory().createText(composite, "");
123 isbnText.setLayoutData(layoutData);
124
125 CLabel editionLabel = getWidgetFactory().createCLabel(composite, "Edition");
126 editionText = getWidgetFactory().createText(composite, "");
127 editionText.setLayoutData(layoutData);
128
129 CLabel microReferenceLabel = getWidgetFactory().createCLabel(composite, "Reference Detail");
130 microReferenceText = getWidgetFactory().createText(composite, "");
131 microReferenceText.setLayoutData(layoutData);
132
133
134 }
135
136 /* (non-Javadoc)
137 * @see org.eclipse.ui.views.properties.tabbed.AbstractPropertySection#refresh()
138 */
139 @Override
140 public void refresh() {
141 super.refresh();
142
143 section.setText("Nomenclatural Reference");
144
145 cacheText.setText(reference.getTitleCache());
146 editCacheButton.setSelection(reference.isProtectedTitleCache());
147
148 microReferenceText.setText(microReference);
149 }
150
151 /* (non-Javadoc)
152 * @see org.eclipse.ui.views.properties.tabbed.AbstractPropertySection#setInput(org.eclipse.ui.IWorkbenchPart, org.eclipse.jface.viewers.ISelection)
153 */
154 @Override
155 public void setInput(IWorkbenchPart part, ISelection selection) {
156 super.setInput(part, selection);
157 reference = name.getNomenclaturalReference();
158 microReference = name.getNomenclaturalMicroReference();
159 }
160 }