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
.core
.runtime
.Assert
;
15 import org
.eclipse
.jface
.viewers
.ISelection
;
16 import org
.eclipse
.jface
.viewers
.IStructuredSelection
;
17 import org
.eclipse
.swt
.SWT
;
18 import org
.eclipse
.swt
.custom
.CLabel
;
19 import org
.eclipse
.swt
.layout
.GridLayout
;
20 import org
.eclipse
.swt
.widgets
.Composite
;
21 import org
.eclipse
.ui
.IWorkbenchPart
;
22 import org
.eclipse
.ui
.views
.properties
.tabbed
.AbstractPropertySection
;
23 import org
.eclipse
.ui
.views
.properties
.tabbed
.TabbedPropertySheetPage
;
25 import eu
.etaxonomy
.cdm
.hibernate
.HibernateProxyHelper
;
26 import eu
.etaxonomy
.cdm
.model
.name
.NonViralName
;
27 import eu
.etaxonomy
.cdm
.model
.taxon
.TaxonBase
;
34 public class NameOverviewSection
extends AbstractPropertySection
{
35 private static final Logger logger
= Logger
36 .getLogger(NameOverviewSection
.class);
37 private TaxonBase
<?
> taxonBase
;
38 private NonViralName
<?
> name
;
41 private CLabel parsingStatus
;
42 private Composite composite
;
47 public NameOverviewSection() {}
50 * @see org.eclipse.ui.views.properties.tabbed.AbstractPropertySection#createControls(org.eclipse.swt.widgets.Composite, org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage)
53 public void createControls(Composite parent
,
54 TabbedPropertySheetPage tabbedPropertySheetPage
) {
56 super.createControls(parent
, tabbedPropertySheetPage
);
58 composite
= getWidgetFactory().createComposite(parent
);
59 composite
.setLayout(new GridLayout(1, false));
61 title
= getWidgetFactory().createCLabel(composite
, "", SWT
.WRAP
);
62 parsingStatus
= getWidgetFactory().createCLabel(composite
, "");
66 * @see org.eclipse.ui.views.properties.tabbed.AbstractPropertySection#refresh()
69 public void refresh() {
72 title
.setText(name
.getFullTitleCache());
74 parsingStatus
.setText(name
.hasProblem() ?
"Name has problems" : "Name was succesfully parsed");
78 * @see org.eclipse.ui.views.properties.tabbed.AbstractPropertySection#setInput(org.eclipse.ui.IWorkbenchPart, org.eclipse.jface.viewers.ISelection)
81 public void setInput(IWorkbenchPart part
, ISelection selection
) {
82 super.setInput(part
, selection
);
83 Assert
.isTrue(selection
instanceof IStructuredSelection
);
84 Object input
= ((IStructuredSelection
) selection
).getFirstElement();
85 Assert
.isTrue(input
instanceof TaxonBase
);
86 taxonBase
= (TaxonBase
) input
;
87 name
= HibernateProxyHelper
.deproxy( taxonBase
.getName(), NonViralName
.class);