Skip to content
Snippets Groups Projects
Commit 535f9bf3 authored by Lukas Ladenberger's avatar Lukas Ladenberger
Browse files

attribute handling refactoring

parent e71a8184
Branches
Tags
No related merge requests found
Showing
with 275 additions and 220 deletions
...@@ -13,10 +13,6 @@ import de.bmotionstudio.gef.editor.property.IntegerPropertyDescriptor; ...@@ -13,10 +13,6 @@ import de.bmotionstudio.gef.editor.property.IntegerPropertyDescriptor;
public class BAttributeX extends AbstractAttribute { public class BAttributeX extends AbstractAttribute {
public BAttributeX(Object value) {
super(value);
}
public PropertyDescriptor preparePropertyDescriptor() { public PropertyDescriptor preparePropertyDescriptor() {
IntegerPropertyDescriptor descriptor = new IntegerPropertyDescriptor( IntegerPropertyDescriptor descriptor = new IntegerPropertyDescriptor(
getID(), getName()); getID(), getName());
......
...@@ -13,10 +13,6 @@ import de.bmotionstudio.gef.editor.property.IntegerPropertyDescriptor; ...@@ -13,10 +13,6 @@ import de.bmotionstudio.gef.editor.property.IntegerPropertyDescriptor;
public class BAttributeY extends AbstractAttribute { public class BAttributeY extends AbstractAttribute {
public BAttributeY(Object value) {
super(value);
}
public PropertyDescriptor preparePropertyDescriptor() { public PropertyDescriptor preparePropertyDescriptor() {
IntegerPropertyDescriptor descriptor = new IntegerPropertyDescriptor( IntegerPropertyDescriptor descriptor = new IntegerPropertyDescriptor(
getID(), getName()); getID(), getName());
......
...@@ -147,6 +147,7 @@ public class AppEditLayoutPolicy extends XYLayoutEditPolicy { ...@@ -147,6 +147,7 @@ public class AppEditLayoutPolicy extends XYLayoutEditPolicy {
(BControl) getHost().getModel()); (BControl) getHost().getModel());
Rectangle constraint = (Rectangle) getConstraintFor(request); Rectangle constraint = (Rectangle) getConstraintFor(request);
constraint.x = (constraint.x < 0) ? 0 : constraint.x; constraint.x = (constraint.x < 0) ? 0 : constraint.x;
constraint.y = (constraint.y < 0) ? 0 : constraint.y; constraint.y = (constraint.y < 0) ? 0 : constraint.y;
...@@ -157,19 +158,21 @@ public class AppEditLayoutPolicy extends XYLayoutEditPolicy { ...@@ -157,19 +158,21 @@ public class AppEditLayoutPolicy extends XYLayoutEditPolicy {
.getAttributes().get( .getAttributes().get(
AttributeConstants.ATTRIBUTE_HEIGHT); AttributeConstants.ATTRIBUTE_HEIGHT);
if (atrWidth != null && !atrWidth.isEditable()) { Integer cWidth = Integer.valueOf(atrWidth.getDefaultValue()
constraint.width = Integer.valueOf(atrWidth.getValue()
.toString()); .toString());
if (!atrWidth.isEditable()) {
constraint.width = cWidth;
} else { } else {
constraint.width = (constraint.width <= 0) ? 100 constraint.width = (constraint.width <= 0) ? cWidth
: constraint.width; : constraint.width;
} }
if (atrHeight != null && !atrHeight.isEditable()) { Integer cHeight = Integer.valueOf(atrHeight.getDefaultValue()
constraint.height = Integer.valueOf(atrHeight.getValue()
.toString()); .toString());
if (!atrHeight.isEditable()) {
constraint.height = cHeight;
} else { } else {
constraint.height = (constraint.height <= 0) ? 100 constraint.height = (constraint.height <= 0) ? cHeight
: constraint.height; : constraint.height;
} }
......
...@@ -19,9 +19,8 @@ public class BControlPropertySource extends AbstractAttribute { ...@@ -19,9 +19,8 @@ public class BControlPropertySource extends AbstractAttribute {
private BAttributeMisc miscAttribute; private BAttributeMisc miscAttribute;
public BControlPropertySource(BControl control) { public BControlPropertySource(BControl control) {
super(null);
this.control = control; this.control = control;
this.miscAttribute = new BAttributeMisc(null); this.miscAttribute = new BAttributeMisc();
addChild(this.miscAttribute); addChild(this.miscAttribute);
init(); init();
} }
......
...@@ -9,10 +9,6 @@ package de.bmotionstudio.gef.editor.model; ...@@ -9,10 +9,6 @@ package de.bmotionstudio.gef.editor.model;
import org.eclipse.swt.graphics.RGB; import org.eclipse.swt.graphics.RGB;
import de.bmotionstudio.gef.editor.AttributeConstants; import de.bmotionstudio.gef.editor.AttributeConstants;
import de.bmotionstudio.gef.editor.attribute.BAttributeBackgroundColor;
import de.bmotionstudio.gef.editor.attribute.BAttributeEnabled;
import de.bmotionstudio.gef.editor.attribute.BAttributeText;
import de.bmotionstudio.gef.editor.attribute.BAttributeTextColor;
/** /**
* @author Lukas Ladenberger * @author Lukas Ladenberger
...@@ -35,12 +31,13 @@ public class BButton extends BControl { ...@@ -35,12 +31,13 @@ public class BButton extends BControl {
@Override @Override
protected void initAttributes() { protected void initAttributes() {
initAttribute(new BAttributeText(DEFAULT_TEXT)); initAttribute(AttributeConstants.ATTRIBUTE_TEXT, DEFAULT_TEXT);
initAttribute(new BAttributeBackgroundColor(new RGB(192, 192, 192))); initAttribute(AttributeConstants.ATTRIBUTE_BACKGROUND_COLOR, new RGB(
initAttribute(new BAttributeTextColor(new RGB(0, 0, 0))); 192, 192, 192));
initAttribute(new BAttributeEnabled(true)); initAttribute(AttributeConstants.ATTRIBUTE_TEXT_COLOR, new RGB(0, 0, 0));
getAttribute(AttributeConstants.ATTRIBUTE_HEIGHT).setValue(25); initAttribute(AttributeConstants.ATTRIBUTE_ENABLED, true);
getAttribute(AttributeConstants.ATTRIBUTE_WIDTH).setValue(100); initAttribute(AttributeConstants.ATTRIBUTE_HEIGHT, 25);
initAttribute(AttributeConstants.ATTRIBUTE_WIDTH, 100);
} }
} }
...@@ -9,12 +9,6 @@ package de.bmotionstudio.gef.editor.model; ...@@ -9,12 +9,6 @@ package de.bmotionstudio.gef.editor.model;
import org.eclipse.swt.graphics.RGB; import org.eclipse.swt.graphics.RGB;
import de.bmotionstudio.gef.editor.AttributeConstants; import de.bmotionstudio.gef.editor.AttributeConstants;
import de.bmotionstudio.gef.editor.attribute.BAttributeChecked;
import de.bmotionstudio.gef.editor.attribute.BAttributeEnabled;
import de.bmotionstudio.gef.editor.attribute.BAttributeFalseValue;
import de.bmotionstudio.gef.editor.attribute.BAttributeText;
import de.bmotionstudio.gef.editor.attribute.BAttributeTextColor;
import de.bmotionstudio.gef.editor.attribute.BAttributeTrueValue;
/** /**
* @author Lukas Ladenberger * @author Lukas Ladenberger
...@@ -37,14 +31,14 @@ public class BCheckbox extends BControl { ...@@ -37,14 +31,14 @@ public class BCheckbox extends BControl {
@Override @Override
protected void initAttributes() { protected void initAttributes() {
initAttribute(new BAttributeText(DEFAULT_TEXT)); initAttribute(AttributeConstants.ATTRIBUTE_TEXT, DEFAULT_TEXT);
initAttribute(new BAttributeTextColor(new RGB(0, 0, 0))); initAttribute(AttributeConstants.ATTRIBUTE_TEXT_COLOR, new RGB(0, 0, 0));
initAttribute(new BAttributeChecked(true)); initAttribute(AttributeConstants.ATTRIBUTE_CHECKED, true);
initAttribute(new BAttributeEnabled(true)); initAttribute(AttributeConstants.ATTRIBUTE_ENABLED, true);
initAttribute(new BAttributeTrueValue("")); initAttribute(AttributeConstants.ATTRIBUTE_TRUEVALUE, "");
initAttribute(new BAttributeFalseValue("")); initAttribute(AttributeConstants.ATTRIBUTE_FALSEVALUE, "");
getAttribute(AttributeConstants.ATTRIBUTE_HEIGHT).setValue(21); initAttribute(AttributeConstants.ATTRIBUTE_HEIGHT, 21, false, false,
getAttribute(AttributeConstants.ATTRIBUTE_HEIGHT).setEditable(false); AttributeConstants.ATTRIBUTE_SIZE);
} }
@Override @Override
......
...@@ -8,8 +8,7 @@ package de.bmotionstudio.gef.editor.model; ...@@ -8,8 +8,7 @@ package de.bmotionstudio.gef.editor.model;
import org.eclipse.swt.graphics.RGB; import org.eclipse.swt.graphics.RGB;
import de.bmotionstudio.gef.editor.attribute.BAttributeBackgroundColor; import de.bmotionstudio.gef.editor.AttributeConstants;
import de.bmotionstudio.gef.editor.attribute.BAttributeImage;
/** /**
* @author Lukas Ladenberger * @author Lukas Ladenberger
...@@ -30,8 +29,9 @@ public class BComposite extends BControl { ...@@ -30,8 +29,9 @@ public class BComposite extends BControl {
@Override @Override
protected void initAttributes() { protected void initAttributes() {
initAttribute(new BAttributeBackgroundColor(new RGB(192, 192, 192))); initAttribute(AttributeConstants.ATTRIBUTE_BACKGROUND_COLOR, new RGB(
initAttribute(new BAttributeImage(null)); 192, 192, 192));
initAttribute(AttributeConstants.ATTRIBUTE_IMAGE, null);
} }
@Override @Override
......
...@@ -8,14 +8,10 @@ package de.bmotionstudio.gef.editor.model; ...@@ -8,14 +8,10 @@ package de.bmotionstudio.gef.editor.model;
import org.eclipse.swt.graphics.RGB; import org.eclipse.swt.graphics.RGB;
import de.bmotionstudio.gef.editor.attribute.BAttributeConnection; import de.bmotionstudio.gef.editor.AttributeConstants;
import de.bmotionstudio.gef.editor.attribute.BAttributeConnectionSourceDecoration; import de.bmotionstudio.gef.editor.attribute.BAttributeConnectionSourceDecoration;
import de.bmotionstudio.gef.editor.attribute.BAttributeConnectionTargetDecoration; import de.bmotionstudio.gef.editor.attribute.BAttributeConnectionTargetDecoration;
import de.bmotionstudio.gef.editor.attribute.BAttributeForegroundColor;
import de.bmotionstudio.gef.editor.attribute.BAttributeLabel;
import de.bmotionstudio.gef.editor.attribute.BAttributeLineStyle; import de.bmotionstudio.gef.editor.attribute.BAttributeLineStyle;
import de.bmotionstudio.gef.editor.attribute.BAttributeLineWidth;
import de.bmotionstudio.gef.editor.internal.BControlPropertySource;
public class BConnection extends BControl { public class BConnection extends BControl {
...@@ -121,21 +117,24 @@ public class BConnection extends BControl { ...@@ -121,21 +117,24 @@ public class BConnection extends BControl {
@Override @Override
protected void initAttributes() { protected void initAttributes() {
BAttributeConnection bAttributeConnection = new BAttributeConnection( initAttribute(AttributeConstants.ATTRIBUTE_CONNECTION, null);
null); initAttribute(AttributeConstants.ATTRIBUTE_LINEWIDTH, 1,
initAttribute(bAttributeConnection, BControlPropertySource.ROOT); AttributeConstants.ATTRIBUTE_CONNECTION);
initAttribute(new BAttributeLineWidth(1), bAttributeConnection); initAttribute(AttributeConstants.ATTRIBUTE_LINESTYLE,
initAttribute(new BAttributeLineStyle( BAttributeLineStyle.SOLID_CONNECTION,
BAttributeLineStyle.SOLID_CONNECTION), bAttributeConnection); AttributeConstants.ATTRIBUTE_CONNECTION);
initAttribute(new BAttributeForegroundColor(new RGB(0, 0, 0)), initAttribute(AttributeConstants.ATTRIBUTE_FOREGROUND_COLOR, new RGB(0,
bAttributeConnection); 0, 0), AttributeConstants.ATTRIBUTE_CONNECTION);
initAttribute(new BAttributeConnectionSourceDecoration( initAttribute(
BAttributeConnectionSourceDecoration.DECORATION_NONE), AttributeConstants.ATTRIBUTE_CONNECTION_SOURCE_DECORATION,
bAttributeConnection); BAttributeConnectionSourceDecoration.DECORATION_NONE,
initAttribute(new BAttributeConnectionTargetDecoration( AttributeConstants.ATTRIBUTE_CONNECTION);
BAttributeConnectionTargetDecoration.DECORATION_NONE), initAttribute(
bAttributeConnection); AttributeConstants.ATTRIBUTE_CONNECTION_TARGET_DECORATION,
initAttribute(new BAttributeLabel("Label..."), bAttributeConnection); BAttributeConnectionTargetDecoration.DECORATION_NONE,
AttributeConstants.ATTRIBUTE_CONNECTION);
initAttribute(AttributeConstants.ATTRIBUTE_LABEL, "Label...",
AttributeConstants.ATTRIBUTE_CONNECTION);
} }
} }
\ No newline at end of file
...@@ -29,15 +29,6 @@ import de.bmotionstudio.gef.editor.AttributeConstants; ...@@ -29,15 +29,6 @@ import de.bmotionstudio.gef.editor.AttributeConstants;
import de.bmotionstudio.gef.editor.BMotionEditorPlugin; import de.bmotionstudio.gef.editor.BMotionEditorPlugin;
import de.bmotionstudio.gef.editor.BMotionStudioImage; import de.bmotionstudio.gef.editor.BMotionStudioImage;
import de.bmotionstudio.gef.editor.attribute.AbstractAttribute; import de.bmotionstudio.gef.editor.attribute.AbstractAttribute;
import de.bmotionstudio.gef.editor.attribute.BAttributeCoordinates;
import de.bmotionstudio.gef.editor.attribute.BAttributeCustom;
import de.bmotionstudio.gef.editor.attribute.BAttributeHeight;
import de.bmotionstudio.gef.editor.attribute.BAttributeID;
import de.bmotionstudio.gef.editor.attribute.BAttributeSize;
import de.bmotionstudio.gef.editor.attribute.BAttributeVisible;
import de.bmotionstudio.gef.editor.attribute.BAttributeWidth;
import de.bmotionstudio.gef.editor.attribute.BAttributeX;
import de.bmotionstudio.gef.editor.attribute.BAttributeY;
import de.bmotionstudio.gef.editor.internal.BControlPropertySource; import de.bmotionstudio.gef.editor.internal.BControlPropertySource;
import de.bmotionstudio.gef.editor.observer.IObserverListener; import de.bmotionstudio.gef.editor.observer.IObserverListener;
import de.bmotionstudio.gef.editor.observer.Observer; import de.bmotionstudio.gef.editor.observer.Observer;
...@@ -102,6 +93,14 @@ public abstract class BControl implements IAdaptable, Cloneable { ...@@ -102,6 +93,14 @@ public abstract class BControl implements IAdaptable, Cloneable {
/** Property ID to use when the list of incoming connections is modified. */ /** Property ID to use when the list of incoming connections is modified. */
public static final String TARGET_CONNECTIONS_PROP = "BMS.TargetConn"; public static final String TARGET_CONNECTIONS_PROP = "BMS.TargetConn";
public static final String[] standardAttributes = {
AttributeConstants.ATTRIBUTE_X,
AttributeConstants.ATTRIBUTE_Y, AttributeConstants.ATTRIBUTE_WIDTH,
AttributeConstants.ATTRIBUTE_HEIGHT,
AttributeConstants.ATTRIBUTE_ID,
AttributeConstants.ATTRIBUTE_CUSTOM,
AttributeConstants.ATTRIBUTE_VISIBLE };
public BControl(Visualization visualization) { public BControl(Visualization visualization) {
this.visualization = visualization; this.visualization = visualization;
this.children = new BControlList(); this.children = new BControlList();
...@@ -172,7 +171,17 @@ public abstract class BControl implements IAdaptable, Cloneable { ...@@ -172,7 +171,17 @@ public abstract class BControl implements IAdaptable, Cloneable {
private void init() { private void init() {
// Init ID // Init custom control attributes
initAttributes();
// Init standard control attributes
initStandardAttributes();
}
private void initStandardAttributes() {
// Init unique ID
String ID; String ID;
if (this instanceof Visualization) if (this instanceof Visualization)
ID = "visualization"; ID = "visualization";
...@@ -180,25 +189,45 @@ public abstract class BControl implements IAdaptable, Cloneable { ...@@ -180,25 +189,45 @@ public abstract class BControl implements IAdaptable, Cloneable {
ID = UUID.randomUUID().toString(); ID = UUID.randomUUID().toString();
else else
ID = (visualization.getMaxIDString(type)); ID = (visualization.getMaxIDString(type));
initAttribute(new BAttributeID(ID), AbstractAttribute.ROOT); initAttribute(AttributeConstants.ATTRIBUTE_ID, ID,
AbstractAttribute.ROOT);
// Init location and dimension attributes
BAttributeCoordinates coordinatesAtr = new BAttributeCoordinates(null); initAttribute(AttributeConstants.ATTRIBUTE_MISC, "",
initAttribute(coordinatesAtr, AbstractAttribute.ROOT); AbstractAttribute.ROOT);
initAttribute(new BAttributeX(100), coordinatesAtr);
initAttribute(new BAttributeY(100), coordinatesAtr); // initAttribute(new BAttributeID(ID), AbstractAttribute.ROOT);
BAttributeSize sizeAtr = new BAttributeSize(null); // Init location and size attributes
initAttribute(sizeAtr, AbstractAttribute.ROOT); initAttribute(AttributeConstants.ATTRIBUTE_COORDINATES, null,
initAttribute(new BAttributeWidth(100), sizeAtr); AbstractAttribute.ROOT);
initAttribute(new BAttributeHeight(100), sizeAtr); initAttribute(AttributeConstants.ATTRIBUTE_X, 100,
AttributeConstants.ATTRIBUTE_COORDINATES);
initAttribute(AttributeConstants.ATTRIBUTE_Y, 100,
AttributeConstants.ATTRIBUTE_COORDINATES);
// BAttributeCoordinates coordinatesAtr = new
// BAttributeCoordinates(null);
// initAttribute(coordinatesAtr, AbstractAttribute.ROOT);
// initAttribute(new BAttributeX(100), coordinatesAtr);
// initAttribute(new BAttributeY(100), coordinatesAtr);
initAttribute(AttributeConstants.ATTRIBUTE_SIZE, null,
AbstractAttribute.ROOT);
initAttribute(AttributeConstants.ATTRIBUTE_WIDTH, 100,
AttributeConstants.ATTRIBUTE_SIZE);
initAttribute(AttributeConstants.ATTRIBUTE_HEIGHT, 100,
AttributeConstants.ATTRIBUTE_SIZE);
// BAttributeSize sizeAtr = new BAttributeSize(null);
// initAttribute(sizeAtr, AbstractAttribute.ROOT);
// initAttribute(new BAttributeWidth(100), sizeAtr);
// initAttribute(new BAttributeHeight(100), sizeAtr);
// Init visible and this attribute // Init visible and this attribute
initAttribute(new BAttributeVisible(true), AbstractAttribute.ROOT); initAttribute(AttributeConstants.ATTRIBUTE_VISIBLE, true,
initAttribute(new BAttributeCustom(""), AbstractAttribute.ROOT); AbstractAttribute.ROOT);
initAttribute(AttributeConstants.ATTRIBUTE_CUSTOM, 100,
// Init custom control attributes AbstractAttribute.ROOT);
initAttributes();
} }
...@@ -738,26 +767,103 @@ public abstract class BControl implements IAdaptable, Cloneable { ...@@ -738,26 +767,103 @@ public abstract class BControl implements IAdaptable, Cloneable {
public abstract String getType(); public abstract String getType();
protected void initAttribute(AbstractAttribute atr) { protected void initAttribute(String id, Object defaultValue) {
AbstractAttribute matr = getAttributes().get(atr.getID()); initAttribute(id, defaultValue, true, true,
if (matr != null) { AttributeConstants.ATTRIBUTE_MISC);
matr.setEditable(atr.isEditable()); }
matr.setGroup(atr.getGroup());
matr.setShow(atr.show()); protected void initAttribute(String id, Object defaultValue, String groupID) {
} else { initAttribute(id, defaultValue, true, true, groupID);
}
protected void initAttribute(String id, Object defaultValue,
boolean editable, boolean show) {
initAttribute(id, defaultValue, editable, show,
AttributeConstants.ATTRIBUTE_MISC);
}
protected void initAttribute(String id, Object defaultValue,
boolean editable, boolean show, String groupID) {
AbstractAttribute atr = getAttribute(id);
// If no attribute exists yet, create a new one and set the value
if (atr == null) {
atr = (AbstractAttribute) reflectiveGet(id);
if (atr != null) {
atr.setValue(defaultValue);
getAttributes().put(atr.getID(), atr); getAttributes().put(atr.getID(), atr);
} else {
return;
} }
} }
protected void initAttribute(AbstractAttribute atr, AbstractAttribute group) { if (!atr.isInitialized()) {
initAttribute(atr, group.getClass().getName()); atr.setDefaultValue(defaultValue);
atr.setGroup(groupID);
atr.setEditable(editable);
atr.setShow(show);
atr.setInitialized(true);
} }
protected void initAttribute(AbstractAttribute atr, String group) {
atr.setGroup(group);
initAttribute(atr);
} }
// protected void initAttribute(AbstractAttribute atr) {
// AbstractAttribute matr = getAttributes().get(atr.getID());
// if (matr != null) {
// matr.setEditable(atr.isEditable());
// matr.setGroup(atr.getGroup());
// matr.setShow(atr.show());
// matr.setDefaultValue(atr.getValue());
// } else {
// atr.setDefaultValue(atr.getValue());
// getAttributes().put(atr.getID(), atr);
// }
// }
private Object reflectiveGet(String className) {
Object newInstance = null;
try {
Class<?> forName = Class.forName(className);
newInstance = forName.newInstance();
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (InstantiationException e) {
e.printStackTrace();
} catch (IllegalAccessException e) {
e.printStackTrace();
}
return newInstance;
}
// protected void initAttribute(AbstractAttribute atr, AbstractAttribute
// group) {
// initAttribute(atr, group.getClass().getName());
// }
//
// protected void initAttribute(AbstractAttribute atr, String group) {
// atr.setGroup(group);
// initAttribute(atr);
// }
//
// protected void initAttribute(AbstractAttribute atr, boolean editable,
// boolean show) {
// atr.setEditable(editable);
// atr.setShow(show);
// initAttribute(atr);
// }
//
// protected void initAttribute(AbstractAttribute atr, boolean editable) {
// atr.setEditable(editable);
// initAttribute(atr);
// }
//
// protected void initAttribute(AbstractAttribute atr, String group,
// boolean editable) {
// atr.setEditable(editable);
// initAttribute(atr, group);
// }
public boolean canHaveChildren() { public boolean canHaveChildren() {
return false; return false;
} }
......
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
package de.bmotionstudio.gef.editor.model; package de.bmotionstudio.gef.editor.model;
import de.bmotionstudio.gef.editor.attribute.BAttributeImage; import de.bmotionstudio.gef.editor.AttributeConstants;
/** /**
* @author Lukas Ladenberger * @author Lukas Ladenberger
...@@ -27,7 +27,7 @@ public class BImage extends BControl { ...@@ -27,7 +27,7 @@ public class BImage extends BControl {
@Override @Override
protected void initAttributes() { protected void initAttributes() {
initAttribute(new BAttributeImage(null)); initAttribute(AttributeConstants.ATTRIBUTE_IMAGE, null);
} }
} }
...@@ -12,12 +12,6 @@ import org.eclipse.swt.graphics.RGB; ...@@ -12,12 +12,6 @@ import org.eclipse.swt.graphics.RGB;
import de.bmotionstudio.gef.editor.AttributeConstants; import de.bmotionstudio.gef.editor.AttributeConstants;
import de.bmotionstudio.gef.editor.ButtonGroupHelper; import de.bmotionstudio.gef.editor.ButtonGroupHelper;
import de.bmotionstudio.gef.editor.attribute.BAttributeButtonGroup;
import de.bmotionstudio.gef.editor.attribute.BAttributeChecked;
import de.bmotionstudio.gef.editor.attribute.BAttributeEnabled;
import de.bmotionstudio.gef.editor.attribute.BAttributeText;
import de.bmotionstudio.gef.editor.attribute.BAttributeTextColor;
import de.bmotionstudio.gef.editor.attribute.BAttributeValue;
/** /**
* @author Lukas Ladenberger * @author Lukas Ladenberger
...@@ -45,14 +39,14 @@ public class BRadioButton extends BControl { ...@@ -45,14 +39,14 @@ public class BRadioButton extends BControl {
@Override @Override
protected void initAttributes() { protected void initAttributes() {
initAttribute(new BAttributeText(DEFAULT_TEXT)); initAttribute(AttributeConstants.ATTRIBUTE_TEXT, DEFAULT_TEXT);
initAttribute(new BAttributeTextColor(new RGB(0, 0, 0))); initAttribute(AttributeConstants.ATTRIBUTE_TEXT_COLOR, new RGB(0, 0, 0));
initAttribute(new BAttributeChecked(true)); initAttribute(AttributeConstants.ATTRIBUTE_CHECKED, true);
initAttribute(new BAttributeValue("")); initAttribute(AttributeConstants.ATTRIBUTE_ENABLED, true);
initAttribute(new BAttributeButtonGroup("")); initAttribute(AttributeConstants.ATTRIBUTE_VALUE, "");
initAttribute(new BAttributeEnabled(true)); initAttribute(AttributeConstants.ATTRIBUTE_BUTTONGROUP, "");
getAttribute(AttributeConstants.ATTRIBUTE_HEIGHT).setValue(21); initAttribute(AttributeConstants.ATTRIBUTE_HEIGHT, 21, false, false,
getAttribute(AttributeConstants.ATTRIBUTE_HEIGHT).setEditable(false); AttributeConstants.ATTRIBUTE_SIZE);
} }
@Override @Override
......
...@@ -11,14 +11,9 @@ import org.eclipse.swt.graphics.RGB; ...@@ -11,14 +11,9 @@ import org.eclipse.swt.graphics.RGB;
import de.bmotionstudio.gef.editor.AttributeConstants; import de.bmotionstudio.gef.editor.AttributeConstants;
import de.bmotionstudio.gef.editor.BMotionStudioImage; import de.bmotionstudio.gef.editor.BMotionStudioImage;
import de.bmotionstudio.gef.editor.attribute.BAttributeAlpha;
import de.bmotionstudio.gef.editor.attribute.BAttributeBackgroundColor;
import de.bmotionstudio.gef.editor.attribute.BAttributeDirection; import de.bmotionstudio.gef.editor.attribute.BAttributeDirection;
import de.bmotionstudio.gef.editor.attribute.BAttributeFillType; import de.bmotionstudio.gef.editor.attribute.BAttributeFillType;
import de.bmotionstudio.gef.editor.attribute.BAttributeForegroundColor;
import de.bmotionstudio.gef.editor.attribute.BAttributeImage;
import de.bmotionstudio.gef.editor.attribute.BAttributeOrientation; import de.bmotionstudio.gef.editor.attribute.BAttributeOrientation;
import de.bmotionstudio.gef.editor.attribute.BAttributeOutlineAlpha;
import de.bmotionstudio.gef.editor.attribute.BAttributeShape; import de.bmotionstudio.gef.editor.attribute.BAttributeShape;
/** /**
...@@ -45,16 +40,21 @@ public class BShape extends BControl { ...@@ -45,16 +40,21 @@ public class BShape extends BControl {
@Override @Override
protected void initAttributes() { protected void initAttributes() {
initAttribute(new BAttributeBackgroundColor(new RGB(255, 0, 0))); initAttribute(AttributeConstants.ATTRIBUTE_BACKGROUND_COLOR, new RGB(
initAttribute(new BAttributeForegroundColor(new RGB(0, 0, 0))); 255, 0, 0));
initAttribute(new BAttributeImage(null)); initAttribute(AttributeConstants.ATTRIBUTE_FOREGROUND_COLOR, new RGB(0,
initAttribute(new BAttributeAlpha(255)); 0, 0));
initAttribute(new BAttributeOutlineAlpha(0)); initAttribute(AttributeConstants.ATTRIBUTE_IMAGE, null);
initAttribute(new BAttributeShape(BAttributeShape.SHAPE_RECTANGLE)); initAttribute(AttributeConstants.ATTRIBUTE_ALPHA, 255);
initAttribute(new BAttributeOrientation( initAttribute(AttributeConstants.ATTRIBUTE_OUTLINEALPHA, 0);
BAttributeOrientation.HORIZONTAL)); initAttribute(AttributeConstants.ATTRIBUTE_SHAPE,
initAttribute(new BAttributeDirection(BAttributeDirection.NORTH)); BAttributeShape.SHAPE_RECTANGLE);
initAttribute(new BAttributeFillType(BAttributeFillType.FILLED)); initAttribute(AttributeConstants.ATTRIBUTE_ORIENTATION,
BAttributeOrientation.HORIZONTAL);
initAttribute(AttributeConstants.ATTRIBUTE_DIRECTION,
BAttributeDirection.NORTH);
initAttribute(AttributeConstants.ATTRIBUTE_FILLTYPE,
BAttributeFillType.FILLED);
} }
@Override @Override
......
...@@ -4,9 +4,7 @@ import org.eclipse.draw2d.ColorConstants; ...@@ -4,9 +4,7 @@ import org.eclipse.draw2d.ColorConstants;
import org.eclipse.draw2d.geometry.Rectangle; import org.eclipse.draw2d.geometry.Rectangle;
import de.bmotionstudio.gef.editor.AttributeConstants; import de.bmotionstudio.gef.editor.AttributeConstants;
import de.bmotionstudio.gef.editor.attribute.BAttributeColumns; import de.bmotionstudio.gef.editor.attribute.AbstractAttribute;
import de.bmotionstudio.gef.editor.attribute.BAttributeForegroundColor;
import de.bmotionstudio.gef.editor.attribute.BAttributeRows;
import de.bmotionstudio.gef.editor.command.CreateCommand; import de.bmotionstudio.gef.editor.command.CreateCommand;
public class BTable extends BControl { public class BTable extends BControl {
...@@ -43,17 +41,16 @@ public class BTable extends BControl { ...@@ -43,17 +41,16 @@ public class BTable extends BControl {
@Override @Override
protected void initAttributes() { protected void initAttributes() {
initAttribute(new BAttributeForegroundColor( initAttribute(AttributeConstants.ATTRIBUTE_SIZE, null, false, false,
ColorConstants.black.getRGB())); AbstractAttribute.ROOT);
initAttribute(new BAttributeColumns(1)); initAttribute(AttributeConstants.ATTRIBUTE_WIDTH, 0, false, false,
initAttribute(new BAttributeRows(1)); AttributeConstants.ATTRIBUTE_SIZE);
getAttributes().get(AttributeConstants.ATTRIBUTE_SIZE).setShow(false); initAttribute(AttributeConstants.ATTRIBUTE_HEIGHT, 0, false, false,
getAttributes().get(AttributeConstants.ATTRIBUTE_COORDINATES).setShow( AttributeConstants.ATTRIBUTE_SIZE);
true); initAttribute(AttributeConstants.ATTRIBUTE_FOREGROUND_COLOR,
getAttributes().get(AttributeConstants.ATTRIBUTE_HEIGHT).setEditable( ColorConstants.black.getRGB());
false); initAttribute(AttributeConstants.ATTRIBUTE_COLUMNS, 1);
getAttributes().get(AttributeConstants.ATTRIBUTE_WIDTH).setEditable( initAttribute(AttributeConstants.ATTRIBUTE_ROWS, 1);
false);
} }
@Override @Override
......
...@@ -3,10 +3,6 @@ package de.bmotionstudio.gef.editor.model; ...@@ -3,10 +3,6 @@ package de.bmotionstudio.gef.editor.model;
import org.eclipse.draw2d.ColorConstants; import org.eclipse.draw2d.ColorConstants;
import de.bmotionstudio.gef.editor.AttributeConstants; import de.bmotionstudio.gef.editor.AttributeConstants;
import de.bmotionstudio.gef.editor.attribute.BAttributeBackgroundColor;
import de.bmotionstudio.gef.editor.attribute.BAttributeForegroundColor;
import de.bmotionstudio.gef.editor.attribute.BAttributeText;
import de.bmotionstudio.gef.editor.attribute.BAttributeTextColor;
public class BTableCell extends BControl { public class BTableCell extends BControl {
...@@ -18,25 +14,15 @@ public class BTableCell extends BControl { ...@@ -18,25 +14,15 @@ public class BTableCell extends BControl {
@Override @Override
protected void initAttributes() { protected void initAttributes() {
initAttribute(AttributeConstants.ATTRIBUTE_BACKGROUND_COLOR,
initAttribute(new BAttributeBackgroundColor( ColorConstants.white.getRGB());
ColorConstants.white.getRGB())); initAttribute(AttributeConstants.ATTRIBUTE_FOREGROUND_COLOR,
BAttributeForegroundColor bAttributeForegroundColor = new BAttributeForegroundColor( ColorConstants.black.getRGB(), true, false);
initAttribute(AttributeConstants.ATTRIBUTE_TEXT_COLOR,
ColorConstants.black.getRGB()); ColorConstants.black.getRGB());
bAttributeForegroundColor.setShow(false); initAttribute(AttributeConstants.ATTRIBUTE_TEXT, "");
initAttribute(bAttributeForegroundColor); initAttribute(AttributeConstants.ATTRIBUTE_HEIGHT, 20, false, false,
initAttribute(new BAttributeTextColor(ColorConstants.black.getRGB())); AttributeConstants.ATTRIBUTE_SIZE);
initAttribute(new BAttributeText(""));
setAttributeValue(AttributeConstants.ATTRIBUTE_HEIGHT, 20);
setAttributeValue(AttributeConstants.ATTRIBUTE_WIDTH, 50);
getAttributes().get(AttributeConstants.ATTRIBUTE_HEIGHT).setEditable(
false);
getAttributes().get(AttributeConstants.ATTRIBUTE_WIDTH).setEditable(
true);
getAttributes().get(AttributeConstants.ATTRIBUTE_HEIGHT).setShow(false);
getAttributes().get(AttributeConstants.ATTRIBUTE_COORDINATES).setShow(
false);
} }
@Override @Override
......
...@@ -3,7 +3,6 @@ package de.bmotionstudio.gef.editor.model; ...@@ -3,7 +3,6 @@ package de.bmotionstudio.gef.editor.model;
import org.eclipse.draw2d.ColorConstants; import org.eclipse.draw2d.ColorConstants;
import de.bmotionstudio.gef.editor.AttributeConstants; import de.bmotionstudio.gef.editor.AttributeConstants;
import de.bmotionstudio.gef.editor.attribute.BAttributeForegroundColor;
public class BTableColumn extends BControl { public class BTableColumn extends BControl {
...@@ -15,28 +14,10 @@ public class BTableColumn extends BControl { ...@@ -15,28 +14,10 @@ public class BTableColumn extends BControl {
@Override @Override
protected void initAttributes() { protected void initAttributes() {
initAttribute(AttributeConstants.ATTRIBUTE_FOREGROUND_COLOR,
// initAttribute(new BAttributeBackgroundColor( ColorConstants.black.getRGB(), true, false);
// ColorConstants.white.getRGB())); initAttribute(AttributeConstants.ATTRIBUTE_HEIGHT, 0, false, false,
BAttributeForegroundColor bAttributeForegroundColor = new BAttributeForegroundColor( AttributeConstants.ATTRIBUTE_SIZE);
ColorConstants.black.getRGB());
bAttributeForegroundColor.setShow(false);
initAttribute(bAttributeForegroundColor);
// initAttribute(new
// BAttributeTextColor(ColorConstants.black.getRGB()));
getAttributes().get(AttributeConstants.ATTRIBUTE_HEIGHT).setEditable(
false);
getAttributes().get(AttributeConstants.ATTRIBUTE_HEIGHT).setShow(false);
getAttributes().get(AttributeConstants.ATTRIBUTE_COORDINATES).setShow(
false);
// Background Color
// Font
// Foreground Color
// Width
// Height (not editable) --> determined by number of cells
} }
@Override @Override
......
...@@ -8,11 +8,7 @@ package de.bmotionstudio.gef.editor.model; ...@@ -8,11 +8,7 @@ package de.bmotionstudio.gef.editor.model;
import org.eclipse.swt.graphics.RGB; import org.eclipse.swt.graphics.RGB;
import de.bmotionstudio.gef.editor.attribute.BAttributeBackgroundColor; import de.bmotionstudio.gef.editor.AttributeConstants;
import de.bmotionstudio.gef.editor.attribute.BAttributeBackgroundVisible;
import de.bmotionstudio.gef.editor.attribute.BAttributeFont;
import de.bmotionstudio.gef.editor.attribute.BAttributeText;
import de.bmotionstudio.gef.editor.attribute.BAttributeTextColor;
/** /**
* @author Lukas Ladenberger * @author Lukas Ladenberger
...@@ -35,12 +31,13 @@ public class BText extends BControl { ...@@ -35,12 +31,13 @@ public class BText extends BControl {
@Override @Override
protected void initAttributes() { protected void initAttributes() {
initAttribute(new BAttributeText(DEFAULT_TEXT)); initAttribute(AttributeConstants.ATTRIBUTE_TEXT, DEFAULT_TEXT);
initAttribute(new BAttributeBackgroundColor(new RGB(255, 255, 255))); initAttribute(AttributeConstants.ATTRIBUTE_BACKGROUND_COLOR, new RGB(
initAttribute(new BAttributeTextColor(new RGB(0, 0, 0))); 255, 255, 255));
initAttribute(new BAttributeBackgroundVisible(true)); initAttribute(AttributeConstants.ATTRIBUTE_TEXT_COLOR, DEFAULT_TEXT);
initAttribute(new BAttributeFont( initAttribute(AttributeConstants.ATTRIBUTE_BACKGROUND_VISIBLE, true);
"1||9.75|0|WINDOWS|1|-13|0|0|0|400|0|0|0|0|0|0|0|0|")); initAttribute(AttributeConstants.ATTRIBUTE_FONT,
"1||9.75|0|WINDOWS|1|-13|0|0|0|400|0|0|0|0|0|0|0|0|");
} }
} }
...@@ -7,7 +7,6 @@ ...@@ -7,7 +7,6 @@
package de.bmotionstudio.gef.editor.model; package de.bmotionstudio.gef.editor.model;
import de.bmotionstudio.gef.editor.AttributeConstants; import de.bmotionstudio.gef.editor.AttributeConstants;
import de.bmotionstudio.gef.editor.attribute.BAttributeText;
/** /**
* @author Lukas Ladenberger * @author Lukas Ladenberger
...@@ -30,8 +29,9 @@ public class BTextfield extends BControl { ...@@ -30,8 +29,9 @@ public class BTextfield extends BControl {
@Override @Override
protected void initAttributes() { protected void initAttributes() {
initAttribute(new BAttributeText(DEFAULT_TEXT)); initAttribute(AttributeConstants.ATTRIBUTE_TEXT, DEFAULT_TEXT);
getAttribute(AttributeConstants.ATTRIBUTE_HEIGHT).setValue(21); initAttribute(AttributeConstants.ATTRIBUTE_HEIGHT, 21,
AttributeConstants.ATTRIBUTE_SIZE);
} }
@Override @Override
......
...@@ -23,11 +23,13 @@ public class TableObserver extends Observer { ...@@ -23,11 +23,13 @@ public class TableObserver extends Observer {
input = input.replaceAll("(\\{[^\\}]+),([^\\}]+\\})", "$1" input = input.replaceAll("(\\{[^\\}]+),([^\\}]+\\})", "$1"
+ tempReplacement + "$2"); + tempReplacement + "$2");
} }
String[] split = input.split(",");
List<String> output = new LinkedList<String>(); List<String> output = new LinkedList<String>();
if (input.length() > 0) {
String[] split = input.split(",");
for (String s : split) { for (String s : split) {
output.add(s.replaceAll(tempReplacement + "", ",").trim()); output.add(s.replaceAll(tempReplacement + "", ",").trim());
} }
}
return output; return output;
} }
...@@ -36,11 +38,13 @@ public class TableObserver extends Observer { ...@@ -36,11 +38,13 @@ public class TableObserver extends Observer {
input = input.replaceAll("(\\([^\\)]+)\\|->([^\\)]+\\))", "$1" input = input.replaceAll("(\\([^\\)]+)\\|->([^\\)]+\\))", "$1"
+ tempReplacement + "$2"); + tempReplacement + "$2");
} }
String[] split = input.split("\\|->");
List<String> output = new LinkedList<String>(); List<String> output = new LinkedList<String>();
if (input.length() > 0) {
String[] split = input.split("\\|->");
for (String s : split) { for (String s : split) {
output.add(s.replaceAll(tempReplacement + "", "\\|->").trim()); output.add(s.replaceAll(tempReplacement + "", "\\|->").trim());
} }
}
return output; return output;
} }
...@@ -58,6 +62,7 @@ public class TableObserver extends Observer { ...@@ -58,6 +62,7 @@ public class TableObserver extends Observer {
String fEval = BMSUtil.parseExpression(expression, control, String fEval = BMSUtil.parseExpression(expression, control,
animation); animation);
fEval = UnicodeTranslator.toAscii(fEval); fEval = UnicodeTranslator.toAscii(fEval);
fEval = fEval.replaceAll("^\\{", ""); fEval = fEval.replaceAll("^\\{", "");
fEval = fEval.replaceAll("\\}$", ""); fEval = fEval.replaceAll("\\}$", "");
...@@ -92,8 +97,10 @@ public class TableObserver extends Observer { ...@@ -92,8 +97,10 @@ public class TableObserver extends Observer {
// Set content and the correct number of columns // Set content and the correct number of columns
for (int i = numberOfOldRows; i < numberOfNewRows + numberOfOldRows; i++) { for (int i = numberOfOldRows; i < numberOfNewRows + numberOfOldRows; i++) {
String content = UnicodeTranslator.toAscii(rows.get(i String content = rows.get(i - numberOfOldRows);
- numberOfOldRows));
if (content != null && content.length() > 0)
content = UnicodeTranslator.toAscii(content);
content = content.replaceAll("^\\(", ""); content = content.replaceAll("^\\(", "");
content = content.replaceAll("\\)$", ""); content = content.replaceAll("\\)$", "");
......
...@@ -131,7 +131,8 @@ public class WizardTableObserver extends ObserverWizard { ...@@ -131,7 +131,8 @@ public class WizardTableObserver extends ObserverWizard {
} }
} }
final List list = new List(conRight, SWT.SINGLE | SWT.BORDER); final List list = new List(conRight, SWT.SINGLE | SWT.BORDER
| SWT.V_SCROLL);
list.setLayoutData(new GridData(GridData.FILL_BOTH)); list.setLayoutData(new GridData(GridData.FILL_BOTH));
list.setItems(relationList.toArray(new String[relationList.size()])); list.setItems(relationList.toArray(new String[relationList.size()]));
......
...@@ -138,6 +138,8 @@ public class BTablePart extends AppAbstractEditPart { ...@@ -138,6 +138,8 @@ public class BTablePart extends AppAbstractEditPart {
private void refreshRows(BControl column, int numberOfRows) { private void refreshRows(BControl column, int numberOfRows) {
System.out.println(numberOfRows);
Integer numberOfCurrentRows = column.getChildrenArray().size(); Integer numberOfCurrentRows = column.getChildrenArray().size();
if (numberOfRows < numberOfCurrentRows) { if (numberOfRows < numberOfCurrentRows) {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment