/**
- *
+ *
*/
package eu.etaxonomy.taxeditor.ui.section;
*
*/
public abstract class AbstractIdentifiableEntityDetailElement<T extends IIdentifiableEntity> extends
- AbstractCdmDetailElement<T> {
-
- protected ToggleableTextElement toggleable_cache;
-
- public AbstractIdentifiableEntityDetailElement(CdmFormFactory formFactory,
- ICdmFormElement formElement) {
- super(formFactory, formElement);
- }
-
- public void updateToggleableCacheField(){
- if(! getEntity().isProtectedTitleCache()){
- toggleable_cache.setText(getEntity().generateTitle());
- }
- }
-
- protected void handleToggleableCacheField(){
- boolean pushedState = toggleable_cache.getState();
-
- getEntity().setTitleCache(toggleable_cache.getText(),
- pushedState);
- setIrrelevant(pushedState,
- Arrays.asList(new Object[] { toggleable_cache }));
- updateToggleableCacheField();
- }
+ AbstractCdmDetailElement<T> {
+
+ protected ToggleableTextElement toggleable_cache;
+
+ public AbstractIdentifiableEntityDetailElement(CdmFormFactory formFactory, ICdmFormElement formElement) {
+ super(formFactory, formElement);
+ }
+
+ public void updateToggleableCacheField() {
+ if (!getEntity().isProtectedTitleCache()) {
+ toggleable_cache.setText(getEntity().generateTitle());
+ }
+ }
+
+ protected void handleToggleableCacheField() {
+ boolean pushedState = toggleable_cache.getState();
+
+ getEntity().setTitleCache(toggleable_cache.getText(), pushedState);
+ setIrrelevant(pushedState, Arrays.asList(new Object[] { toggleable_cache }));
+ updateToggleableCacheField();
+ }
}
// $Id$
/**
* Copyright (C) 2007 EDIT
- * European Distributed Institute of Taxonomy
+ * European Distributed Institute of Taxonomy
* http://www.e-taxonomy.eu
- *
+ *
* The contents of this file are subject to the Mozilla Public License Version 1.1
* See LICENSE.TXT at the top of this package for the full license terms.
*/
import eu.etaxonomy.taxeditor.ui.element.IExceptionHandler;
import eu.etaxonomy.taxeditor.ui.element.TextWithLabelElement;
import eu.etaxonomy.taxeditor.ui.element.TimePeriodElement;
+import eu.etaxonomy.taxeditor.ui.element.ToggleableTextElement;
import eu.etaxonomy.taxeditor.ui.element.UriWithLabelElement;
import eu.etaxonomy.taxeditor.ui.section.AbstractIdentifiableEntityDetailElement;
import eu.etaxonomy.taxeditor.ui.selection.EntitySelectionElement;
* <p>
* ReferenceBaseDetailElement class.
* </p>
- *
+ *
* @author n.hoffmann
* @created Mar 2, 2010
* @version 1.0
*/
public class ReferenceDetailElement extends AbstractIdentifiableEntityDetailElement<Reference>
implements IErrorIntolerableElement, IExceptionHandler {
-
+
+ private ToggleableTextElement toggleableAbbrevCache;
+
private TextWithLabelElement text_edition;
private TextWithLabelElement text_editor;
private TextWithLabelElement text_isbn;
private TextWithLabelElement text_referenceAbstract;
private TextWithLabelElement text_series;
private TextWithLabelElement text_seriesPart;
- private TextWithLabelElement text_title;
private TextWithLabelElement text_volume;
+ private TextWithLabelElement text_abbrevTitle;
+ private TextWithLabelElement text_title;
private UriWithLabelElement text_uri;
private EntitySelectionElement<AgentBase> selection_authorTeam;
private TimePeriodElement element_timePeriod;
* <p>
* Constructor for ReferenceBaseDetailElement.
* </p>
- *
+ *
* @param cdmFormFactory
* a {@link eu.etaxonomy.taxeditor.ui.element.CdmFormFactory}
* object.
/*
* (non-Javadoc)
- *
+ *
* @see
* eu.etaxonomy.taxeditor.forms.section.cdmdetail.AbstractCdmDetailComposite
* #createControl(org.eclipse.swt.widgets.Composite, int)
"Reference Cache", entity.getTitleCache(),
entity.isProtectedTitleCache(), style);
+ toggleableAbbrevCache = formFactory.createToggleableTextField(formElement,
+ "Abbrev. Title Cache", entity.getAbbrevTitleCache(),
+ entity.isProtectedAbbrevTitleCache(), style);
+
combo_referenceType = formFactory.createEnumComboElement(ReferenceType.class,
formElement, style);
// title
text_title = formFactory.createTextWithLabelElement(formElement,
"Title", entity.getTitle(), style);
+ // abbreviated title
+ text_abbrevTitle = formFactory.createTextWithLabelElement(formElement,
+ "Abbrev. Title", entity.getAbbrevTitle(), style);
// author team
selection_authorTeam = formFactory
/*
* (non-Javadoc)
- *
+ *
* @see
* eu.etaxonomy.taxeditor.forms.section.cdmdetail.AbstractCdmDetailComposite
* #updateContent()
// setEnabled(getEntity().isProtectedTitleCache(), Arrays.asList(new
// Object[]{text_cache}));
toggleable_cache.setEnabled(getEntity().isProtectedTitleCache());
- setIrrelevant(toggleable_cache.getState(),
- Arrays.asList(new Object[] { toggleable_cache }));
+ toggleableAbbrevCache.setEnabled(getEntity().isProtectedAbbrevTitleCache());
+ setIrrelevant(toggleable_cache.getState(), Arrays.asList(new Object[] { toggleable_cache }));
+ setIrrelevant(toggleableAbbrevCache.getState(), Arrays.asList(new Object[] { toggleableAbbrevCache}));
}
/**
* Creates an in reference for reference types that do hav this.
- *
+ *
* @param element
* @param referenceType
* @param reference
/**
* Creates additional controls to edit a generic reference
- *
+ *
* @param element
* @param reference
* @param listener
/**
* Creates additional controls to edit a publication
- *
+ *
* @param element
* @param reference
* @param listener
/**
* Creates additional controls to edit a section
- *
+ *
* @param element
* @param reference
* @param style
/**
* Creates additional controls to edit a volume
- *
+ *
* @param element
* @param reference
* @param style
}
/**
- *
+ *
* @param element
* @param referenceType
* @param reference
// textfields
else if (eventSource == toggleable_cache) {
handleToggleableCacheField();
+ }
+ else if (eventSource == toggleableAbbrevCache) {
+ handleToggleableAbbrevTitleField();
} else if (eventSource == text_edition) {
getEntity().setEdition(text_edition.getText());
} else if (eventSource == text_editor) {
getEntity().setSeriesPart(text_seriesPart.getText());
} else if (eventSource == text_title) {
getEntity().setTitle(text_title.getText());
+ toggleable_cache.setText(text_title.getText());
+ } else if (eventSource == text_abbrevTitle) {
+ getEntity().setAbbrevTitle(text_abbrevTitle.getText());
+ toggleableAbbrevCache.setText(text_abbrevTitle.getText());
} else if (eventSource == text_uri) {
try {
getEntity().setUri(text_uri.getUri());
getEntity().setVolume(text_volume.getText());
}
- else if (eventSource != toggleable_cache) {
+ if (eventSource != text_title && eventSource != text_abbrevTitle) {
toggleable_cache.setText(getEntity().getTitleCache());
+ toggleableAbbrevCache.setText(getEntity().getAbbrevTitleCache());
}
firePropertyChangeEvent(new CdmPropertyChangeEvent(this, null));
}
+
+ @Override
+ public void updateToggleableCacheField() {
+ if (!getEntity().isProtectedTitleCache()) {
+ toggleable_cache.setText(getEntity().generateTitle());
+ }
+ if (!getEntity().isProtectedAbbrevTitleCache()) {
+ toggleableAbbrevCache.setText(getEntity().generateAbbrevTitle());
+ }
+ }
+
+ protected void handleToggleableAbbrevTitleField() {
+ boolean pushedAbbrevState = toggleableAbbrevCache.getState();
+ getEntity().setAbbrevTitleCache(toggleableAbbrevCache.getText(), pushedAbbrevState);
+ setIrrelevant(pushedAbbrevState, Arrays.asList(new Object[] { toggleableAbbrevCache }));
+ updateToggleableCacheField();
+ }
+
/*
* (non-Javadoc)
- *
+ *
* @see
* eu.etaxonomy.taxeditor.section.AbstractCdmDetailElement#handleException
* (eu.etaxonomy.taxeditor.forms.CdmPropertyChangeEvent)
/*
* (non-Javadoc)
- *
+ *
* @see eu.etaxonomy.taxeditor.forms.IExceptionHandler#clearException()
*/
/** {@inheritDoc} */
/*
* (non-Javadoc)
- *
+ *
* @see
* eu.etaxonomy.taxeditor.forms.IErrorIntolerableElement#addExceptionHandler
* (eu.etaxonomy.taxeditor.forms.IExceptionHandler)
/*
* (non-Javadoc)
- *
+ *
* @see
* eu.etaxonomy.taxeditor.forms.IErrorIntolerableElement#removeExceptionHandler
* (eu.etaxonomy.taxeditor.forms.IExceptionHandler)
/*
* (non-Javadoc)
- *
+ *
* @see
* eu.etaxonomy.taxeditor.forms.IErrorIntolerableElement#exceptionOccurred
* (eu.etaxonomy.taxeditor.forms.CdmPropertyChangeEvent)