eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/key/PolytomousKeyNodeDetailSection.java -text
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/key/ScopeRestrictionSection.java -text
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/key/TaxonomicScopeSection.java -text
+eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/media/AbstractMediaRepresentationPartElement.java -text
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/media/ImageFileElement.java -text
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/media/MediaElement.java -text
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/media/MediaRepresentationElement.java -text
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/reference/ReferenceDetailElement.java -text
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/reference/ReferenceDetailSection.java -text
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/reference/ReferenceWizardPage.java -text
-eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/supplemental/AbstractMediaRepresentationPartElement.java -text
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/supplemental/AbstractOriginalSourceElement.java -text
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/supplemental/AbstractReferencedEntityElement.java -text
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/supplemental/AnnotationElement.java -text
}
}
+ /**
+ * Fires a {@link CdmPropertyChangeEvent} with the given object as source.
+ *
+ * @param object the object on which the property changed
+ */
public void firePropertyChangeEvent(Object object){
firePropertyChangeEvent(object, null);
}
+ /**
+ * Fires a {@link CdmPropertyChangeEvent} with the given object as source also containing the
+ * originating event
+ *
+ * @param object the object on which the property changed
+ * @param originatingEvent the originating event
+ */
public void firePropertyChangeEvent(Object object, PropertyChangeEvent originatingEvent){
firePropertyChangeEvent(new CdmPropertyChangeEvent(object, originatingEvent));
}
import eu.etaxonomy.cdm.api.conversation.IConversationEnabled;
import eu.etaxonomy.cdm.persistence.hibernate.CdmDataChangeMap;
import eu.etaxonomy.taxeditor.store.StoreUtil;
-import eu.etaxonomy.taxeditor.ui.selection.AbstractSelectionElement;
-import eu.etaxonomy.taxeditor.ui.term.AbstractEnumComboElement;
-import eu.etaxonomy.taxeditor.ui.term.AbstractTermComboElement;
/**
* <p>Abstract AbstractFormSection class.</p>
}
}
+
+ /**
+ * Fires a {@link CdmPropertyChangeEvent} with the given object as source.
+ *
+ * @param object the object on which the property changed
+ */
+ public void firePropertyChangeEvent(Object object){
+ firePropertyChangeEvent(object, null);
+ }
+
+ /**
+ * Fires a {@link CdmPropertyChangeEvent} with the given object as source also containing the
+ * originating event
+ *
+ * @param object the object on which the property changed
+ * @param originatingEvent the originating event
+ */
+ public void firePropertyChangeEvent(Object object, PropertyChangeEvent originatingEvent){
+ firePropertyChangeEvent(new CdmPropertyChangeEvent(object, originatingEvent));
+ }
+
/* (non-Javadoc)
* @see org.eclipse.swt.widgets.Composite#setFocus()
*/
import org.eclipse.swt.graphics.Image;
import org.eclipse.swt.graphics.Rectangle;
import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Event;
import org.eclipse.ui.forms.widgets.TableWrapData;
private URI imageUri;
private Image image;
- private Rectangle imageMaxBounds;
private Composite container;
return runnable;
}
- private void calculateImageBounds(){
+ private Rectangle calculateImageBounds(Image image, Control control){
Rectangle imageBounds = image.getBounds();
- Rectangle containerBounds = container.getBounds();
+ Rectangle containerBounds = control.getBounds();
Integer imgWidth = imageBounds.width;
Integer imgHeight = imageBounds.height;
Float ratio = imgHeight.floatValue()/imgWidth.floatValue();
Integer width = containerBounds.width;
- Float height = width * ratio;
+ Integer height = ((Float) (width * ratio)).intValue();
- imageMaxBounds = new Rectangle(containerBounds.x, containerBounds.y, width, height.intValue());
+ return new Rectangle(containerBounds.x, containerBounds.y, width, height);
}
@Override
public void paintControl(PaintEvent e) {
TableWrapData layoutData = CdmFormFactory.FILL(2, 1);
- Composite composite = (Composite) e.widget;
+ Control control = (Control) e.widget;
if(image != null){
- calculateImageBounds();
+ Rectangle imageMaxBounds = calculateImageBounds(image, control);
layoutData.heightHint = imageMaxBounds.height;
e.gc.drawImage(image, 0, 0, image.getBounds().width, image.getBounds().height, 0, 0, imageMaxBounds.width, imageMaxBounds.height);
}else{
layoutData.heightHint = 10;
e.gc.drawRectangle(0, 0, 0, 10);
}
- composite.setLayoutData(layoutData);
+ control.setLayoutData(layoutData);
e.gc.dispose();
}
import org.eclipse.swt.SWT;
import org.eclipse.swt.widgets.Label;
+import eu.etaxonomy.cdm.common.CdmUtils;
+
/**
* <p>LabelElement class.</p>
*
* @param text a {@link java.lang.String} object.
*/
public void setText(String text) {
- label.setText(text);
+ label.setText(CdmUtils.Nz(text));
}
}
if(isExpanded() || expandSectionWhenContentAvailable())
renderContent(isExpanded());
if(changed)
- firePropertyChangeEvent(new CdmPropertyChangeEvent(this, null));
+ firePropertyChangeEvent(this);
}
/**
* See LICENSE.TXT at the top of this package for the full license terms.
*/
-package eu.etaxonomy.taxeditor.ui.section.supplemental;
+package eu.etaxonomy.taxeditor.ui.section.media;
import org.apache.log4j.Logger;
import org.eclipse.swt.events.SelectionListener;
import eu.etaxonomy.taxeditor.ui.forms.KeyValueViewerElement;
import eu.etaxonomy.taxeditor.ui.forms.LabelElement;
import eu.etaxonomy.taxeditor.ui.forms.NumberWithLabelElement;
-import eu.etaxonomy.taxeditor.ui.section.supplemental.AbstractMediaRepresentationPartElement;
/**
* <p>ImageFileElement class.</p>
firePropertyChangeEvent(new CdmPropertyChangeEvent(this, null));
} catch (Exception e) {
handleException(e);
+ } finally {
+ firePropertyChangeEvent(this);
}
}
-
}
private void handleException(Exception e) {
((AbstractCdmDetailSection) getParentElement()).updateTitle();
}
}
+ firePropertyChangeEvent(this);
}
}
import java.net.URI;
import java.util.Collection;
-import org.apache.commons.lang.StringUtils;
import org.apache.http.HttpException;
import org.eclipse.swt.events.SelectionListener;
-import eu.etaxonomy.cdm.api.service.IMediaService;
import eu.etaxonomy.cdm.common.media.ImageInfo;
import eu.etaxonomy.cdm.model.media.ImageFile;
import eu.etaxonomy.cdm.model.media.MediaRepresentation;
import eu.etaxonomy.cdm.model.media.MediaRepresentationPart;
-import eu.etaxonomy.taxeditor.store.CdmStore;
import eu.etaxonomy.taxeditor.store.StoreUtil;
import eu.etaxonomy.taxeditor.ui.forms.AbstractFormSection;
import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory;
getEntity().setSuffix(text_suffix.getText());
}
// FIXME HACK automatically set the mime type to the first mediaRepresentationPart's mimetype
- else if(eventSource == section_mediaRepresentationPart){
+ else if(eventSource == section_mediaRepresentationPart){
+ firePropertyChangeEvent(this);
+
Collection<MediaRepresentationPart> imageFileElements = section_mediaRepresentationPart.getCollection(section_mediaRepresentationPart.getEntity());
+ if(! imageFileElements.iterator().hasNext()){
+ return;
+ }
+
MediaRepresentationPart mediaRepresentationPart = imageFileElements.iterator().next();
if(mediaRepresentationPart == null || !(mediaRepresentationPart instanceof ImageFile)){
return;
ImageInfo imageInfo = ImageInfo.NewInstance(uri, 10000);
String mimeType = imageInfo.getMimeType();
text_mimeType.setText(mimeType);
+ getEntity().setMimeType(mimeType);
text_suffix.setText(imageInfo.getSuffix());
+ getEntity().setSuffix(imageInfo.getSuffix());
} catch (IOException e) {
StoreUtil.error(getClass(), e);
} catch (HttpException e) {
StoreUtil.error(getClass(), e);
}
}
+
+
}
private String getMimeType(URI uri){
firePropertyChangeEvent(new CdmPropertyChangeEvent(this, null));
super.propertyChange(event);
}
-
-
- }
-
+ }
}
import eu.etaxonomy.taxeditor.model.PolytomousKeyRelationship;
import eu.etaxonomy.taxeditor.preference.PreferencesUtil;
import eu.etaxonomy.taxeditor.store.StoreUtil;
+import eu.etaxonomy.taxeditor.ui.forms.AbstractCdmFormElement;
import eu.etaxonomy.taxeditor.ui.forms.AbstractFormSection;
import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailElement;
import eu.etaxonomy.taxeditor.ui.section.ITaxonBaseDetailSection;
public void propertyChange(PropertyChangeEvent event) {
if (event != null) {
- Object eventSource = event.getSource();
-
- if (formSection.equals(eventSource)
- || (eventSource instanceof AbstractCdmDetailElement && formSection
- .containsFormElement((AbstractCdmDetailElement) eventSource))) {
+ Object eventSource = event.getSource();
+
+ if (formSection.equals(eventSource)){
+ markDirty();
+ }
+ if((
+ (eventSource instanceof AbstractCdmFormElement)
+ && formSection.containsFormElement((AbstractCdmFormElement) eventSource))
+ ) {
markDirty();
}
}