From 67595a32dbd4525b77f6253e781c613aadae9b0a Mon Sep 17 00:00:00 2001
From: Lukas Ladenberger <lukas.ladenberger@googlemail.com>
Date: Wed, 7 Nov 2012 14:25:04 +0100
Subject: [PATCH] implemented PROBPLUGIN-43

---
 .../gef/editor/figure/BMSImageFigure.java          | 14 ++++++++++++++
 .../de/bmotionstudio/gef/editor/model/BImage.java  |  4 ++--
 .../bmotionstudio/gef/editor/part/BImagePart.java  |  6 +++++-
 3 files changed, 21 insertions(+), 3 deletions(-)

diff --git a/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/figure/BMSImageFigure.java b/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/figure/BMSImageFigure.java
index 0507de2d..091a5bac 100644
--- a/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/figure/BMSImageFigure.java
+++ b/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/figure/BMSImageFigure.java
@@ -12,6 +12,7 @@ import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
+import org.eclipse.draw2d.Graphics;
 import org.eclipse.draw2d.ImageFigure;
 import org.eclipse.draw2d.StackLayout;
 import org.eclipse.draw2d.geometry.Rectangle;
@@ -24,6 +25,8 @@ public class BMSImageFigure extends AbstractBMotionFigure {
 
 	private ImageFigure imageFigure;
 
+	private int alpha;
+
 	final ImageLoader loader = new ImageLoader();
 
 	private Map<String, List<Image>> images = new HashMap<String, List<Image>>();
@@ -39,6 +42,12 @@ public class BMSImageFigure extends AbstractBMotionFigure {
 		getParent().setConstraint(imageFigure, rect);
 	}
 
+	@Override
+	public void paint(Graphics g) {
+		g.setAlpha(alpha);
+		super.paint(g);
+	}
+
 	public void setImage(String myPath) {
 
 		if (currentGIFThread != null)
@@ -139,4 +148,9 @@ public class BMSImageFigure extends AbstractBMotionFigure {
 
 	}
 
+	public void setAlpha(int alpha) {
+		this.alpha = alpha;
+		repaint();
+	}
+
 }
diff --git a/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/model/BImage.java b/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/model/BImage.java
index 0d626f92..e85ed92f 100644
--- a/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/model/BImage.java
+++ b/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/model/BImage.java
@@ -6,6 +6,7 @@
 
 package de.bmotionstudio.gef.editor.model;
 
+import de.bmotionstudio.gef.editor.attribute.BAttributeAlpha;
 import de.bmotionstudio.gef.editor.attribute.BAttributeImage;
 
 /**
@@ -27,9 +28,8 @@ public class BImage extends BControl {
 
 	@Override
 	protected void initAttributes() {
-
 		initAttribute(new BAttributeImage(null));
-
+		initAttribute(new BAttributeAlpha(255));
 	}
 
 }
diff --git a/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/part/BImagePart.java b/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/part/BImagePart.java
index 3560b6aa..d1e12738 100644
--- a/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/part/BImagePart.java
+++ b/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/part/BImagePart.java
@@ -13,8 +13,8 @@ import org.eclipse.draw2d.IFigure;
 import org.eclipse.gef.EditPolicy;
 
 import de.bmotionstudio.gef.editor.AttributeConstants;
-import de.bmotionstudio.gef.editor.editpolicy.BMSDeletePolicy;
 import de.bmotionstudio.gef.editor.editpolicy.BMSConnectionEditPolicy;
+import de.bmotionstudio.gef.editor.editpolicy.BMSDeletePolicy;
 import de.bmotionstudio.gef.editor.editpolicy.ChangeAttributePolicy;
 import de.bmotionstudio.gef.editor.figure.BMSImageFigure;
 import de.bmotionstudio.gef.editor.library.AbstractLibraryCommand;
@@ -47,6 +47,10 @@ public class BImagePart extends BMSAbstractEditPart {
 			((BMSImageFigure) figure).setVisible(Boolean.valueOf(value
 					.toString()));
 
+		if (aID.equals(AttributeConstants.ATTRIBUTE_ALPHA))
+			((BMSImageFigure) figure)
+					.setAlpha(Integer.valueOf(value.toString()));
+
 	}
 
 	@Override
-- 
GitLab