X-Git-Url: https://gerrit.simantics.org/r/gitweb?p=simantics%2Fplatform.git;a=blobdiff_plain;f=bundles%2Forg.simantics.browsing.ui%2Fsrc%2Forg%2Fsimantics%2Fbrowsing%2Fui%2Fcontent%2FCompositeImageDecorator.java;fp=bundles%2Forg.simantics.browsing.ui%2Fsrc%2Forg%2Fsimantics%2Fbrowsing%2Fui%2Fcontent%2FCompositeImageDecorator.java;h=0cdadf46df650fe0eec617a05bd06fa9332bad45;hp=0000000000000000000000000000000000000000;hb=969bd23cab98a79ca9101af33334000879fb60c5;hpb=866dba5cd5a3929bbeae85991796acb212338a08 diff --git a/bundles/org.simantics.browsing.ui/src/org/simantics/browsing/ui/content/CompositeImageDecorator.java b/bundles/org.simantics.browsing.ui/src/org/simantics/browsing/ui/content/CompositeImageDecorator.java new file mode 100644 index 000000000..0cdadf46d --- /dev/null +++ b/bundles/org.simantics.browsing.ui/src/org/simantics/browsing/ui/content/CompositeImageDecorator.java @@ -0,0 +1,36 @@ +package org.simantics.browsing.ui.content; + +import java.util.Collection; + +public class CompositeImageDecorator implements ImageDecorator { + + Collection decorators; + + public static final ImageDecorator ID = new ImageDecorator() { + @Override + public Image decorateImage(Image image, String column, int itemIndex) { + return image; + } + }; + + private CompositeImageDecorator(Collection decorators) { + this.decorators = decorators; + } + + public static ImageDecorator create(Collection decorators) { + if(decorators.isEmpty()) + return ID; + else if(decorators.size() == 1) + return decorators.iterator().next(); + else + return new CompositeImageDecorator(decorators); + } + + @Override + public Image decorateImage(Image image, String column, int itemIndex) { + for(ImageDecorator decorator : decorators) + image = decorator.decorateImage(image, column, itemIndex); + return image; + } + +}