Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorpfullbright2009-04-20 21:48:53 +0000
committerpfullbright2009-04-20 21:48:53 +0000
commit6cf6ce877c047467142d572c46f11f5ecda76c2e (patch)
tree5c132f3310e215d027e981c320bf8d7aca4d424e
parent1226d185a3a96490a82f51d1613c7aa778d06a48 (diff)
downloadwebtools.dali-6cf6ce877c047467142d572c46f11f5ecda76c2e.tar.gz
webtools.dali-6cf6ce877c047467142d572c46f11f5ecda76c2e.tar.xz
webtools.dali-6cf6ce877c047467142d572c46f11f5ecda76c2e.zip
status bar updates with selection
-rw-r--r--jpa/plugins/org.eclipse.jpt.ui/property_files/jpt_ui.properties1
-rw-r--r--jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/JptUiMessages.java1
-rw-r--r--jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/jface/AbstractItemLabelProvider.java90
-rw-r--r--jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/jface/DelegatingTreeContentAndLabelProvider.java4
-rw-r--r--jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/navigator/JpaNavigatorLabelProvider.java13
-rw-r--r--jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/platform/generic/ClassRefItemLabelProvider.java27
-rw-r--r--jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/platform/generic/EntityMappingsItemLabelProvider.java20
-rw-r--r--jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/platform/generic/MappingFileRefItemLabelProvider.java27
-rw-r--r--jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/platform/generic/OrmXmlItemLabelProvider.java13
-rw-r--r--jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/platform/generic/PersistenceItemLabelProvider.java19
-rw-r--r--jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/platform/generic/PersistenceUnitItemLabelProvider.java18
-rw-r--r--jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/platform/generic/PersistenceXmlItemLabelProvider.java15
-rw-r--r--jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/platform/generic/PersistentAttributeItemLabelProvider.java37
-rw-r--r--jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/platform/generic/PersistentTypeItemLabelProvider.java25
-rw-r--r--jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/platform/generic/RootContextItemLabelProvider.java14
-rw-r--r--jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/views/structure/JpaStructurePage.java83
-rw-r--r--jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/views/structure/JpaStructureView.java1
-rw-r--r--jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/jface/DelegatingContentAndLabelProvider.java11
-rw-r--r--jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/jface/ItemLabelProvider.java5
-rw-r--r--jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/jface/ItemLabelProviderFactory.java4
-rw-r--r--jpa/tests/org.eclipse.jpt.ui.tests/META-INF/MANIFEST.MF5
-rw-r--r--jpa/tests/org.eclipse.jpt.ui.tests/src/org/eclipse/jpt/ui/tests/internal/jface/DelegatingLabelProviderUiTest.java24
22 files changed, 347 insertions, 110 deletions
diff --git a/jpa/plugins/org.eclipse.jpt.ui/property_files/jpt_ui.properties b/jpa/plugins/org.eclipse.jpt.ui/property_files/jpt_ui.properties
index 8366827d8e..92e86d1fd1 100644
--- a/jpa/plugins/org.eclipse.jpt.ui/property_files/jpt_ui.properties
+++ b/jpa/plugins/org.eclipse.jpt.ui/property_files/jpt_ui.properties
@@ -75,6 +75,7 @@ JpaStructureView_structureNotAvailable=JPA structure is not available.
JpaStructureView_linkWithEditorText=Link with Editor
JpaStructureView_linkWithEditorDesc=Link with Active Editor
JpaStructureView_linkWithEditorTooltip=Link with Editor
+JpaStructureView_numItemsSelected={0} items selected
JpaDetailsView_viewNotAvailable=Details are not available for the current selection.
diff --git a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/JptUiMessages.java b/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/JptUiMessages.java
index 29c84696ee..740fb544e8 100644
--- a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/JptUiMessages.java
+++ b/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/JptUiMessages.java
@@ -93,6 +93,7 @@ public class JptUiMessages {
public static String JpaStructureView_linkWithEditorText;
public static String JpaStructureView_linkWithEditorTooltip;
public static String JpaStructureView_structureNotAvailable;
+ public static String JpaStructureView_numItemsSelected;
public static String MappingFileWizard_title;
public static String MappingFileWizardPage_title;
public static String MappingFileWizardPage_desc;
diff --git a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/jface/AbstractItemLabelProvider.java b/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/jface/AbstractItemLabelProvider.java
index a4874cf6bd..219d586425 100644
--- a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/jface/AbstractItemLabelProvider.java
+++ b/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/jface/AbstractItemLabelProvider.java
@@ -22,12 +22,15 @@ import org.eclipse.swt.graphics.Image;
* label information for a Model object.
*
* The typical subclass will override the following methods:
- * #buildTextModel()
- * return a {@link PropertyValueModel} that represents the text for the represented
- * model object.
* #buildImageModel()
- * return a {@link PropertyValueModel} that represents the image for the represented
- * model object
+ * return a {@link PropertyValueModel} that represents the image for the
+ * represented model object
+ * #buildTextModel()
+ * return a {@link PropertyValueModel} that represents the text for the
+ * represented model object.
+ * #buildDescriptionModel()
+ * return a {@link PropertyValueModel} that represents the description for
+ * the represented model object
*
* Other methods may be overridden, but take care to preserve the logic provided
* by this class.
@@ -38,9 +41,11 @@ public abstract class AbstractItemLabelProvider implements ItemLabelProvider
private Model model;
+ private PropertyValueModel<Image> imageModel;
+
private PropertyValueModel<String> textModel;
- private PropertyValueModel<Image> imageModel;
+ private PropertyValueModel<String> descriptionModel;
private PropertyChangeListener labelChangeListener;
@@ -66,6 +71,41 @@ public abstract class AbstractItemLabelProvider implements ItemLabelProvider
}
/**
+ * Return the image value model
+ * (lazy and just-in-time initialized)
+ */
+ protected PropertyValueModel<Image> imageModel() {
+ if (imageModel == null) {
+ imageModel = buildImageModel();
+ engageImageModel();
+ }
+ return imageModel;
+ }
+
+ /**
+ * Construct an image model
+ */
+ protected abstract PropertyValueModel<Image> buildImageModel();
+
+ /**
+ * Should only be overridden with a call to super.engageImageModel() before
+ * subclass logic
+ */
+ protected void engageImageModel() {
+ imageModel.addPropertyChangeListener(PropertyValueModel.VALUE, labelChangeListener);
+ }
+
+ /**
+ * Should only be overridden with a call to super.disengageImageModel() after
+ * subclass logic
+ */
+ protected void disengageImageModel() {
+ if (imageModel != null) {
+ imageModel.removePropertyChangeListener(PropertyValueModel.VALUE, labelChangeListener);
+ }
+ }
+
+ /**
* Return the text value model
* (lazy and just-in-time initialized)
*/
@@ -101,37 +141,37 @@ public abstract class AbstractItemLabelProvider implements ItemLabelProvider
}
/**
- * Return the image value model
+ * Return the description value model
* (lazy and just-in-time initialized)
*/
- protected PropertyValueModel<Image> imageModel() {
- if (imageModel == null) {
- imageModel = buildImageModel();
- engageImageModel();
+ protected PropertyValueModel<String> descriptionModel() {
+ if (descriptionModel == null) {
+ descriptionModel = buildDescriptionModel();
+ engageDescriptionModel();
}
- return imageModel;
+ return descriptionModel;
}
/**
- * Construct an image model
+ * Construct a description value model
*/
- protected abstract PropertyValueModel<Image> buildImageModel();
+ protected abstract PropertyValueModel<String> buildDescriptionModel();
/**
- * Should only be overridden with a call to super.engageImageModel() before
+ * Should only be overridden with a call to super.engageDescriptionModel() before
* subclass logic
*/
- protected void engageImageModel() {
- imageModel.addPropertyChangeListener(PropertyValueModel.VALUE, labelChangeListener);
+ protected void engageDescriptionModel() {
+ descriptionModel.addPropertyChangeListener(PropertyValueModel.VALUE, labelChangeListener);
}
/**
- * Should only be overridden with a call to super.disengageImageModel() after
+ * Should only be overridden with a call to super.disengageDescriptionModel() after
* subclass logic
*/
- protected void disengageImageModel() {
- if (imageModel != null) {
- imageModel.removePropertyChangeListener(PropertyValueModel.VALUE, labelChangeListener);
+ protected void disengageDescriptionModel() {
+ if (descriptionModel != null) {
+ descriptionModel.removePropertyChangeListener(PropertyValueModel.VALUE, labelChangeListener);
}
}
@@ -149,12 +189,16 @@ public abstract class AbstractItemLabelProvider implements ItemLabelProvider
return labelProvider;
}
+ public Image getImage() {
+ return imageModel().getValue();
+ }
+
public String getText() {
return textModel().getValue();
}
- public Image getImage() {
- return imageModel().getValue();
+ public String getDescription() {
+ return descriptionModel().getValue();
}
public void dispose() {
diff --git a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/jface/DelegatingTreeContentAndLabelProvider.java b/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/jface/DelegatingTreeContentAndLabelProvider.java
index 8b74901db1..98e7094831 100644
--- a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/jface/DelegatingTreeContentAndLabelProvider.java
+++ b/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/jface/DelegatingTreeContentAndLabelProvider.java
@@ -20,7 +20,8 @@ import org.eclipse.jpt.ui.jface.TreeItemContentProviderFactory;
* Extension of {@link DelegatingContentAndLabelProvider} that provides an extension
* to provide tree content
*/
-public class DelegatingTreeContentAndLabelProvider extends DelegatingContentAndLabelProvider
+public class DelegatingTreeContentAndLabelProvider
+ extends DelegatingContentAndLabelProvider
implements ITreeContentProvider
{
public DelegatingTreeContentAndLabelProvider(
@@ -35,6 +36,7 @@ public class DelegatingTreeContentAndLabelProvider extends DelegatingContentAndL
}
+ @Override
protected TreeItemContentProvider itemContentProvider(Object item) {
return (TreeItemContentProvider) super.itemContentProvider(item);
}
diff --git a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/navigator/JpaNavigatorLabelProvider.java b/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/navigator/JpaNavigatorLabelProvider.java
index 4d92ba983f..d8f44ea461 100644
--- a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/navigator/JpaNavigatorLabelProvider.java
+++ b/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/navigator/JpaNavigatorLabelProvider.java
@@ -44,6 +44,7 @@ public class JpaNavigatorLabelProvider extends LabelProvider
// **************** IBaseLabelProvider implementation **********************
+ @Override
public void addListener(ILabelProviderListener listener) {
if (delegate != null) {
delegate.addListener(listener);
@@ -51,6 +52,7 @@ public class JpaNavigatorLabelProvider extends LabelProvider
super.addListener(listener);
}
+ @Override
public void removeListener(ILabelProviderListener listener) {
super.removeListener(listener);
if (delegate != null) {
@@ -58,6 +60,7 @@ public class JpaNavigatorLabelProvider extends LabelProvider
}
}
+ @Override
public boolean isLabelProperty(Object element, String property) {
if (delegate != null) {
return delegate.isLabelProperty(element, property);
@@ -66,6 +69,7 @@ public class JpaNavigatorLabelProvider extends LabelProvider
return super.isLabelProperty(element, property);
}
+ @Override
public void dispose() {
if (delegate != null) {
delegate.dispose();
@@ -76,6 +80,7 @@ public class JpaNavigatorLabelProvider extends LabelProvider
// **************** ILabelProvider implementation **************************
+ @Override
public Image getImage(Object element) {
if (delegate != null) {
return delegate.getImage(element);
@@ -84,6 +89,7 @@ public class JpaNavigatorLabelProvider extends LabelProvider
return super.getImage(element);
}
+ @Override
public String getText(Object element) {
if (delegate != null) {
return delegate.getText(element);
@@ -96,8 +102,11 @@ public class JpaNavigatorLabelProvider extends LabelProvider
// **************** IDescriptionProvider implementation ********************
public String getDescription(Object element) {
- // no op - defer to getText(element)
- return getText(element);
+ if (delegate != null) {
+ return delegate.getDescription(element);
+ }
+
+ return super.getText(element);
}
diff --git a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/platform/generic/ClassRefItemLabelProvider.java b/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/platform/generic/ClassRefItemLabelProvider.java
index e261aedc71..b796a87b96 100644
--- a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/platform/generic/ClassRefItemLabelProvider.java
+++ b/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/platform/generic/ClassRefItemLabelProvider.java
@@ -26,6 +26,16 @@ public class ClassRefItemLabelProvider extends AbstractItemLabelProvider
super(classRef, labelProvider);
}
+
+ @Override
+ protected PropertyValueModel<Image> buildImageModel() {
+ Image image = JptUiPlugin.getImage(JptUiIcons.CLASS_REF);
+ if (((ClassRef) model()).isVirtual()) {
+ image = JptUiIcons.ghost(image);
+ }
+ return new StaticPropertyValueModel<Image>(image);
+ }
+
@Override
protected PropertyValueModel<String> buildTextModel() {
return new PropertyAspectAdapter<ClassRef, String>(ClassRef.CLASS_NAME_PROPERTY, (ClassRef) model()) {
@@ -37,11 +47,14 @@ public class ClassRefItemLabelProvider extends AbstractItemLabelProvider
}
@Override
- protected PropertyValueModel<Image> buildImageModel() {
- Image image = JptUiPlugin.getImage(JptUiIcons.CLASS_REF);
- if (((ClassRef) model()).isVirtual()) {
- image = JptUiIcons.ghost(image);
- }
- return new StaticPropertyValueModel<Image>(image);
+ protected PropertyValueModel<String> buildDescriptionModel() {
+ return new PropertyAspectAdapter<ClassRef, String>(ClassRef.CLASS_NAME_PROPERTY, (ClassRef) model()) {
+ @Override
+ protected String buildValue_() {
+ return subject.getPersistenceUnit().getName()
+ + "/\"" + subject.getClassName()
+ + "\" - " + subject.getResource().getFullPath().makeRelative();
+ }
+ };
}
-} \ No newline at end of file
+}
diff --git a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/platform/generic/EntityMappingsItemLabelProvider.java b/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/platform/generic/EntityMappingsItemLabelProvider.java
index 6945a8d4b6..033fe36924 100644
--- a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/platform/generic/EntityMappingsItemLabelProvider.java
+++ b/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/platform/generic/EntityMappingsItemLabelProvider.java
@@ -26,13 +26,23 @@ public class EntityMappingsItemLabelProvider extends AbstractItemLabelProvider
super(entityMappings, labelProvider);
}
+
+ @Override
+ protected PropertyValueModel<Image> buildImageModel() {
+ return new StaticPropertyValueModel<Image>(
+ JptUiPlugin.getImage(JptUiIcons.ENTITY_MAPPINGS));
+ }
+
@Override
protected PropertyValueModel<String> buildTextModel() {
- return new StaticPropertyValueModel<String>(JptUiMessages.OrmItemLabelProviderFactory_entityMappingsLabel);
+ return new StaticPropertyValueModel<String>(
+ JptUiMessages.OrmItemLabelProviderFactory_entityMappingsLabel);
}
@Override
- protected PropertyValueModel<Image> buildImageModel() {
- return new StaticPropertyValueModel<Image>(JptUiPlugin.getImage(JptUiIcons.ENTITY_MAPPINGS));
- }
-} \ No newline at end of file
+ protected PropertyValueModel<String> buildDescriptionModel() {
+ return new StaticPropertyValueModel<String>(
+ JptUiMessages.OrmItemLabelProviderFactory_entityMappingsLabel
+ + " - " + ((EntityMappings) model()).getResource().getFullPath().makeRelative());
+ }
+}
diff --git a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/platform/generic/MappingFileRefItemLabelProvider.java b/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/platform/generic/MappingFileRefItemLabelProvider.java
index 4812a8d0e6..a2de913536 100644
--- a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/platform/generic/MappingFileRefItemLabelProvider.java
+++ b/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/platform/generic/MappingFileRefItemLabelProvider.java
@@ -26,6 +26,16 @@ public class MappingFileRefItemLabelProvider extends AbstractItemLabelProvider
super(mappingFileRef, labelProvider);
}
+
+ @Override
+ protected PropertyValueModel<Image> buildImageModel() {
+ Image image = JptUiPlugin.getImage(JptUiIcons.MAPPING_FILE_REF);
+ if (((MappingFileRef) model()).isImplied()) {
+ image = JptUiIcons.ghost(image);
+ }
+ return new StaticPropertyValueModel<Image>(image);
+ }
+
@Override
protected PropertyValueModel<String> buildTextModel() {
return new PropertyAspectAdapter<MappingFileRef, String>(MappingFileRef.FILE_NAME_PROPERTY, (MappingFileRef) model()) {
@@ -37,11 +47,14 @@ public class MappingFileRefItemLabelProvider extends AbstractItemLabelProvider
}
@Override
- protected PropertyValueModel<Image> buildImageModel() {
- Image image = JptUiPlugin.getImage(JptUiIcons.MAPPING_FILE_REF);
- if (((MappingFileRef) model()).isImplied()) {
- image = JptUiIcons.ghost(image);
- }
- return new StaticPropertyValueModel<Image>(image);
+ protected PropertyValueModel<String> buildDescriptionModel() {
+ return new PropertyAspectAdapter<MappingFileRef, String>(MappingFileRef.FILE_NAME_PROPERTY, (MappingFileRef) model()) {
+ @Override
+ protected String buildValue_() {
+ return subject.getPersistenceUnit().getName()
+ + "/\"" + subject.getFileName() + "\""
+ + " - " + subject.getResource().getFullPath().makeRelative();
+ }
+ };
}
-} \ No newline at end of file
+}
diff --git a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/platform/generic/OrmXmlItemLabelProvider.java b/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/platform/generic/OrmXmlItemLabelProvider.java
index 83151a9b26..eebe76f5cd 100644
--- a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/platform/generic/OrmXmlItemLabelProvider.java
+++ b/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/platform/generic/OrmXmlItemLabelProvider.java
@@ -25,13 +25,22 @@ public class OrmXmlItemLabelProvider extends AbstractItemLabelProvider
super(ormXml, labelProvider);
}
+
+ @Override
+ protected PropertyValueModel<Image> buildImageModel() {
+ return new StaticPropertyValueModel<Image>(JptUiPlugin.getImage(JptUiIcons.JPA_FILE));
+ }
+
@Override
protected PropertyValueModel<String> buildTextModel() {
return new StaticPropertyValueModel<String>(((OrmXml) model()).getResource().getName());
}
@Override
- protected PropertyValueModel<Image> buildImageModel() {
- return new StaticPropertyValueModel<Image>(JptUiPlugin.getImage(JptUiIcons.JPA_FILE));
+ protected PropertyValueModel<String> buildDescriptionModel() {
+ OrmXml ormXml = (OrmXml) model();
+ return new StaticPropertyValueModel<String>(
+ ormXml.getResource().getName()
+ + " - " + ormXml.getResource().getParent().getFullPath().makeRelative().toString());
}
}
diff --git a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/platform/generic/PersistenceItemLabelProvider.java b/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/platform/generic/PersistenceItemLabelProvider.java
index bf913aaf8a..59147884c0 100644
--- a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/platform/generic/PersistenceItemLabelProvider.java
+++ b/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/platform/generic/PersistenceItemLabelProvider.java
@@ -26,13 +26,22 @@ public class PersistenceItemLabelProvider extends AbstractItemLabelProvider
super(persistence, labelProvider);
}
+
+ @Override
+ protected PropertyValueModel<Image> buildImageModel() {
+ return new StaticPropertyValueModel<Image>(JptUiPlugin.getImage(JptUiIcons.PERSISTENCE));
+ }
+
@Override
protected PropertyValueModel<String> buildTextModel() {
- return new StaticPropertyValueModel<String>(JptUiMessages.PersistenceItemLabelProviderFactory_persistenceLabel);
+ return new StaticPropertyValueModel<String>(
+ JptUiMessages.PersistenceItemLabelProviderFactory_persistenceLabel);
}
@Override
- protected PropertyValueModel<Image> buildImageModel() {
- return new StaticPropertyValueModel<Image>(JptUiPlugin.getImage(JptUiIcons.PERSISTENCE));
- }
-} \ No newline at end of file
+ protected PropertyValueModel<String> buildDescriptionModel() {
+ return new StaticPropertyValueModel<String>(
+ JptUiMessages.PersistenceItemLabelProviderFactory_persistenceLabel
+ + " - " + ((Persistence) model()).getResource().getFullPath().makeRelative());
+ }
+}
diff --git a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/platform/generic/PersistenceUnitItemLabelProvider.java b/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/platform/generic/PersistenceUnitItemLabelProvider.java
index 8cea125d52..7209ad1e43 100644
--- a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/platform/generic/PersistenceUnitItemLabelProvider.java
+++ b/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/platform/generic/PersistenceUnitItemLabelProvider.java
@@ -26,6 +26,12 @@ public class PersistenceUnitItemLabelProvider extends AbstractItemLabelProvider
super(persistenceUnit, labelProvider);
}
+
+ @Override
+ protected PropertyValueModel<Image> buildImageModel() {
+ return new StaticPropertyValueModel<Image>(JptUiPlugin.getImage(JptUiIcons.PERSISTENCE_UNIT));
+ }
+
@Override
protected PropertyValueModel<String> buildTextModel() {
return new PropertyAspectAdapter<PersistenceUnit, String>(PersistenceUnit.NAME_PROPERTY, (PersistenceUnit) model()) {
@@ -37,7 +43,13 @@ public class PersistenceUnitItemLabelProvider extends AbstractItemLabelProvider
}
@Override
- protected PropertyValueModel<Image> buildImageModel() {
- return new StaticPropertyValueModel<Image>(JptUiPlugin.getImage(JptUiIcons.PERSISTENCE_UNIT));
+ protected PropertyValueModel<String> buildDescriptionModel() {
+ return new PropertyAspectAdapter<PersistenceUnit, String>(PersistenceUnit.NAME_PROPERTY, (PersistenceUnit) model()) {
+ @Override
+ protected String buildValue_() {
+ return subject.getName()
+ + " - " + subject.getResource().getFullPath().makeRelative();
+ }
+ };
}
-} \ No newline at end of file
+}
diff --git a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/platform/generic/PersistenceXmlItemLabelProvider.java b/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/platform/generic/PersistenceXmlItemLabelProvider.java
index c4374f8ec0..902d31af67 100644
--- a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/platform/generic/PersistenceXmlItemLabelProvider.java
+++ b/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/platform/generic/PersistenceXmlItemLabelProvider.java
@@ -25,13 +25,22 @@ public class PersistenceXmlItemLabelProvider extends AbstractItemLabelProvider
super(persistenceXml, labelProvider);
}
+
+ @Override
+ protected PropertyValueModel<Image> buildImageModel() {
+ return new StaticPropertyValueModel<Image>(JptUiPlugin.getImage(JptUiIcons.JPA_FILE));
+ }
+
@Override
protected PropertyValueModel<String> buildTextModel() {
return new StaticPropertyValueModel<String>(((PersistenceXml) model()).getResource().getName());
}
@Override
- protected PropertyValueModel<Image> buildImageModel() {
- return new StaticPropertyValueModel<Image>(JptUiPlugin.getImage(JptUiIcons.JPA_FILE));
- }
+ protected PropertyValueModel<String> buildDescriptionModel() {
+ PersistenceXml persistenceXml = (PersistenceXml) model();
+ return new StaticPropertyValueModel<String>(
+ persistenceXml.getResource().getName()
+ + " - " + persistenceXml.getResource().getParent().getFullPath().makeRelative().toString());
+ }
}
diff --git a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/platform/generic/PersistentAttributeItemLabelProvider.java b/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/platform/generic/PersistentAttributeItemLabelProvider.java
index 4adb421a6f..92f2224ae0 100644
--- a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/platform/generic/PersistentAttributeItemLabelProvider.java
+++ b/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/platform/generic/PersistentAttributeItemLabelProvider.java
@@ -25,15 +25,7 @@ public class PersistentAttributeItemLabelProvider extends AbstractItemLabelProvi
super(persistentAttribute, labelProvider);
}
- @Override
- protected PropertyValueModel<String> buildTextModel() {
- return new PropertyAspectAdapter<PersistentAttribute, String>(PersistentAttribute.NAME_PROPERTY, (PersistentAttribute) model()) {
- @Override
- protected String buildValue_() {
- return subject.getName();
- }
- };
- }
+
@Override
protected PropertyValueModel<Image> buildImageModel() {
@@ -49,5 +41,28 @@ public class PersistentAttributeItemLabelProvider extends AbstractItemLabelProvi
return image;
}
};
- }
-} \ No newline at end of file
+ }
+
+ @Override
+ protected PropertyValueModel<String> buildTextModel() {
+ return new PropertyAspectAdapter<PersistentAttribute, String>(PersistentAttribute.NAME_PROPERTY, (PersistentAttribute) model()) {
+ @Override
+ protected String buildValue_() {
+ return subject.getName();
+ }
+ };
+ }
+
+ @Override
+ protected PropertyValueModel<String> buildDescriptionModel() {
+ return new PropertyAspectAdapter<PersistentAttribute, String>(PersistentAttribute.NAME_PROPERTY, (PersistentAttribute) model()) {
+ @Override
+ protected String buildValue_() {
+ return subject.getPersistenceUnit().getName()
+ + "/" + subject.getPersistentType().getName()
+ + "/" + subject.getName()
+ + " - " + subject.getResource().getFullPath().makeRelative();
+ }
+ };
+ }
+}
diff --git a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/platform/generic/PersistentTypeItemLabelProvider.java b/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/platform/generic/PersistentTypeItemLabelProvider.java
index c7267a4497..c2827329d4 100644
--- a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/platform/generic/PersistentTypeItemLabelProvider.java
+++ b/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/platform/generic/PersistentTypeItemLabelProvider.java
@@ -24,6 +24,17 @@ public class PersistentTypeItemLabelProvider extends AbstractItemLabelProvider
super(persistentType, labelProvider);
}
+
+ @Override
+ protected PropertyValueModel<Image> buildImageModel() {
+ return new PropertyAspectAdapter<PersistentType, Image>(PersistentType.MAPPING_PROPERTY, (PersistentType) model()) {
+ @Override
+ protected Image buildValue_() {
+ return JpaMappingImageHelper.imageForTypeMapping(subject.getMappingKey());
+ }
+ };
+ }
+
@Override
protected PropertyValueModel<String> buildTextModel() {
return new PropertyAspectAdapter<PersistentType, String>(PersistentType.NAME_PROPERTY, (PersistentType) model()) {
@@ -35,12 +46,14 @@ public class PersistentTypeItemLabelProvider extends AbstractItemLabelProvider
}
@Override
- protected PropertyValueModel<Image> buildImageModel() {
- return new PropertyAspectAdapter<PersistentType, Image>(PersistentType.MAPPING_PROPERTY, (PersistentType) model()) {
+ protected PropertyValueModel<String> buildDescriptionModel() {
+ return new PropertyAspectAdapter<PersistentType, String>(PersistentType.NAME_PROPERTY, (PersistentType) model()) {
@Override
- protected Image buildValue_() {
- return JpaMappingImageHelper.imageForTypeMapping(subject.getMappingKey());
+ protected String buildValue_() {
+ return subject.getPersistenceUnit().getName()
+ + "/" + subject.getName()
+ + " - " + subject.getResource().getFullPath().makeRelative();
}
};
- }
-} \ No newline at end of file
+ }
+}
diff --git a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/platform/generic/RootContextItemLabelProvider.java b/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/platform/generic/RootContextItemLabelProvider.java
index 75adf5bb52..b9d67b3f7c 100644
--- a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/platform/generic/RootContextItemLabelProvider.java
+++ b/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/platform/generic/RootContextItemLabelProvider.java
@@ -26,13 +26,21 @@ public class RootContextItemLabelProvider extends AbstractItemLabelProvider
super(rootContextNode, labelProvider);
}
+
+ @Override
+ protected PropertyValueModel<Image> buildImageModel() {
+ return new StaticPropertyValueModel<Image>(JptUiPlugin.getImage(JptUiIcons.JPA_CONTENT));
+ }
+
@Override
protected PropertyValueModel<String> buildTextModel() {
return new StaticPropertyValueModel<String>(JptUiMessages.JpaContent_label);
}
@Override
- protected PropertyValueModel<Image> buildImageModel() {
- return new StaticPropertyValueModel<Image>(JptUiPlugin.getImage(JptUiIcons.JPA_CONTENT));
- }
+ protected PropertyValueModel<String> buildDescriptionModel() {
+ return new StaticPropertyValueModel<String>(
+ JptUiMessages.JpaContent_label
+ + " - " + ((JpaRootContextNode) model()).getResource().getFullPath().makeRelative());
+ }
}
diff --git a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/views/structure/JpaStructurePage.java b/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/views/structure/JpaStructurePage.java
index a65b921c31..e91e24de5c 100644
--- a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/views/structure/JpaStructurePage.java
+++ b/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/views/structure/JpaStructurePage.java
@@ -14,22 +14,27 @@ import org.eclipse.core.runtime.ListenerList;
import org.eclipse.core.runtime.SafeRunner;
import org.eclipse.jface.action.IMenuListener;
import org.eclipse.jface.action.IMenuManager;
+import org.eclipse.jface.action.IStatusLineManager;
import org.eclipse.jface.action.MenuManager;
import org.eclipse.jface.action.Separator;
import org.eclipse.jface.util.SafeRunnable;
import org.eclipse.jface.viewers.ISelection;
import org.eclipse.jface.viewers.ISelectionChangedListener;
import org.eclipse.jface.viewers.ISelectionProvider;
+import org.eclipse.jface.viewers.IStructuredSelection;
import org.eclipse.jface.viewers.ITreeSelection;
import org.eclipse.jface.viewers.SelectionChangedEvent;
import org.eclipse.jface.viewers.StructuredSelection;
import org.eclipse.jface.viewers.TreeViewer;
import org.eclipse.jpt.core.JpaFile;
import org.eclipse.jpt.core.JpaStructureNode;
+import org.eclipse.jpt.ui.internal.JptUiMessages;
import org.eclipse.jpt.ui.internal.jface.DelegatingTreeContentAndLabelProvider;
import org.eclipse.jpt.ui.internal.selection.DefaultJpaSelection;
import org.eclipse.jpt.ui.internal.selection.JpaSelection;
+import org.eclipse.jpt.ui.jface.DelegatingContentAndLabelProvider;
import org.eclipse.jpt.ui.structure.JpaStructureProvider;
+import org.eclipse.osgi.util.NLS;
import org.eclipse.swt.SWT;
import org.eclipse.swt.layout.FillLayout;
import org.eclipse.swt.widgets.Composite;
@@ -39,8 +44,9 @@ import org.eclipse.ui.IWorkbenchActionConstants;
import org.eclipse.ui.part.IPageSite;
import org.eclipse.ui.part.Page;
-public class JpaStructurePage extends Page
- implements ISelectionProvider, ISelectionChangedListener
+public class JpaStructurePage
+ extends Page
+ implements ISelectionProvider
{
private final JpaStructureView jpaStructureView;
@@ -48,19 +54,32 @@ public class JpaStructurePage extends Page
private final JpaStructureProvider structureProvider;
- private final ListenerList selectionChangedListenerList;
-
private Composite control;
+ private DelegatingContentAndLabelProvider contentAndLabelProvider;
+
private TreeViewer viewer;
- public JpaStructurePage(JpaStructureView jpaStructureView, JpaFile jpaFile, JpaStructureProvider structureProvider) {
+ private final ListenerList selectionChangedListenerList;
+
+ private final ISelectionChangedListener treeSelectionListener;
+
+ private final ISelectionChangedListener treePostSelectionListener;
+
+
+ public JpaStructurePage(
+ JpaStructureView jpaStructureView,
+ JpaFile jpaFile,
+ JpaStructureProvider structureProvider) {
this.jpaStructureView = jpaStructureView;
this.jpaFile = jpaFile;
this.structureProvider = structureProvider;
this.selectionChangedListenerList = new ListenerList();
+ this.treeSelectionListener = new TreeSelectionChangedListener();
+ this.treePostSelectionListener = new TreePostSelectionChangedListener();
}
+
@Override
public void init(IPageSite pageSite) {
super.init(pageSite);
@@ -77,17 +96,20 @@ public class JpaStructurePage extends Page
= new DelegatingTreeContentAndLabelProvider(
structureProvider.getTreeItemContentProviderFactory(),
structureProvider.getItemLabelProviderFactory());
+ this.contentAndLabelProvider = contentAndLabelProvider;
viewer.setContentProvider(contentAndLabelProvider);
// TODO Use problem decorator
viewer.setLabelProvider(contentAndLabelProvider);
viewer.setInput(this.jpaFile);
- viewer.addSelectionChangedListener(this);
+ viewer.addSelectionChangedListener(this.treeSelectionListener);
+ viewer.addPostSelectionChangedListener(this.treePostSelectionListener);
initContextMenu();
}
@Override
public void dispose() {
- viewer.removeSelectionChangedListener(this);
+ viewer.removeSelectionChangedListener(this.treeSelectionListener);
+ viewer.removePostSelectionChangedListener(this.treePostSelectionListener);
super.dispose();
}
@@ -168,14 +190,9 @@ public class JpaStructurePage extends Page
}
}
-
-
- // **************** ISelectionChangedListener impl *************************
-
- public void selectionChanged(SelectionChangedEvent event) {
- fireSelectionChanged(event.getSelection());
- }
-
+ /*
+ * relays tree selection event to listeners of this page
+ */
protected void fireSelectionChanged(ISelection selection) {
// create an event
final SelectionChangedEvent event =
@@ -193,4 +210,40 @@ public class JpaStructurePage extends Page
});
}
}
+
+ protected void updateStatusBar(ISelection selection) {
+ IStatusLineManager statusLineManager = getSite().getActionBars().getStatusLineManager();
+ if (! (selection instanceof IStructuredSelection) || selection.isEmpty()) {
+ statusLineManager.setMessage("");
+ return;
+ }
+ IStructuredSelection sselection = (IStructuredSelection) selection;
+ if (sselection.size() > 1) {
+ statusLineManager.setMessage(NLS.bind(JptUiMessages.JpaStructureView_numItemsSelected, sselection.size()));
+ }
+ else {
+ Object selObj = sselection.getFirstElement();
+ statusLineManager.setMessage(
+ this.contentAndLabelProvider.getImage(selObj),
+ this.contentAndLabelProvider.getDescription(selObj));
+ }
+ }
+
+
+ private class TreeSelectionChangedListener
+ implements ISelectionChangedListener
+ {
+ public void selectionChanged(SelectionChangedEvent event) {
+ JpaStructurePage.this.fireSelectionChanged(event.getSelection());
+ }
+ }
+
+
+ private class TreePostSelectionChangedListener
+ implements ISelectionChangedListener
+ {
+ public void selectionChanged(SelectionChangedEvent event) {
+ JpaStructurePage.this.updateStatusBar(event.getSelection());
+ }
+ }
} \ No newline at end of file
diff --git a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/views/structure/JpaStructureView.java b/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/views/structure/JpaStructureView.java
index fb45b406b9..9ced410525 100644
--- a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/views/structure/JpaStructureView.java
+++ b/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/views/structure/JpaStructureView.java
@@ -105,7 +105,6 @@ public class JpaStructureView
@Override
protected void doDestroyPage(IWorkbenchPart part, PageRec pageRecord) {
JpaStructurePage page = (JpaStructurePage) pageRecord.page;
- this.removeSelectionChangedListener(page);
page.dispose();
pageRecord.dispose();
}
diff --git a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/jface/DelegatingContentAndLabelProvider.java b/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/jface/DelegatingContentAndLabelProvider.java
index a401e428a6..2b6b959bc2 100644
--- a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/jface/DelegatingContentAndLabelProvider.java
+++ b/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/jface/DelegatingContentAndLabelProvider.java
@@ -18,6 +18,7 @@ import org.eclipse.jface.viewers.LabelProviderChangedEvent;
import org.eclipse.jface.viewers.StructuredViewer;
import org.eclipse.jface.viewers.Viewer;
import org.eclipse.swt.graphics.Image;
+import org.eclipse.ui.navigator.IDescriptionProvider;
/**
* Implementation of {@link IStructuredContentProvider} and {@link ILabelProvider} that
@@ -35,8 +36,9 @@ import org.eclipse.swt.graphics.Image;
* pioneering adopters on the understanding that any code that uses this API
* will almost certainly be broken (repeatedly) as the API evolves.
*/
-public abstract class DelegatingContentAndLabelProvider extends BaseLabelProvider
- implements IStructuredContentProvider, ILabelProvider
+public abstract class DelegatingContentAndLabelProvider
+ extends BaseLabelProvider
+ implements IStructuredContentProvider, ILabelProvider, IDescriptionProvider
{
private final ItemContentProviderFactory itemContentProviderFactory;
@@ -111,6 +113,11 @@ public abstract class DelegatingContentAndLabelProvider extends BaseLabelProvide
return (provider == null) ? null : provider.getText();
}
+ public String getDescription(Object element) {
+ ItemLabelProvider provider = itemLabelProvider(element);
+ return (provider == null) ? null : provider.getDescription();
+ }
+
/**
* Disposes all items
*/
diff --git a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/jface/ItemLabelProvider.java b/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/jface/ItemLabelProvider.java
index d15df3cbcf..a6c3db6c43 100644
--- a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/jface/ItemLabelProvider.java
+++ b/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/jface/ItemLabelProvider.java
@@ -36,6 +36,11 @@ public interface ItemLabelProvider
public String getText();
/**
+ * Return the description for the item
+ */
+ public String getDescription();
+
+ /**
* Dispose of this label provider, cleaning up all references, listeners, etc.
*/
void dispose();
diff --git a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/jface/ItemLabelProviderFactory.java b/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/jface/ItemLabelProviderFactory.java
index b3cc358d91..1ce72f8146 100644
--- a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/jface/ItemLabelProviderFactory.java
+++ b/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/jface/ItemLabelProviderFactory.java
@@ -21,6 +21,6 @@ package org.eclipse.jpt.ui.jface;
*/
public interface ItemLabelProviderFactory
{
- ItemLabelProvider buildItemLabelProvider(
- Object item, DelegatingContentAndLabelProvider contentAndLabelProvider);
+ ItemLabelProvider buildItemLabelProvider(Object item,
+ DelegatingContentAndLabelProvider contentAndLabelProvider);
}
diff --git a/jpa/tests/org.eclipse.jpt.ui.tests/META-INF/MANIFEST.MF b/jpa/tests/org.eclipse.jpt.ui.tests/META-INF/MANIFEST.MF
index 3f5d5cc38d..efef310b02 100644
--- a/jpa/tests/org.eclipse.jpt.ui.tests/META-INF/MANIFEST.MF
+++ b/jpa/tests/org.eclipse.jpt.ui.tests/META-INF/MANIFEST.MF
@@ -14,8 +14,9 @@ Require-Bundle:
org.eclipse.jpt.utility,
org.eclipse.jpt.core,
org.eclipse.jpt.ui,
- org.eclipse.ui.workbench;bundle-version="3.4.0",
- org.eclipse.ui.forms;bundle-version="3.3.100"
+ org.eclipse.ui.navigator;bundle-version="3.4.0",
+ org.eclipse.ui.forms;bundle-version="3.3.100",
+ org.eclipse.ui.workbench;bundle-version="3.4.0"
Export-Package: org.eclipse.jpt.ui.tests;x-internal:=true,
org.eclipse.jpt.ui.tests.internal.jface;x-internal:=true,
org.eclipse.jpt.ui.tests.internal.platform;x-internal:=true,
diff --git a/jpa/tests/org.eclipse.jpt.ui.tests/src/org/eclipse/jpt/ui/tests/internal/jface/DelegatingLabelProviderUiTest.java b/jpa/tests/org.eclipse.jpt.ui.tests/src/org/eclipse/jpt/ui/tests/internal/jface/DelegatingLabelProviderUiTest.java
index c1ef40e4b6..d0ace3e69a 100644
--- a/jpa/tests/org.eclipse.jpt.ui.tests/src/org/eclipse/jpt/ui/tests/internal/jface/DelegatingLabelProviderUiTest.java
+++ b/jpa/tests/org.eclipse.jpt.ui.tests/src/org/eclipse/jpt/ui/tests/internal/jface/DelegatingLabelProviderUiTest.java
@@ -32,7 +32,6 @@ import org.eclipse.jpt.ui.jface.ItemLabelProviderFactory;
import org.eclipse.jpt.ui.jface.TreeItemContentProvider;
import org.eclipse.jpt.ui.jface.TreeItemContentProviderFactory;
import org.eclipse.jpt.utility.internal.ClassTools;
-import org.eclipse.jpt.utility.internal.CollectionTools;
import org.eclipse.jpt.utility.internal.model.AbstractModel;
import org.eclipse.jpt.utility.internal.model.value.NullCollectionValueModel;
import org.eclipse.jpt.utility.internal.model.value.PropertyAspectAdapter;
@@ -382,6 +381,18 @@ public class DelegatingLabelProviderUiTest extends ApplicationWindow
}
@Override
+ protected PropertyValueModel<Image> buildImageModel() {
+ return new PropertyAspectAdapter<Vehicle, Image>(
+ new StaticPropertyValueModel<Vehicle>((Vehicle) model()),
+ Vehicle.COLOR_PROPERTY, Vehicle.GREYED_PROPERTY, Vehicle.TRANSLUCENT_PROPERTY) {
+ @Override
+ protected Image buildValue_() {
+ return subject.image();
+ }
+ };
+ }
+
+ @Override
protected PropertyValueModel<String> buildTextModel() {
return new PropertyAspectAdapter<Vehicle, String>(
new StaticPropertyValueModel<Vehicle>((Vehicle) model()),
@@ -394,15 +405,8 @@ public class DelegatingLabelProviderUiTest extends ApplicationWindow
}
@Override
- protected PropertyValueModel<Image> buildImageModel() {
- return new PropertyAspectAdapter<Vehicle, Image>(
- new StaticPropertyValueModel<Vehicle>((Vehicle) model()),
- Vehicle.COLOR_PROPERTY, Vehicle.GREYED_PROPERTY, Vehicle.TRANSLUCENT_PROPERTY) {
- @Override
- protected Image buildValue_() {
- return subject.image();
- }
- };
+ protected PropertyValueModel<String> buildDescriptionModel() {
+ return buildTextModel();
}
}

Back to the top