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
.propertysheet
.tabbed
;
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
;
23 import eu
.etaxonomy
.cdm
.model
.reference
.ReferenceBase
;
24 import eu
.etaxonomy
.taxeditor
.propertysheet
.name
.ScientificNamePropertySource
;
25 import eu
.etaxonomy
.taxeditor
.store
.CdmStore
;
32 public class NomRefPropertySection
extends AbstractNamePropertySection
{
33 private static final Logger logger
= Logger
34 .getLogger(NomRefPropertySection
.class);
36 private ReferenceBase
<?
> reference
;
37 private String microReference
;
40 private CCombo referenceTypeCombo
;
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
;
55 private Text microReferenceText
;
57 private Button searchButton
;
62 public NomRefPropertySection() {}
66 * @see org.eclipse.ui.views.properties.tabbed.AbstractPropertySection#createControls(org.eclipse.swt.widgets.Composite, org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage)
69 public void createControls(Composite parent
, TabbedPropertySheetPage tabbedPropertySheetPage
) {
71 super.createControls(parent
, tabbedPropertySheetPage
);
73 CLabel empty
= getWidgetFactory().createCLabel(composite
, "");
74 searchButton
= createSearchButton(composite
);
77 CLabel referenceTypeLabel
= getWidgetFactory().createCLabel(composite
, "Reference Type");
78 referenceTypeCombo
= getWidgetFactory().createCCombo(composite
);
79 referenceTypeCombo
.setLayoutData(layoutData
);
81 for (Class clazz
: CdmStore
.getReferenceTypes().keySet()){
82 referenceTypeCombo
.add(CdmStore
.getReferenceTypes().get(clazz
));
85 CLabel titleLabel
= getWidgetFactory().createCLabel(composite
, "Title");
86 titleText
= getWidgetFactory().createText(composite
, "");
87 titleText
.setLayoutData(layoutData
);
89 CLabel placePublishedLabel
= getWidgetFactory().createCLabel(composite
, "Place Published");
90 placePublishedText
= getWidgetFactory().createText(composite
, "");
91 placePublishedText
.setLayoutData(layoutData
);
93 CLabel datePublishedLabel
= getWidgetFactory().createCLabel(composite
, "Date Published");
94 datePublishedText
= getWidgetFactory().createText(composite
, "");
95 datePublishedText
.setLayoutData(layoutData
);
97 CLabel editorLabel
= getWidgetFactory().createCLabel(composite
, "Editor");
98 editorText
= getWidgetFactory().createText(composite
, "");
99 editorText
.setLayoutData(layoutData
);
101 CLabel publisherLabel
= getWidgetFactory().createCLabel(composite
, "Publisher");
102 publisherText
= getWidgetFactory().createText(composite
, "");
103 publisherText
.setLayoutData(layoutData
);
105 CLabel inSeriesLabel
= getWidgetFactory().createCLabel(composite
, "In Series");
106 inSeriesText
= getWidgetFactory().createText(composite
, "");
107 inSeriesText
.setLayoutData(layoutData
);
109 CLabel pagesLabel
= getWidgetFactory().createCLabel(composite
, "Pages");
110 pagesText
= getWidgetFactory().createText(composite
, "");
111 pagesText
.setLayoutData(layoutData
);
113 CLabel seriesPartLabel
= getWidgetFactory().createCLabel(composite
, "Series Part");
114 seriesPartText
= getWidgetFactory().createText(composite
, "");
115 seriesPartText
.setLayoutData(layoutData
);
117 CLabel volumeLabel
= getWidgetFactory().createCLabel(composite
, "Volume");
118 volumeText
= getWidgetFactory().createText(composite
, "");
119 volumeText
.setLayoutData(layoutData
);
121 CLabel isbnLabel
= getWidgetFactory().createCLabel(composite
, "ISBN");
122 isbnText
= getWidgetFactory().createText(composite
, "");
123 isbnText
.setLayoutData(layoutData
);
125 CLabel editionLabel
= getWidgetFactory().createCLabel(composite
, "Edition");
126 editionText
= getWidgetFactory().createText(composite
, "");
127 editionText
.setLayoutData(layoutData
);
129 CLabel microReferenceLabel
= getWidgetFactory().createCLabel(composite
, "Reference Detail");
130 microReferenceText
= getWidgetFactory().createText(composite
, "");
131 microReferenceText
.setLayoutData(layoutData
);
137 * @see org.eclipse.ui.views.properties.tabbed.AbstractPropertySection#refresh()
140 public void refresh() {
143 section
.setText("Nomenclatural Reference");
145 cacheText
.setText(reference
.getTitleCache());
146 editCacheButton
.setSelection(reference
.isProtectedTitleCache());
148 microReferenceText
.setText(microReference
);
152 * @see org.eclipse.ui.views.properties.tabbed.AbstractPropertySection#setInput(org.eclipse.ui.IWorkbenchPart, org.eclipse.jface.viewers.ISelection)
155 public void setInput(IWorkbenchPart part
, ISelection selection
) {
156 super.setInput(part
, selection
);
157 reference
= name
.getNomenclaturalReference();
158 microReference
= name
.getNomenclaturalMicroReference();