From e4479b21c3e675dd0762c6a71efc220101d01513 Mon Sep 17 00:00:00 2001 From: Lukas Ladenberger <lukas.ladenberger@googlemail.com> Date: Wed, 7 Nov 2012 15:13:11 +0100 Subject: [PATCH] improved invisible/visible attribute --- .../icons/icon_invisible.gif | Bin 0 -> 951 bytes .../gef/editor/EditorImageRegistry.java | 6 +++++- .../editor/figure/AbstractBMotionFigure.java | 18 ++++++++++++++---- .../gef/editor/figure/ShapeFigure.java | 10 ++++++++-- .../gef/editor/part/SwitchPart.java | 4 ++++ 5 files changed, 31 insertions(+), 7 deletions(-) create mode 100644 de.bmotionstudio.gef.editor/icons/icon_invisible.gif diff --git a/de.bmotionstudio.gef.editor/icons/icon_invisible.gif b/de.bmotionstudio.gef.editor/icons/icon_invisible.gif new file mode 100644 index 0000000000000000000000000000000000000000..2b5ef47f3c817f65e6f2b16eed6091735fc6588c GIT binary patch literal 951 zcmZ?wbhEHb6krfw_|DJ3z`*eT|Nn;8wl|+XGdA=w#$_^EJ9%x|r)TG|<noQJ_a4V5 zCazwy=KlTr7cN`?sUF3nAux<WK=CIFBLf3JgAT|~pgh6AF@-^%L&l@vK?5@*msX8I zgF_=TH>a77Ljr>%yM(b?K}6vKW;P~)Khm8G7+kxVWLshu2sxf)VvFEPIq*QfnN5*( z#u^QWXH2ts*>o;=3Lb1=u$BB%Vvuman~7V1CHI3r!=-vgkvBc35*nK4yECi&*lxVi oYc`{h-36}VCDCk|SJezU4c5i(EKwGk!yTya$XdtA#=>9?07>{wVE_OC literal 0 HcmV?d00001 diff --git a/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/EditorImageRegistry.java b/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/EditorImageRegistry.java index 5829e8f8..56b16757 100644 --- a/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/EditorImageRegistry.java +++ b/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/EditorImageRegistry.java @@ -27,6 +27,7 @@ public class EditorImageRegistry implements IBMotionStudioImageRegistry { public static final String IMG_ICON_DELETE_EDIT = "icon_delete_edit"; public static final String IMG_ICON_TR_UP = "icon_tr_up"; public static final String IMG_ICON_TR_LEFT = "icon_tr_left"; + public static final String IMG_ICON_CONTROL_HIDDEN = "icon_control_hidden"; public static final String IMG_ICON_JPG = "icon_jpg"; public static final String IMG_ICON_GIF = "icon_gif"; @@ -63,11 +64,14 @@ public class EditorImageRegistry implements IBMotionStudioImageRegistry { BMotionEditorPlugin.PLUGIN_ID, "icons/icon_connection16.gif"); BMotionStudioImage.registerImage(IMG_ICON_CONNECTION24, BMotionEditorPlugin.PLUGIN_ID, "icons/icon_connection24.gif"); + BMotionStudioImage.registerImage(IMG_ICON_CONTROL_HIDDEN, + BMotionEditorPlugin.PLUGIN_ID, "icons/icon_invisible.gif"); BMotionStudioImage.registerImage(IMG_ICON_NEW_WIZ, "org.eclipse.ui", "$nl$/icons/full/etool16/new_wiz.gif"); BMotionStudioImage.registerImage(IMG_ICON_DELETE_EDIT, "org.eclipse.ui", "$nl$/icons/full/etool16/delete_edit.gif"); - + BMotionStudioImage.registerImage(IMG_ICON_DELETE_EDIT, + "org.eclipse.ui", "$nl$/icons/full/etool16/delete_edit.gif"); BMotionStudioImage .registerImage(IMG_ICON_TR_UP, BMotionEditorPlugin.PLUGIN_ID, "icons/eclipse16/updated_co.gif"); diff --git a/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/figure/AbstractBMotionFigure.java b/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/figure/AbstractBMotionFigure.java index 51570855..479b6923 100644 --- a/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/figure/AbstractBMotionFigure.java +++ b/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/figure/AbstractBMotionFigure.java @@ -8,6 +8,10 @@ package de.bmotionstudio.gef.editor.figure; import org.eclipse.draw2d.Clickable; import org.eclipse.draw2d.Graphics; +import org.eclipse.draw2d.geometry.Rectangle; + +import de.bmotionstudio.gef.editor.BMotionStudioImage; +import de.bmotionstudio.gef.editor.EditorImageRegistry; /** * @author Lukas Ladenberger @@ -15,8 +19,9 @@ import org.eclipse.draw2d.Graphics; */ public class AbstractBMotionFigure extends Clickable { - private boolean visible; - private boolean isRunning; + protected boolean visible; + protected boolean isRunning; + public static final int HIDDEN_ALPHA_VALUE = 35; public AbstractBMotionFigure() { this.visible = true; @@ -41,8 +46,13 @@ public class AbstractBMotionFigure extends Clickable { @Override public void paint(Graphics g) { - if (!this.visible && !isRunning) - g.setAlpha(25); + Rectangle clientArea = getClientArea(); + if (!this.visible && !isRunning()) { + g.drawImage(BMotionStudioImage + .getImage(EditorImageRegistry.IMG_ICON_CONTROL_HIDDEN), + clientArea.x, clientArea.y); + g.setAlpha(HIDDEN_ALPHA_VALUE); + } super.paint(g); } diff --git a/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/figure/ShapeFigure.java b/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/figure/ShapeFigure.java index 6d647b3b..9ddf860f 100644 --- a/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/figure/ShapeFigure.java +++ b/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/figure/ShapeFigure.java @@ -83,7 +83,10 @@ public class ShapeFigure extends AbstractBMotionFigure { @Override protected void fillShape(Graphics g) { - g.setAlpha(alpha); + if (!visible && !isRunning) + g.setAlpha(AbstractBMotionFigure.HIDDEN_ALPHA_VALUE); + else + g.setAlpha(alpha); g.setAntialias(SWT.ON); if (fillType == FILL_TYPE_GRADIENT) { // Gradient fill type @@ -168,7 +171,10 @@ public class ShapeFigure extends AbstractBMotionFigure { @Override protected void outlineShape(Graphics g) { - g.setAlpha(outlineAlpha); + if (!visible && !isRunning) + g.setAlpha(AbstractBMotionFigure.HIDDEN_ALPHA_VALUE); + else + g.setAlpha(outlineAlpha); g.setAntialias(SWT.ON); g.setForegroundColor(this.getForegroundColor()); diff --git a/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/part/SwitchPart.java b/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/part/SwitchPart.java index 6b17cb70..cb28c211 100644 --- a/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/part/SwitchPart.java +++ b/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/part/SwitchPart.java @@ -64,6 +64,10 @@ public class SwitchPart extends BMSAbstractEditPart { if (aID.equals(AttributeConstants.ATTRIBUTE_SWITCH_DIRECTION)) refreshEditLayout(figure, model); + if (aID.equals(AttributeConstants.ATTRIBUTE_VISIBLE)) + ((SwitchFigure) figure) + .setVisible(Boolean.valueOf(value.toString())); + } @Override -- GitLab