eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/editor/AbstractTaxonEditor.java -text
eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/editor/CompositeBorderDecorator.java -text
eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/editor/ContextMenu.java -text
-eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/editor/EditorDetailsPage.java -text
eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/editor/EmptyEditorView.java -text
eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/editor/EmptyTextViewerPrompt.java -text
eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/editor/ErrorAnnotation.java -text
eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/editor/GroupComposite.java -text
eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/editor/GroupCompositeLabel.java -text
eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/editor/GroupedComposite.java -text
-eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/editor/IFavoritesDraggable.java -text
eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/editor/IFreeTextElementFactory.java -text
eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/editor/IHasPropertySource.java -text
-eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/editor/IParentDataAdapter.java -text
eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/editor/LineBreakListener.java -text
eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/editor/LineWrapSquigglesStrategy.java -text
eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/editor/LineWrapSupport.java -text
eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/editor/description/DescriptionGroupComposite.java -text
eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/editor/description/DescriptionLabelComposite.java -text
eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/editor/description/IDescriptionEditorCompositeRepository.java -text
-eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/editor/description/TaxonDescriptionComposite.java -text
eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/editor/description/TaxonDescriptionEditor.java -text
eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/editor/name/AcceptedNameComposite.java -text
eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/editor/name/CdmParserController.java -text
+++ /dev/null
-package eu.etaxonomy.taxeditor.editor;\r
-\r
-import org.eclipse.core.databinding.DataBindingContext;\r
-import org.eclipse.core.databinding.beans.BeansObservables;\r
-import org.eclipse.jface.databinding.swt.SWTObservables;\r
-import org.eclipse.swt.SWT;\r
-import org.eclipse.swt.events.KeyEvent;\r
-import org.eclipse.swt.events.KeyListener;\r
-import org.eclipse.swt.layout.GridData;\r
-import org.eclipse.swt.layout.GridLayout;\r
-import org.eclipse.swt.widgets.Composite;\r
-import org.eclipse.swt.widgets.Control;\r
-import org.eclipse.swt.widgets.Text;\r
-import org.eclipse.ui.forms.IDetailsPage;\r
-import org.eclipse.ui.forms.IManagedForm;\r
-import org.eclipse.ui.forms.events.ExpansionAdapter;\r
-import org.eclipse.ui.forms.events.ExpansionEvent;\r
-import org.eclipse.ui.forms.widgets.ColumnLayout;\r
-import org.eclipse.ui.forms.widgets.FormToolkit;\r
-import org.eclipse.ui.forms.widgets.ScrolledForm;\r
-import org.eclipse.ui.forms.widgets.Section;\r
-\r
-/**\r
- * The abstract class for details, i.e. form-based editing.\r
- * \r
- * Implementing classes should add section and input fields in\r
- * selectionChanged(). Content elements are null before this.\r
- * \r
- * Sections can be wiped clean to be re-built with disposeSectionContent(section),\r
- * for instance, when a TaxonName changes its rank and a name consists of different\r
- * parts. \r
- * \r
- * @author p.ciardelli\r
- *\r
- */\r
-public abstract class EditorDetailsPage implements IDetailsPage {\r
-\r
- private FormToolkit toolkit;\r
- private ScrolledForm form;\r
- private IManagedForm mform;\r
- private Composite detailsComposite;\r
- private DataBindingContext bindingContext = new DataBindingContext();\r
- \r
- public void createContents(Composite parent) { \r
- \r
- detailsComposite = parent;\r
- toolkit = mform.getToolkit();\r
- \r
- ColumnLayout layout = new ColumnLayout();\r
- layout.topMargin = 0;\r
- layout.bottomMargin = 5;\r
- layout.leftMargin = 10;\r
- layout.rightMargin = 10;\r
- layout.horizontalSpacing = 10;\r
- layout.verticalSpacing = 10;\r
- layout.maxNumColumns = 4;\r
- layout.minNumColumns = 1; \r
- parent.setLayout(layout); \r
- }\r
-\r
- protected Section createSection(String title) {\r
- final Section section = toolkit.createSection(detailsComposite, \r
- Section.TWISTIE | Section.TITLE_BAR | Section.EXPANDED);\r
- section.marginWidth = 10;\r
- section.setText(title); //$NON-NLS-1$ \r
- \r
- createClient(section);\r
- \r
- section.addExpansionListener(new ExpansionAdapter() {\r
- public void expansionStateChanged(ExpansionEvent e) {\r
- form.reflow(false);\r
- }\r
- });\r
- \r
- return section;\r
- }\r
- \r
- private void createClient(Section section) {\r
-\r
- Composite client = toolkit.createComposite(section);\r
- GridLayout gridlayout = new GridLayout();\r
- gridlayout.marginWidth = gridlayout.marginHeight = 5;\r
- gridlayout.numColumns = 2;\r
- client.setLayout(gridlayout);\r
- section.setClient(client);\r
- \r
- toolkit.paintBordersFor(client);\r
- }\r
- \r
- protected Control createInputField(Section section, String label, \r
- Object bindObject, String bindField) {\r
- \r
- Composite client = (Composite) section.getClient();\r
- toolkit.createLabel(client, label); //$NON-NLS-1$\r
- Text text = toolkit.createText(client, "", SWT.SINGLE );\r
- text.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false)); //$NON-NLS-1$\r
- text.setData(FormToolkit.TEXT_BORDER);\r
- \r
- text.addKeyListener(new KeyListener() {\r
-\r
- public void keyPressed(KeyEvent e) {\r
- }\r
-\r
- public void keyReleased(KeyEvent e) {\r
- showObject();\r
- }\r
- \r
- });\r
- \r
- if (!(bindObject == null)) {\r
- bindingContext.bindValue(\r
- SWTObservables.observeText(text, SWT.Modify),\r
- BeansObservables.observeValue(bindObject, bindField),\r
- null, null);\r
- }\r
- return text;\r
- }\r
-\r
-\r
- abstract public void showObject();\r
- \r
- protected void disposeSectionContent(Section section) {\r
- section.getClient().dispose();\r
- createClient(section);\r
- }\r
- \r
- public void initialize(IManagedForm mform) {\r
- this.mform = mform;\r
- }\r
-}
\ No newline at end of file
public void focusLost(FocusEvent e) {\r
if (document.getLength() == 0) {\r
initEmptyText();\r
- } else {\r
-// managedForm.reflow(true);\r
}\r
}\r
\r
+++ /dev/null
-package eu.etaxonomy.taxeditor.editor;\r
-\r
-import org.eclipse.swt.graphics.Image;\r
-\r
-public interface IFavoritesDraggable {\r
- public Image getIcon();\r
- public String getLabel();\r
- public Object getObject();\r
-}\r
+++ /dev/null
-package eu.etaxonomy.taxeditor.editor;\r
-\r
-public interface IParentDataAdapter {\r
- public void adaptParentData();\r
-}\r
import org.apache.log4j.Logger;\r
import org.eclipse.core.commands.operations.IUndoContext;\r
import org.eclipse.core.commands.operations.IUndoableOperation;\r
-import org.eclipse.core.runtime.Assert;\r
import org.eclipse.jface.action.Action;\r
import org.eclipse.jface.resource.ImageDescriptor;\r
-import org.eclipse.jface.text.Document;\r
-import org.eclipse.jface.text.source.SourceViewer;\r
-import org.eclipse.swt.SWT;\r
import org.eclipse.swt.events.FocusAdapter;\r
import org.eclipse.swt.events.FocusEvent;\r
+import org.eclipse.swt.graphics.Color;\r
import org.eclipse.swt.graphics.Font;\r
import org.eclipse.swt.graphics.Image;\r
import org.eclipse.swt.widgets.Composite;\r
import org.eclipse.ui.forms.IManagedForm;\r
import org.eclipse.ui.forms.widgets.TableWrapData;\r
+import org.eclipse.ui.forms.widgets.TableWrapLayout;\r
import org.eclipse.ui.views.properties.IPropertySource;\r
\r
import eu.etaxonomy.cdm.model.common.Language;\r
import eu.etaxonomy.taxeditor.editor.GroupedComposite;\r
import eu.etaxonomy.taxeditor.editor.LineWrapSupport;\r
import eu.etaxonomy.taxeditor.editor.ParseListener;\r
+import eu.etaxonomy.taxeditor.editor.name.NameViewer;\r
import eu.etaxonomy.taxeditor.operations.description.RemoveElementOperation;\r
import eu.etaxonomy.taxeditor.propertysheet.description.DescriptionElementPropertySource;\r
\r
public static final String COMMON_TAXON_NAME = "common_taxon_name";\r
public static final String DISTRIBUTION = "distribution";\r
\r
- /**\r
- * ************ INDENTATIONS ************\r
- */\r
-// public static final int ACCEPTED_INDENT = 0;\r
-\r
/**\r
* ************ FONTS ************\r
*/\r
public static final Image BLACK_SQUARE_ICON = TaxEditorPlugin.getDefault()\r
.getImage(ITaxEditorConstants.BLACK_SQUARE_ICON);\r
\r
- /**\r
- * ************ TRANSFORMATIONS ************\r
- */\r
-// public static final String ADD_GROUP_BASIONYM = "add_group_basionym";\r
-\r
- /**\r
- * ************ MENU ACTIONS ************\r
- */\r
- public Action CHANGE_TAXON_TO_SYNONYM_ACTION;\r
-\r
private DescriptionElementBase element;\r
\r
private IUndoContext undoContext;\r
\r
private static final String EMPTY_NAME_PROMPT = "Click to add descriptive element text";\r
\r
- /**\r
- * The constructor for a <code>DescriptionElementComposite</code>. Takes a parent \r
- * <code>Composite</code> on which to create itself, and an <code>IManagedForm</code> for \r
- * <code>Composite</code> life cycle methods, i.e. drawing borders, creating other \r
- * <code>Composite</code>s, creating line wrap support, etc.\r
- * \r
- * @param parent\r
- * @param managedForm\r
- */\r
public DescriptionElementComposite(Composite parent, IManagedForm managedForm, \r
DescriptionElementBase element) {\r
super(parent, managedForm);\r
createTextViewer();\r
createBorderSupport();\r
createLineWrapSupport();\r
-\r
- setData(element);\r
- transform(null);\r
\r
createEmptyViewerPrompt(EMPTY_NAME_PROMPT);\r
setFocus();\r
+ \r
+ setIsDraggable(false);\r
+ setIcon(BLACK_SQUARE_ICON);\r
+ setFont(getViewerFont());\r
+\r
+ createMenu();\r
+ \r
+ initTextViewer();\r
}\r
\r
- public DescriptionElementBase getElement() {\r
- return element;\r
+ protected void createContent() {\r
+ // Stolen from NameComposite\r
+ setLayoutData(new TableWrapData(TableWrapData.FILL_GRAB));\r
+ TableWrapLayout layout = new TableWrapLayout();\r
+ layout.leftMargin = 0;\r
+ layout.topMargin = 0;\r
+ layout.bottomMargin = 0;\r
+ layout.verticalSpacing = 0;\r
+ setLayout(layout);\r
+ \r
+ Color groupBackgroundColor = TaxEditorPlugin.getDefault().\r
+ getColor(ITaxEditorConstants.GROUP_GRAY_BKG_COLOR);\r
+ setBackground(groupBackgroundColor);\r
}\r
\r
- protected void createLineWrapSupport() {\r
- new LineWrapSupport(getTextViewer(), managedForm);\r
+ public void setIcon(Image icon) {\r
+ // Adapted from NameComposite\r
+ if (getTextViewer() instanceof NameViewer) {\r
+ ((NameViewer) getTextViewer()).setIcon(icon);\r
+ }\r
}\r
-\r
- /**\r
- * All cosmetic - non-data-related, i.e. icons, fonts, etc. -\r
- * transformations take place in this method.\r
- * \r
- * @param transformation\r
- */\r
- public void transform(String transformation) {\r
- setIsDraggable(true);\r
- setFont(ELEMENT_FONT);\r
- setIcon(BLACK_SQUARE_ICON);\r
+ \r
+ protected ContextMenu createContextMenu() {\r
+ // Adapted from NameComposite\r
\r
- createMenu();\r
-\r
- managedForm.getForm().getBody().layout();\r
- }\r
-\r
- /**\r
- * Override of Composite.setData() which passes data along to\r
- * DescriptionElementComposite's TextViewer where appropriate.\r
- * \r
- * @see org.eclipse.swt.widgets.Widget#setData(java.lang.Object)\r
- */\r
- public void setData(Object data) {\r
- super.setData(data);\r
+ NameViewer nameViewer = (NameViewer) getTextViewer();\r
\r
- Assert.isTrue((data instanceof DescriptionElementBase), \r
- "DescriptionElementComposite's data field must contain a DescriptionElementBase object"); \r
+ if (nameViewer != null) {\r
+ ContextMenu contextMenu = new ContextMenu(nameViewer.getRulerControl());\r
+ nameViewer.getTextWidget().setMenu(contextMenu.getMenu());\r
+ return contextMenu;\r
+ } else {\r
+ logger.warn("Can't create menu because nameViewer has not been initalized.");\r
+ return null;\r
+ }\r
+ }\r
+ \r
+ private void initTextViewer() {\r
\r
- DescriptionElementBase element = (DescriptionElementBase) data;\r
-\r
String text = null;\r
if (element instanceof TextData) {\r
text = ((TextData) element).getText(Language.DEFAULT());\r
getTextViewer().getTextWidget().setText(text);\r
}\r
\r
+ public DescriptionElementBase getElement() {\r
+ return element;\r
+ }\r
+ \r
+ protected void createLineWrapSupport() {\r
+ new LineWrapSupport(getTextViewer(), managedForm);\r
+ }\r
+\r
+\r
+\r
private void createTextViewer() {\r
- this.textViewer = new SourceViewer(this, null, SWT.WRAP | SWT.MULTI | SWT.RESIZE);\r
- this.textViewer.setDocument(new Document(""));\r
- this.textViewer.getTextWidget().setLayoutData(new TableWrapData(TableWrapData.FILL_GRAB));\r
+ this.textViewer = new NameViewer(this);\r
this.textViewer.getTextWidget().addModifyListener(new ParseListener() {\r
\r
@Override\r
public void parse(String text) {\r
- Assert.isTrue((getData() instanceof DescriptionElementBase), \r
- "DescriptionElementComposite's data field must contain a DescriptionElementBase object");\r
- \r
- DescriptionElementBase element = (DescriptionElementBase) getData();\r
\r
- if (element instanceof TextData) {\r
- ((TextData) element).putText(text, Language.DEFAULT());\r
+ if (getElement() instanceof TextData) {\r
+ ((TextData) getElement()).putText(text, Language.DEFAULT());\r
}\r
\r
setDirty(true);\r
}\r
\r
private void createMenu() {\r
- ContextMenu contextMenu = new ContextMenu(getDraggableLabel());\r
+ ContextMenu contextMenu = createContextMenu();\r
\r
// Delete this description element\r
String text = "Delete description element";\r
}\r
});\r
}\r
- \r
- @Override\r
- public void dispose() {\r
- \r
- Composite featureComponent = this.getParent();\r
- \r
- super.dispose();\r
- \r
- // If feature only has 1 child that is not DescriptionElementComposite,\r
- // composite is empty\r
- if (!(featureComponent instanceof DescriptionFeatureGroupComposite)) {\r
- return;\r
- }\r
- \r
- if (featureComponent.getChildren().length == 1 &&\r
- !(featureComponent.getChildren()[0] instanceof \r
- DescriptionElementComposite)) {\r
- Composite grandParent = featureComponent.getParent(); \r
- featureComponent.dispose();\r
- grandParent.layout();\r
- }\r
-\r
- managedForm.getForm().getBody().layout();\r
- }\r
\r
@Override\r
public IPropertySource getPropertySource() {\r
- return new DescriptionElementPropertySource((DescriptionElementBase) getData());\r
+ return new DescriptionElementPropertySource(getElement());\r
}\r
\r
@Override\r
protected Font getViewerFont() {\r
- // TODO Auto-generated method stub\r
- return null;\r
+ return ELEMENT_FONT;\r
}\r
}
\ No newline at end of file
import org.apache.log4j.Logger;\r
import org.eclipse.core.commands.operations.IUndoContext;\r
import org.eclipse.core.commands.operations.IUndoableOperation;\r
-import org.eclipse.core.runtime.Assert;\r
import org.eclipse.jface.action.Action;\r
import org.eclipse.jface.action.IMenuListener;\r
import org.eclipse.jface.action.IMenuManager;\r
import org.eclipse.jface.action.MenuManager;\r
-import org.eclipse.jface.text.Document;\r
-import org.eclipse.jface.text.source.SourceViewer;\r
-import org.eclipse.swt.SWT;\r
import org.eclipse.swt.events.FocusAdapter;\r
import org.eclipse.swt.events.FocusEvent;\r
import org.eclipse.swt.graphics.Font;\r
import org.eclipse.swt.graphics.Image;\r
import org.eclipse.swt.widgets.Composite;\r
import org.eclipse.ui.forms.IManagedForm;\r
-import org.eclipse.ui.forms.widgets.TableWrapData;\r
import org.eclipse.ui.views.properties.IPropertySource;\r
\r
import eu.etaxonomy.cdm.model.description.Feature;\r
import eu.etaxonomy.taxeditor.editor.ContextMenu;\r
import eu.etaxonomy.taxeditor.editor.GroupedComposite;\r
import eu.etaxonomy.taxeditor.editor.ParseListener;\r
+import eu.etaxonomy.taxeditor.editor.name.NameViewer;\r
import eu.etaxonomy.taxeditor.operations.description.AddElementOperation;\r
import eu.etaxonomy.taxeditor.preference.PreferencesUtil;\r
import eu.etaxonomy.taxeditor.propertysheet.description.TaxonDescriptionPropertySource;\r
\r
this.undoContext = EditorController.getUndoContext(taxon);\r
\r
- createLabelViewer();\r
+ createTextViewer();\r
createBorderSupport();\r
createLineWrapSupport();\r
\r
- setData(description);\r
- transform(null);\r
-\r
createEmptyViewerPrompt(EMPTY_NAME_PROMPT);\r
setFocus();\r
+ \r
+ setIsDraggable(false);\r
+ setFont(DESCRIPTION_LABEL_FONT);\r
+ setIcon(DESCRIPTION_LABEL_ICON);\r
+ \r
+ createMenu();\r
+ \r
+ initTextViewer();\r
+ }\r
+\r
+ private void initTextViewer() {\r
+ String text = getDescription().getTitleCache();\r
+ getTextViewer().getTextWidget().setText(text);\r
}\r
\r
public TaxonDescription getDescription() {\r
return description;\r
}\r
- \r
- public void transform(String transformation) {\r
- setIsDraggable(false);\r
- setFont(DESCRIPTION_LABEL_FONT);\r
- setIcon(DESCRIPTION_LABEL_ICON);\r
\r
- createMenu();\r
- } \r
+ public void setIcon(Image icon) {\r
+ // Adapted from NameComposite\r
+ if (getTextViewer() instanceof NameViewer) {\r
+ ((NameViewer) getTextViewer()).setIcon(icon);\r
+ }\r
+ }\r
\r
- public void setData(Object data) {\r
- super.setData(data);\r
+ protected ContextMenu createContextMenu() {\r
+ // Adapted from NameComposite\r
\r
- Assert.isTrue((data instanceof TaxonDescription), \r
- "DescriptionLabelComposite's data field must contain a TaxonDescription object");\r
+ NameViewer nameViewer = (NameViewer) getTextViewer();\r
\r
- String label = ((TaxonDescription) data).getTitleCache();\r
- getTextViewer().getTextWidget().setText(label);\r
+ if (nameViewer != null) {\r
+ ContextMenu contextMenu = new ContextMenu(nameViewer.getRulerControl());\r
+ nameViewer.getTextWidget().setMenu(contextMenu.getMenu());\r
+ return contextMenu;\r
+ } else {\r
+ logger.warn("Can't create menu because nameViewer has not been initalized.");\r
+ return null;\r
+ }\r
}\r
\r
private void createMenu() {\r
contextMenu.addSubmenu(featuresMenu);\r
}\r
\r
- private void createLabelViewer() { \r
- this.textViewer = new SourceViewer(this, null, SWT.WRAP | SWT.MULTI | SWT.RESIZE);\r
- this.textViewer.setDocument(new Document(""));\r
- this.textViewer.getTextWidget().setLayoutData(new TableWrapData(TableWrapData.FILL_GRAB));\r
+ private void createTextViewer() {\r
+ this.textViewer = new NameViewer(this);\r
this.textViewer.getTextWidget().addModifyListener(new ParseListener() {\r
\r
@Override\r
public void parse(String text) {\r
- Assert.isTrue((getData() instanceof TaxonDescription), \r
- "DescriptionLabelComposite's data field must contain a TaxonDescription object");\r
- \r
- ((TaxonDescription) getData()).setTitleCache(text);\r
+ getDescription().setTitleCache(text);\r
setDirty(true);\r
}\r
\r
\r
@Override\r
public IPropertySource getPropertySource() {\r
- return new TaxonDescriptionPropertySource((TaxonDescription) getData());\r
+ return new TaxonDescriptionPropertySource(getDescription());\r
}\r
\r
@Override\r
+++ /dev/null
-/**\r
-* Copyright (C) 2007 EDIT\r
-* European Distributed Institute of Taxonomy \r
-* http://www.e-taxonomy.eu\r
-* \r
-* The contents of this file are subject to the Mozilla Public License Version 1.1\r
-* See LICENSE.TXT at the top of this package for the full license terms.\r
-*/\r
-\r
-package eu.etaxonomy.taxeditor.editor.description;\r
-\r
-import org.apache.log4j.Logger;\r
-import org.eclipse.swt.SWT;\r
-import org.eclipse.swt.widgets.Composite;\r
-\r
-/**\r
- * @author p.ciardelli\r
- * @created 08.09.2008\r
- * @version 1.0\r
- */\r
-public class TaxonDescriptionComposite extends Composite {\r
- private static final Logger logger = Logger\r
- .getLogger(TaxonDescriptionComposite.class);\r
-\r
- TaxonDescriptionComposite(Composite parent) {\r
- super(parent, SWT.NONE);\r
-\r
- // TODO take all formatting info out of GroupComposite,\r
- // EditorGroupComposite, merge this class with one of those\r
- \r
- \r
- }\r
-\r
-}
\ No newline at end of file
package eu.etaxonomy.taxeditor.editor.name;\r
\r
import org.apache.log4j.Logger;\r
-import org.eclipse.core.commands.operations.IUndoContext;\r
-import org.eclipse.core.commands.operations.IUndoableOperation;\r
-import org.eclipse.jface.action.Action;\r
import org.eclipse.jface.action.MenuManager;\r
-import org.eclipse.jface.resource.ImageDescriptor;\r
import org.eclipse.swt.graphics.Font;\r
import org.eclipse.swt.widgets.Composite;\r
import org.eclipse.ui.forms.IManagedForm;\r
import eu.etaxonomy.cdm.model.taxon.Taxon;\r
import eu.etaxonomy.cdm.model.taxon.TaxonRelationship;\r
import eu.etaxonomy.cdm.model.taxon.TaxonRelationshipType;\r
-import eu.etaxonomy.taxeditor.ITaxEditorConstants;\r
-import eu.etaxonomy.taxeditor.TaxEditorPlugin;\r
import eu.etaxonomy.taxeditor.actions.name.ChangeConceptRelationAction;\r
-import eu.etaxonomy.taxeditor.actions.name.CreateConceptRelationAction;\r
import eu.etaxonomy.taxeditor.actions.name.RemoveConceptAction;\r
-import eu.etaxonomy.taxeditor.controller.EditorController;\r
-import eu.etaxonomy.taxeditor.controller.GlobalController;\r
import eu.etaxonomy.taxeditor.editor.ContextMenu;\r
import eu.etaxonomy.taxeditor.model.CdmSessionDataRepository;\r
-import eu.etaxonomy.taxeditor.operations.name.RemoveConceptRelationOperation;\r
-import eu.etaxonomy.taxeditor.operations.name.RemoveMisappliedNameOperation;\r
import eu.etaxonomy.taxeditor.propertysheet.name.TaxonBasePropertySource;\r
\r
/**\r
return relatedTaxon.getName();\r
}\r
\r
+ protected void calculateErrors() {\r
+ super.calculateErrors();\r
+ \r
+ nameViewer.setShowSecError(relatedTaxon);\r
+ }\r
}\r
\r
\r